Случайный лес предсказывает числа с плавающей запятой вместо двоичного - RandomizedSearchCV () не работает - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь запустить RandomizedSearchCV () с оценкой f1 для классификатора RandomForestRegressor.
Я получаю следующее ValueError: метрики классификации не могут обрабатывать сочетание двоичных и непрерывных целей. данные выглядят следующим образом, где состояние - это цель [True, False]: enter image description here

n_estimators = [int(x) for x in np.linspace(start = 200, stop = 2000, num = 10)]
max_features = ['auto', 'sqrt']
max_depth = [int(x) for x in np.linspace(10, 110, num = 11)]
max_depth.append(None)
min_samples_split = [2, 5, 10]
min_samples_leaf = [1, 2, 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}

rf = RandomForestRegressor(random_state = 42)
rf_random = RandomizedSearchCV(estimator = rf, param_distributions = random_grid, scoring = 'f1', 
            n_iter = 100, cv = 5, verbose=2, random_state=42, n_jobs = -1)
# Fit the random search model
rf_random.fit(X_train, y_train)

Кажется, что классификатор возвращает значения типа float в двоичном формате. Как я могу это исправить?

...