Python/Scikit-Learn - ne Peut pas gérer mélange de multiclasse et continue

Je suis en train de monter un SGDRegressor à mes données, puis de vérifier l'exactitude. Le montage fonctionne très bien, mais alors les prédictions ne sont pas dans le même type de données(?) comme l'objectif initial de données, et j'obtiens l'erreur

ValueError: Can't handle mix of multiclass and continuous

Lors de l'appel de print "Accuracy:", ms.accuracy_score(y_test,predictions).

Les données ressemble à ceci (à seulement 200 mille + lignes):

Product_id/Date/product_group1/Price/Net price/Purchase price/Hour/Quantity/product_group2
0   107 12/31/2012  10  300 236 220 10  1   108

Le code est comme suit:

from sklearn.preprocessing import StandardScaler
import numpy as np
from sklearn.linear_model import SGDRegressor
import numpy as np
from sklearn import metrics as ms

msk = np.random.rand(len(beers)) < 0.8

train = beers[msk]
test = beers[~msk]

X = train [['Price', 'Net price', 'Purchase price','Hour','Product_id','product_group2']]
y = train[['Quantity']]
y = y.as_matrix().ravel()

X_test = test [['Price', 'Net price', 'Purchase price','Hour','Product_id','product_group2']]
y_test = test[['Quantity']]
y_test = y_test.as_matrix().ravel()

clf = SGDRegressor(n_iter=2000)
clf.fit(X, y)
predictions = clf.predict(X_test)
print "Accuracy:", ms.accuracy_score(y_test,predictions)

Que dois-je faire différemment? Merci!!!!

  • Vous pouvez envisager de convertir les valeurs continues à discret en arrondissant les valeurs continues à l'entier le plus proche à l'aide de la fonction arrondi. Veuillez vous référer à cette link pour une question similaire a répondu par natbusa
InformationsquelleAutor lte__ | 2016-05-21