Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #загружаем библиотеки
- from sklearn.ensemble import RandomForestClassifier
- from sklearn.model_selection import GridSearchCV
- #инициализируем модель поиска
- model_1 = RandomForestClassifier()
- #задаем гиперпараметры
- parametrs = { 'n_estimators': range (10, 51, 10),
- 'max_depth': range (1,13, 2),
- 'min_samples_leaf': range (1,8),
- 'min_samples_split': range (2,10,2) }
- #запускаем поиск и обучение
- grid = GridSearchCV(model_1, parametrs, cv=5)
- grid.fit(data_train_features, data_train_target)
- #сохраняем и выводим найденные гиперпараметры
- params = grid.best_params_
- params
- #инициализируем модель случайного леса с найденными автоматически гиперпараметрами
- model_1 = RandomForestClassifier(random_state=12345,
- max_depth = params['max_depth'],
- min_samples_leaf = params['min_samples_leaf'],
- min_samples_split = params['min_samples_split'],
- n_estimators = params['n_estimators']
- )
- #обучаем модель на тренировочной выборке
- model_1.fit(data_train_features, data_train_target)
- #предсказываем на тренировочной выборке
- train_predictions = model_1.predict(data_train_features)
- #рассчитываем accuracy на тренировочной выборке
- accuracy_train = accuracy_score(data_train_target, train_predictions)
- #предсказываем на валидацинной выборке
- valid_predictions = model_1.predict(data_val_features)
- #рассчитываем accuracy на валидационной выборке
- accuracy_valid = accuracy_score(data_val_target, valid_predictions)
- #предсказываем на тестовой выборке
- test_predictions = model_1.predict(data_test_features)
- #рассчитываем accuracy на тестовой выборке
- accuracy_test_forest = accuracy_score(data_test_target, test_predictions)
- #сравниваем результаты
- print("Accuracy 'Случайного леса'")
- print("Тренировочная выборка:", accuracy_train)
- print("Валидационная выборка:", accuracy_valid)
- print("Тестовая выборка:", accuracy_test_forest)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement