#python #scikit-learn #classification #random-forest #grid-search
#python #scikit-learn #классификация #случайный лес #поиск по сетке
Вопрос:
Довольно просто… Я запускаю GridSearchCV со следующим кодом:
params = {'n_estimators':[10,20,50,100,200],
'max_features':['sqrt','log2',None],
'class_weight':['balanced', 'sub_balanced'],
'criterion':['gini','entropy'],
'oob_score':[True,False]}
estimator = RandomForestClassifier()
grid_rf_balanced = GridSearchCV(estimator, param_grid=params,scoring=scoring,cv=cv,verbose=1,n_jobs=-1, refit='avg_micro_precision', return_train_score=True)
grid_rf_balanced.fit(X, y, groups= clusters)
results_balanced = pd.DataFrame(grid_rf_balanced.cv_results_)
Здесь вы можете увидеть, что я имею в виду под значениями nan:
нажмите здесь для получения изображения, пожалуйста
Я в основном получаю результаты для «сбалансированных» весов, но абсолютно никаких результатов для «sub_balanced» (все они nan)
Есть идеи? Деталь: я работаю с многоклассовой классификацией.
Комментарии:
1. Не могли бы вы включить данные, которые вы используете?
2. @yuRa только что добавил его!
3. «sub_balanced» не является допустимым значением для
class_weights
… вы имели в виду использовать «balanced_subsample»?4. facepalm благодарит Бена…. напоминание самому себе: не пишите код в 3 часа ночи.