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 devez vous connecter pour publier un commentaire.
L'exactitude de la classification des unités métriques. Vous ne pouvez pas l'utiliser avec une régression. Voir la documentation pour plus d'informations sur les différentes métriques.
clf.predict(X_test)
me donne de sortie différente de celle de l'original, comment suis-je censé utiliser? Cela m'a intrigué.Précision score est seulement pour les problèmes de classification. Pour les problèmes de régression, vous pouvez utiliser: R2 Score, EQM (Erreur Quadratique Moyenne), RMSE (Root Mean Squared Error).