Untitled
unknown
plain_text
3 years ago
2.6 kB
21
Indexable
%%time best_result = 0 best_model_forest = None for depth in range(1, 100): model = RandomForestClassifier(n_estimators=20, max_depth=depth, random_state=42) model.fit(features_upsampled, target_upsampled) predicted_valid = model.predict(features_valid) # получаем предсказания модели result_f1 = f1_score(target_valid, predicted_valid) #result = model.score(features_valid, target_valid) #print(result) print(result_f1) #print(depth) if result_f1 > best_result: best_model_forest = model # сохраняем наилучшую модель best_result = result_f1 # сохраняем наилучшее значение метрики accuracy на валидационных данных #best_est = est #best_crit_val = crit_val best_depth = depth # Посчитаем F1 print("F1 наилучшей модели на валидационной выборке:", best_result, "\nЛучшая глубина:", best_depth) %%time best_model_forest = None best_result = 0 criterion = ['gini', 'entropy'] # Выберем число деревьев 20 for est in range(1, 100): for crit_val in criterion: model = RandomForestClassifier(max_depth=71, random_state=42, n_estimators=est, criterion=crit_val) # обучаем модель с заданным количеством деревьев model.fit(features_train, target_train) # обучаем модель на тренировочной выборке #result = model.score(features_valid, target_valid) # считаем качество модели на валидационной выборке #print("Accuracy:", result, "\nЧисло деревьев:", est, "\nКритерий:", crit_val) predicted_valid = model.predict(features_valid) # получаем предсказания модели result_f1 = f1_score(target_valid, predicted_valid) print(result_f1) if result_f1 > best_result: best_model_forest = model # сохраняем наилучшую модель best_result = result_f1 # сохраняем наилучшее значение метрики accuracy на валидационных данных best_est = est best_crit_val = crit_val # Посчитаем F1 print("F1 наилучшей модели на валидационной выборке:", best_result, "\nЛучшее чсило деревьев:", best_est, "\nЛучший критерий:", best_crit_val)
Editor is loading...