J'ai un pd.DataFrame avec des variables explicatives: X et une autre trame avec des variables cibles y.python LDA scikit apprendre jette ValueError
type(X)
Out[1]: pandas.core.frame.DataFrame
X_num.shape
Out[2]: (1213, 3298)
et
type(y)
Out[3]: pandas.core.frame.DataFrame
y.shape
Out[4]: (1213, 8)
et je veux calculer un LDA en utilisant une seule colonne de y:
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
lda = LDA(n_components=2)
for col in y:
X_t = lda.fit(X.copy(), y[col].copy())
y a un nom de colonne
y[col].name
Out[5]: u'myvarname'
mais je toujours obtenir l'erreur
ValueError: Unknown label type: (array([ 0.001, 0.003 ...
J'ai essayé aussi
X_t = lda.fit(X.copy(), y[col].values.copy())
et a obtenu la même erreur.
Selon l'ajustement de l'aide exige que Y
Y : array-like of response, shape = [n_samples, n_targets]
Target vectors, where n_samples in the number of samples
and n_targets is the number of response variables.
quelqu'un une idée ce que je fait de mal?
génial, la conversion en chaîne l'a fait. Les valeurs y sont des catégories mais enregistrées comme des flottants, donc la classification est le bon outil. – horseshoe