2017-01-19 7 views
2

私はブースト機械学習分類技術ランダムフォレスト&グラデーションを使用しています:とValueError:悪い入力形状は(37533、3)フィットでエラーを後押しグラデーション()メソッド

以下

を正常に動作ランダムフォレストのコードです:

from sklearn.ensemble import RandomForestClassifier 
model = RandomForestClassifier(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) 
#Mean Standard Error 
mean_squared_error(y_pred, y_test) 
model.score(x_test, y_test) 
Out[423]: 0.80038542832276516 

エラーを与える第二の分類器のグラデーション後押し:

from sklearn.ensemble import GradientBoostingClassifier #For Classification 
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, 
max_depth=1) 
clf.fit(x_train, y_train) 

これは、以下のエラーを与える場所です:次のように

clf.fit(x_train, y_train) 
Traceback (most recent call last): 

File "<ipython-input-425-9249b506d83f>", line 1, in <module> 
clf.fit(x_train, y_train) 

File "C:\Anaconda3\lib\site-packages\sklearn\ensemble\gradient_boosting.py", 
line 973, in fit 
X, y = check_X_y(X, y, accept_sparse=['csr', 'csc', 'coo'], dtype=DTYPE) 

File "C:\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 526, 
in check_X_y 
y = column_or_1d(y, warn=True) 

File "C:\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 562, 
in column_or_1d 
raise ValueError("bad input shape {0}".format(shape)) 

ValueError: bad input shape (37533, 3) 

データは次のとおりです。

print(x_train) 
     No Yes 
32912 1.0 0.0 
35665 1.0 0.0 
32436 1.0 0.0 
25885 1.0 0.0 
24896 1.0 0.0 
51734 1.0 0.0 
4235 1.0 0.0 
51171 1.0 0.0 
33221 0.0 1.0 

print(y_train) 
     Fatal Incident Non-Fatal 
32912 0.0  0.0  1.0 
35665 0.0  0.0  1.0 
32436 0.0  0.0  1.0 

あなたはグラデーションの問題は、それがエラーを与えるフィット()関数で後押しされているもの言うことができる: とValueError:悪い入力形状(37533を、 3)

答えて

1

ラベルを2進化せずに試してください。

関連する問題