Question

J'ai un dataframe de valeurs x et une avec les valeurs y dans ce que je pense être le format approprié. J'ai pris la fonction Y et je l'ai convertie en mannequins pour qu'il soit binaire et est des lignes par n fonctionnalités.

from sklearn.model_selection import train_test_split

X = df.drop('target',axis=1)
y = pd.get_dummies(df['target'], sparse=True, drop_first=True)

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=99, train_size=0.60

J'ai essayé de comprendre à quoi devraient ressembler les données à partir du Documentation Mais je n'ai pas beaucoup de chance.

J'ai d'abord essayé ce qui suit:

import skmultilearn.problem_transform import BinaryRelevance
from sklearn.naive_bayes import GaussianNB

classifier = BinaryRelevance(GaussianNB())
classifier.fit(X_train, y_train)

où les ensembles de train x, y sont des pandas dataframes. Il en résulte l'erreur suivante:

TypeError: no suppoerted conversion for types: (dytype('O'),)

Ensuite, je me suis converti en matrices:

X_train = X_train.asmatrix()
y_train = y_train.asmatrix()

J'ai reçu la même erreur. Puis j'ai essayé

X_train = np.matrix(X_train)
y_train = np.matrix(y_train)

Même erreur à nouveau. Existe-t-il un moyen facile d'aller de DataFrame au format approprié pour les modèles SkMultilearn?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top