Advertisement
DrSartoriuss

Untitled

Aug 24th, 2023
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.52 KB | Software | 0 0
  1. #загружаем библиотеки
  2. from sklearn.ensemble import RandomForestClassifier
  3. from sklearn.model_selection import GridSearchCV
  4.  
  5. #инициализируем модель поиска
  6. model_1 = RandomForestClassifier()
  7. #задаем гиперпараметры
  8. parametrs = { 'n_estimators': range (10, 51, 10),
  9.               'max_depth': range (1,13, 2),
  10.               'min_samples_leaf': range (1,8),
  11.               'min_samples_split': range (2,10,2) }
  12.  
  13. #запускаем поиск и обучение
  14. grid = GridSearchCV(model_1, parametrs, cv=5)
  15. grid.fit(data_train_features, data_train_target)
  16. #сохраняем и выводим найденные гиперпараметры
  17. params = grid.best_params_
  18. params
  19.  
  20.  
  21. #инициализируем модель случайного леса с найденными автоматически гиперпараметрами
  22. model_1 = RandomForestClassifier(random_state=12345,
  23.                         max_depth = params['max_depth'],
  24.                                  min_samples_leaf = params['min_samples_leaf'],
  25.                                  min_samples_split = params['min_samples_split'],
  26.                                  n_estimators = params['n_estimators']
  27.                                 )
  28.  
  29. #обучаем модель на тренировочной выборке
  30. model_1.fit(data_train_features, data_train_target)
  31.  
  32. #предсказываем на тренировочной выборке
  33. train_predictions = model_1.predict(data_train_features)
  34. #рассчитываем accuracy на тренировочной выборке
  35. accuracy_train = accuracy_score(data_train_target, train_predictions)
  36.  
  37. #предсказываем на валидацинной выборке
  38. valid_predictions = model_1.predict(data_val_features)
  39. #рассчитываем accuracy на валидационной выборке
  40. accuracy_valid = accuracy_score(data_val_target, valid_predictions)
  41.  
  42. #предсказываем на тестовой выборке
  43. test_predictions = model_1.predict(data_test_features)
  44. #рассчитываем accuracy на тестовой выборке
  45. accuracy_test_forest = accuracy_score(data_test_target, test_predictions)
  46.  
  47. #сравниваем результаты
  48. print("Accuracy 'Случайного леса'")
  49. print("Тренировочная выборка:", accuracy_train)
  50. print("Валидационная выборка:", accuracy_valid)
  51. print("Тестовая выборка:", accuracy_test_forest)
Tags: ML
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement