Найти тему
ЦифроПроф

Подбор параметров модели

Фото из открытых источников
Фото из открытых источников

Для того, чтобы получить максимально высокое качество предсказания, нужно подобрать параметры, которые обеспечивают наилучший результат. Предлагается научить программу подбирать разные значения одного параметра — максимальной глубины, max_depth. Алгоритм должен:

  • перебрать значения от 1 до 5,
  • сохранить модель с лучшим значением метрики accuracy на тренировочном датасете.

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

df = pd.read_csv('/datasets/train_data.csv')
df.loc[df['last_price'] > 5650000, 'price_class'] = 1
df.loc[df['last_price'] <= 5650000, 'price_class'] = 0

features = df.drop(['last_price', 'price_class'], axis=1)
target = df['price_class']
best_model = None
best_result = 0

for depth in range(1, 6):
model = DecisionTreeClassifier(random_state=12345, max_depth=depth)
model.fit(features, target)
predictions = model.predict(features)
result = accuracy_score(target, predictions)
if result > best_result:
best_model = model
best_result = result

print("Accuracy лучшей модели:", best_result)