データを前処理してモデルにフィットさせたのですが、forest.scoreで決定係数は出ますがmean_absolute_errorで最小二乗誤差を出力しようとすると以下のようなエラーが出てしまいます。前処理の部分は間違えていないはずなので、X_train_trainとy_train_trainの形だけ載せてあります。ググって色々調べてみたのですが分からなかったので答えを頂けると嬉しいです。よろしくお願いします。
##コードのエラー部分
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn.metrics import mean_absolute_error
from sklearn.ensemble import RandomForestRegressor
X_train_train,X_val,y_train_train,y_val = train_test_split(X_train,y_train, random_state=0)
forest = RandomForestRegressor(random_state=0)
forest.fit(X_train_train,y_train_train)
print(forest.score(X_train_train,y_train_train))
print(forest.score(X_val,y_val))
print(X_train_train.shape)
print(y_train_train.shape)
print(mean_squared_error(X_train_train,y_train_train))
print(mean_squared_error(X_val,y_val))
出力結果
0.9732320766133512
0.8534252808916523
(1095, 347)
(1095,)
エラー文
y_true and y_pred have different number of output (347!=1)
mean_squared_errorに対してのエラー文
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
hayato08120904
2019/04/21 05:04