Суббота, 23 Сентября 2023
Начал курс по машин лернингу на кагле. Изучил до андерфиттинга и оверфитинга. Ссылка на курс. Кратко распишу что изучил
- Главные инстументы в машинном обучении это sklearn и pandas. Pandas позволяет работать с данными, что-то вроде екселя, а сайкит леарн это набор олгоритмов и методов для обработки данных
- По конвенции предикшн таргет называется y, например y = home_data.Price
- Features - это те данные которые используются для предсказания предикшн таргета. Например: features = ['Rooms', 'Bathrooms', 'Size']. По конвенции данные из фичерз колонок называю X. Пример X = home_data[features]
- Есть 4 стадии создания модели:
- Define: Определяем какая модель будет. Например DecisionTreeRegressor
- Fit: даем модели данные и даем ей обучиться на этих данных
- Predict: Применяем модель. Даем ей новые фичерс данные и она отдает нам предикшны, как y только для новых данных
- Evaluate: Оцениваем качество как модель справилась с предсказанием. Например применяя метрику mean_absolute_error
- Чтобы модель не схитрила просто запомнив все ответы в обучающих данных, проверять мы должны на данных которые она не видела. Для это используем train_test_split. Пример: train_X, val_X, train_y, val_y = train_test_split(X, y, random_state=0)
Пример кода на дефайн модели, ее фит и расчет средней обсолютной ошибки
from sklearn.metrics import mean_absolute_error
from sklearn.tree import DecisionTreeRegressor
def get_mae(max_leaf_nodes, train_X, val_X, train_y, val_y):
model = DecisionTreeRegressor(max_leaf_nodes=max_leaf_nodes, random_state=0)
model.fit(train_X, train_y)
preds_val = model.predict(val_X)
mae = mean_absolute_error(val_y, preds_val)
return(mae)