2016-10-14 9 views
1

私はPython上でxgboostを使い始めました。今日はチュートリアルに従っています:https://jessesw.com/XG-Boost/Python Xgboost GridSearchCVが死んで、修正する方法は?

私は自分のデータを使ってxgboostを試しましたが、gridsearchを使わなくてもうまく動作します。その後、チュートリアルに沿ってgridsearchを実行しましたが、動作しないように見えます。これは私のコードです:

cv_params = {'max_depth': [3, 5, 7], 'min_child_weight': [1, 3, 5]} 
ind_params = {'learning_rate': 0.1, 'n_estimators': 500, 'seed': 0, 
      'subsample': 0.8, 'colsample_bytree': 0.8, 
      'objective': 'reg:linear'} 

optimized_GBM = GridSearchCV(xgb.XGBClassifier(**ind_params), 
         cv_params, 
         cv=5, n_jobs=2, verbose=2) 

optimized_GBM.fit(train_x, train['label']) 

そして、私はこの出力ました:

Fitting 5 folds for each of 9 candidates, totalling 45 fits 
[CV] max_depth=3, min_child_weight=1................................  
//anaconda/bin/python.app: line 3: 906 Killed: 9  //anaconda/python.app/Contents/MacOS/python "[email protected]" 

何かアドバイスをいただければ幸いです!

+0

他のシステムで確認できますか? Pythonインタプリタがクラッシュするようです。 –

+0

@IbraimGanievは別のコンピュータで同じコードを実行しましたが、結果は同じ – snowneji

+0

解決済みです。これは回帰の問題であるため、XGBClassifier()の代わりにXGBRegressor()を使用することになっています。その前にRを使っていたので、Pythonの違いを理解できませんでした。 – snowneji

答えて

0

私の場合、理由はcolsample_by_treeにありました。フィーチャの総数が10未満だったときは0.1でした。

そして、ツリーがn個のサンプルと0のフィーチャを持つデータセットで学習しようとすると、失敗の理由がアサーションになりました。

関連する問題