2017-01-18 8 views
0

KNNとランダムフォレスト間の予測モデルの精度スコアを調べようとしていますが、 。私のコードは以下の通りです:ValueError:マルチラベルインジケータと連続マルチ出力のミックスを処理できません。精度_スコア()

Accuracy: 80.04% 

第二の方法:上記の精度のprint文があるの

from sklearn.neighbors import KNeighborsClassifier 
knn = KNeighborsClassifier() 
knn.fit(x_train,y_train) 
knn.predict(x_test) 
#Accuracy of prediction 
y_pred = knn.predict(x_test) 
#predictions = [round(value) for value in y_pred] 
from sklearn.metrics import accuracy_score 
accuracy = accuracy_score(y_test, y_pred) 
print("Accuracy: %.2f%%" % (accuracy * 100.0))  

出力

from sklearn.ensemble import RandomForestRegressor 
model = RandomForestRegressor(n_estimators=100, min_samples_leaf=10,  
random_state=1) 
model.fit(x_train, y_train) 
print(model.score) 
#Accuracy of prediction 
y_pred = model.predict(x_test) 
accuracy = accuracy_score(y_test, y_pred) 
print("Accuracy: %.2f%%" % (accuracy * 100.0)) 

はaccuracy_score機能は、以下にエラーが発生しますランダムフォレストの場合

accuracy = accuracy_score(y_test, y_pred) 
Traceback (most recent call last): 

File "<ipython-input-263-232dbb7449ea>", line 1, in <module> 
accuracy = accuracy_score(y_test, y_pred) 

File "C:\Anaconda3\lib\site-packages\sklearn\metrics\classification.py",  
line 172, in accuracy_score 
y_type, y_true, y_pred = _check_targets(y_true, y_pred) 

File "C:\Anaconda3\lib\site-packages\sklearn\metrics\classification.py", 
line 82, in _check_targets 
"".format(type_true, type_pred)) 
ValueError: Can't handle mix of multilabel-indicator and continuous- 
multioutput 

2番目の分類器RandomForestの場合、精度値がこの値のエラーを出すのはなぜですか? とValueError:マルチラベル・インジケータおよび連続マルチ出力accuracy_score(のミックスを扱うことはできません)

任意の提案は大歓迎です!

答えて

2

回帰は、連続する目標変数に対するものです。分類は、カテゴリの目標変数に対するものです。あなたは分類問題のためにRandomForestClassifierを使う必要があります。

+0

慎重に2つ読んだ場合は回帰を使用していません。分類技法が使用されています** KNNとRandomForestクラシファイア**質問は2番目の分類器の場合の精度スコアがなぜRandomForestこの値のエラーは何ですか? ** –

+0

あなたのコードは「from sklearn.ensemble import RandomForestRegressor」と言っています。これは回帰です。分類を行う場合は、「sklearn.ensemble import RandomForestClassifierから」と言ってください。 – simon

+0

クラシファイアに変更したらすぐに動作しますので、私はあなたの答えを受け入れます。 @サイモン –

関連する問題