2017-07-06 4 views
1

私は機械学習の少しをしようとしています。私は記事のエンゲージメント時間を予測しようとしています。次のように私は私のXデータセットを持っている:SciKit-Learn:ランダムフォレストを使用するときのJoblibException

_text_word_length _title_char_length _title_word_length _text_char_length 
0 1306    53     7     8056  
1 1075    62     11     6127 

と私の目標Y値がちょうど婚約時刻を表す浮いています。

私は次のようにSciKit-学ん使用

from sklearn.ensemble import RandomForestRegressor 
from sklearn.model_selection import cross_val_score, KFold 
import numpy as np 
clf = RandomForestRegressor(n_jobs=-1, n_estimators=250, max_features = 0.8, verbose = 2) 
score = cross_val_score(estimator = clf, X = X1, y = Y1, cv = KFold(n_splits = 5, random_state = 100), n_jobs = -1, \ 
         scoring = "neg_mean_squared_error") 
np.mean([np.sqrt(-x) for x in score]) 

私は冗長モードを使用しているので、ランダムフォレストのすべての木を出力します。それはほとんどすべての木のを通じて取得し、私はこれを取得:

JoblibException: JoblibException 
___________________________________________________________________________ 
Multiprocessing exception: 

は次に、テキストのトンがあります(ここでそれを再現することができますが、要求に応じません)。私は私が間違ってやっているかわからないんだので、非常に類似したコードは昨日働いていたので、私は完全に失われてい

ValueError: I/O operation on closed file 

:非常に終わり、私はこれを参照してください。

アイデア?

ありがとうございます!

答えて

2

あなたは次のようなものを試すことができますか?だからの名前が == 'main'の場合は、すべてのコードを適切な字下げで置きます。

from sklearn.ensemble import RandomForestRegressor 
from sklearn.model_selection import cross_val_score, KFold 
import numpy as np 

if __name__ =='main': 

    clf = RandomForestRegressor(n_estimators=250, max_features = 0.8, verbose = 2) 
    score = cross_val_score(estimator = clf, X = X1, y = Y1, cv = KFold(n_splits = 5, random_state = 100), n_jobs = -1,scoring = "neg_mean_squared_error") 
    np.mean([np.sqrt(-x) for x in score]) 

得点前cross_val_scoreで 1)= ..コマとしないスライス(/)

2が存在するように注意してください)は、一度だけ使用= n_jobs -1内部cross_val_score

関連する問題