前提・実現したいこと
RandomForestRegressorでグリッドサーチを行いたいです。
試しに決定木の数を変えてみようとしているのですが上手くいきません。
まだ勉強したての初心者で、簡単なところを間違えているのかもしれませんが
よろしくお願い致します。
発生している問題・エラーメッセージ
グリッドサーチを使わずにrfr.fitについては、エラーが起こらないのですが
グリッドサーチを使ってclf.fitを行うと、下記エラーメッセージが出ます。
ValueError Traceback (most recent call last)
<ipython-input-17-b1aac07f54dd> in <module>
35 params = {'n_estimators' : [3, 10, 100, 1000], 'n_jobs': [-1]}
36 clf = GridSearchCV(rfr, params, cv = 10, scoring='accuracy', n_jobs =-1)
---> 37 clf.fit(X_train, y_train)
38
39 print('Test set score: {}'.format(cv.score(X_test, y_test)))
ValueError: continuous is not supported
該当のソースコード
%matplotlib inline
import pandas as pd
from sklearn.ensemble import RandomForestRegressor as RFR
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
learning_data = pd.read_csv('learning_3.csv', sep=",", encoding="shift-jis")
X = learning_data.iloc[:, 1:20]
y = learning_data.iloc[:, 0]
(X_train, X_test, y_train, y_test) = train_test_split(X, y, test_size = 0.1, random_state = 0)
rfr = RFR(n_estimators=100, random_state=0, n_jobs=-1)
rfr.fit(X_train, y_train)
print(rfr)
#グリッドサーチ
from sklearn.model_selection import GridSearchCV
params = {'n_estimators' : [3, 10, 100, 1000], 'n_jobs': [-1]}
clf = GridSearchCV(rfr, params, cv = 10, scoring='accuracy', n_jobs =-1)
clf.fit(X_train, y_train)
print('Test set score: {}'.format(cv.score(X_test, y_test)))
print('Best parameters: {}'.format(cv.best_params_))
print('Best cross-validation: {}'.format(cv.best_score_))
回答1件
あなたの回答
tips
プレビュー