J'essaye de lancer le code suivant. Btw, je suis nouveau à la fois 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
Je reçois ce qui suit:
Fichier "C:\Anaconda3\lib\site-packages\sklearn\modèle_linéaire\logistic.py", ligne> 1174, en bon état check_classification_targets (y)
Le fichier "C:\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py", ligne 172,> dans check_classification_targets soulève ValueError ("Type d'étiquette inconnu:% r"% y_type).
ValueError: type d'étiquette inconnu: 'inconnu'
de la documentation de sklearn: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit
y: comme un tableau, forme (n_samples,) Valeurs cibles (étiquettes de classe dans la classification, nombres réels dans la régression)
Quelle est mon erreur?
upd:
y est un tableau ([0.0, 1.0, 1.0, ..., 0.0, 1.0, 0.0], dtype = object) taille est (891,)
Votre y
est de type object
, de sorte que Sklearn ne peut pas reconnaître son type. Ajoutez la ligne y=y.astype('int')
juste après la ligne y = train[:, 1]
.