03 Model Training and Improvement#
Стъпки за лабораторно упражнение#
Portuguese bank dataset
Четене.
Обработка:
Разделяне на feature и target променливи.
Заменяне на класовете (анотациите) с 0 и 1.
Проверка, че размерите на групите са коректни.
Добавяне на индикаторни променливи за всички категориини колони.
Разделяне на обучителни и тестови множества.
Oбучение на първоначален алгоритъм (логистична регресия).
Оценка на модела с метрика accuracy.
Оценка на представянето на модела с друга, по-добра, метрика - f1 score.
Настройване на хипер параметрите на модела (grid search).
L1 vs L2 regularization#
Капацитет на модел = statistical power
възможността на една хипотеза да опише данните добре
в случая с модели - възможността модела да опише данните
модела има капацитет
целта на МЛ не е да опише наличните данни най-добре, а да опишем по-добре бъдещи данни
да обосновеш всяка стъпка
Регуляризация на модела#
Regularization#
Модел учи от данните ако с времето подобрява някаква метрика
контролна проба
## Bias Variance Tradeoff#
един модел има low/high bias/variance
variance = нестабилност; доколко хаотичен е модела
bias = грешка при предположенията, при висок bias се целим на грешно място
При d=6 данните (точките) са описани почти перфектно, със сигърно по-добре от d=2. Само че д=6 не може да предкаже, не описва нови точки.
Очакването каква да е формата на модела идва напр от бизнес съображения, но няма как да дойде от модела.
д=2 е най-добрата парабола през точките, но дали парабола е най-добрия модел?
over-fitting - твърде много го е грижа за данните, има голяма мощ (predictive power), описал е наблюдаваните данните перфектно, но не генерализира добре за нови данни
under-fitting = твърде слаб модел, не описва наблюденията достатъчно добре. Това може да идва от bias данните, модела, типа модел…. Всички тези причини се наричат заедно bias.
Under-fitting се разпознава сравнително лесно -> пробваме друг модел ИЛИ намаляваме бр наблюдения ИЛИ даваме му по-конкретна задача
## Регуляризация#
деф = да направим модела по-регулярен, по-малко хаотичен
Това са начини за “изглаждане” на моделиращата функция.
идея: намаляване на тегловните коеф. това води до значимостта на променливите на модела. евклидова норма или евклидово разстояние
Регуляризация - добавяне на единия от двата израза L1 или L2 към cost функцията
ако клас 1 >> клас 2, то клас1 е majority class
Колкото регуляризацията е по-голяма, ткокова по-гладка е фунцкията
анотация = клас
Тестване на Модели#
стратифицирана случайна извадка - популацията е разделена на категории
Ако една извадка не е случайно избрана, тя вероятно ще има някакво отклонение (изместване) sampling bias и данните може да не са представителни за генералната съвкупност
При разделяне на данните на трениращи модели и тестващи модела, двете групи трябва имат енаква пропорция на класовете (Output-ите), да са стратифицирани извадки.
## Метрики#
R^2 коеф на определеност
стандартната (default-ната) метрика за Лин Рег
добре е да е високо число
Модел, който винаги предсказва средното аритметично на всички изходи има R2 = 0
По-лош модел -> R2 < 0
precision е мярка за Класификация
residual - разликата между наблюдавано и предсказано = y_tilda - y
accuracy paradox = висока стойност на accuracy при силно небалансирани класове
F1-score = средно хармонично на precision and recall
защо “1” след F-а?
ROC - визуална техника за оценка класификация
ако кривата е под 0,0 1,1 линията означава че моделът обръща класовете - казва positive когато е negative
хипер параметър = настойка на модела
validation set / development set - част от данните, върху който итерираме модели с различни хипер параметри. Чак след като сме избрали най-подходящия модел, проверяваме с тестовите данни.