ランダムフォレストをグリッドサーチを使って最適化しようとしています。
素人考えでは下記のように3通りの決定木の個数を指定してやれば、グリッドサーチを使わない場合と比べて3倍の時間がかかる思っていましたが、結果的に12倍掛かっていますが、グリッドサーチは内部でどういう動きをしているのですか?[i for i in range(10,50,10)]に変更すると30倍程掛かります。サーチするパラメータを一つ増やせば指数的に計算時間がかかります。計算時間を少なくする裏技みたいなものはないでしょうか?(第4世代Corei5/No GPU)
Python
1from sklearn.ensemble import RandomForestClassifier 2from sklearn.model_selection import GridSearchCV 3import numpy as np 4import datetime 5d1 = datetime.datetime.now() 6 7clf = RandomForestClassifier(random_state=0) 8params = { 9 "n_estimators":[i for i in range(10,30,10)], 10 # 決定木の個数 default:100 11} 12cv = GridSearchCV(clf, params, cv = 10, n_jobs =-1) 13cv.fit(x_train, t_train) 14pred = cv.predict(x_test) 15 16print("テストデータへの一致率:",np.sum(pred==t_test)/len(t_test)) 17d2 = datetime.datetime.now() 18print(d2-d1)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/20 15:29