Я начинаю разработку модели с использованием RandomForestClasifier. Я использовал GridSearchCV с scroing = 'recall', чтобы найти наилучшие параметры, подходящие для модели.
Я знаю, что в данный момент модель не будет работать хорошо. Но меня смущает, почему с использованием параметров GridSearch стало хуже по сравнению с базовой моделью. Я также попробовал RandomzizedSearchCV с тем же поведением.
=== Base Model ===
=== Confusion Matrix ===
[[11181 305]
[ 2289 139]]
=== Random Model ===
=== Confusion Matrix ===
[[11485 1]
[ 2426 2]]
Я не ожидал, что мой истинный положительный результат превратится в 0 после оценки за отзыв.
n_estimators = [int(x) for x in np.linspace(start = 100, stop = 1000, num = 10)]
max_features = ['auto', 'sqrt']
max_depth = [int(x) for x in np.linspace(10, 20, num = 5)]
max_depth.append(None)
min_samples_split = [2, 5, 10]
min_samples_leaf = [int(x) for x in np.linspace(10, 100, num = 4)]
bootstrap = [True, False]
random_grid = {'n_estimators': n_estimators,
'max_features': max_features,
'max_depth': max_depth,
'min_samples_split': min_samples_split,
'min_samples_leaf': min_samples_leaf,
#'bootstrap': bootstrap }
rfo_random = GridSearchCV(RandomForestClassifier(), random_grid,scoring='recall',n_jobs = -1,verbose=5)
rfo_random.best_params_ говорит мне:
Out[144]:
{'max_depth': 17,
'max_features': 'sqrt',
'min_samples_leaf': 10,
'min_samples_split': 5,
'n_estimators': 100}
Что-то не так с моим кодом? Я надеюсь, что кто-то может мне помочь.
Счастливые выходные
Кристоф