ValueError: Inconnu type d'étiquette: "inconnu"
J'essaie d'exécuter le code suivant. Btw, je suis nouveau sur le python et sklearn.
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
# data import and preparation
trainData = pd.read_csv('train.csv')
train = trainData.values
testData = pd.read_csv('test.csv')
test = testData.values
X = np.c_[train[:, 0], train[:, 2], train[:, 6:7], train[:, 9]]
X = np.nan_to_num(X)
y = train[:, 1]
Xtest = np.c_[test[:, 0:1], test[:, 5:6], test[:, 8]]
Xtest = np.nan_to_num(Xtest)
# model
lr = LogisticRegression()
lr.fit(X, y)
où y est un np.ndarray de 0 et de 1
J'ai le message suivant:
Fichier "C:\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py", la ligne >1174, dans l'ajustement
check_classification_targets(y)Fichier "C:\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py", la ligne 172, >dans check_classification_targets
raise ValueError("Unknown type d'étiquette: %r" % y_type)ValueError: Inconnu type d'étiquette: "inconnu"
de sklearn documentation: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit
y : semblable au tableau, la forme (n_samples,)
Les valeurs cibles (étiquettes de classe dans la classification, les nombres réels dans la régression)
Quel est mon erreur?
upd:
y est la matrice de([0.0, 1.0, 1.0, ..., 0.0, 1.0, 0.0], dtype=objet) taille (891,)
Cette erreur survient si
scikit-learn
n'est pas en mesure de dire quel type de problème que vous souhaitez résoudre (en regardant la y
de données, il sera de retour binaire, multiclasse, continue, etc) .Plus précisément, ce type de données est dans votre y
? Le poster ici, ou comme @Quickbeam2k1 dit, il serait plus utile si les échantillons de données complètes sont affichées.OriginalL'auteur Ivan Zhovannik | 2017-07-27
Vous devez vous connecter pour publier un commentaire.
Votre
y
est de typeobject
, donc sklearn ne peut pas reconnaître son type. Ajoutez la ligney=y.astype('int')
droite après la ligney = train[:, 1]
.Vous êtes les bienvenus 🙂
Je reçois ce message d'erreur si j'essaie de le faire.........
TypeError: int() argument must be a string, a bytes-like object or a number, not 'numpy.ufunc'
vous êtes un épargnant de vie!
OriginalL'auteur Miriam Farber