Викиди та масштабування даних

Практика співбесід з Machine Learning у Python

Lisa Stuart

Data Scientist

Викиди

  • Одна чи кілька спостережень, що помітно віддалені від решти у певній ознаці.

Викиди даних

1 https://bolt.mph.ufl.edu/6050-6052/unit-1/one-quantitative-variable-introduction/understanding-outliers/
Практика співбесід з Machine Learning у Python

Міжквартильний розмах (IQR)

IQR даних

1 By Jhguch at en.wikipedia, CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=14524285
Практика співбесід з Machine Learning у Python

Лінія найкращого наближення

Лінійна модель: апроксимація

1 https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/
Практика співбесід з Machine Learning у Python

Функції для викидів

Функція повертає
sns.boxplot(x= , y='Loan Status') коробкову діаграму з урахуванням цільової змінної
sns.distplot() гістограму та оцінку ядерної щільності (kde)
np.abs() абсолютне значення
stats.zscore() обчислений z-score
mstats.winsorize(limits=[0.05, 0.05]) обтинання викидів знизу й зверху
np.where(condition, true, false) замінені значення
Практика співбесід з Machine Learning у Python

Висока vs низька дисперсія

Дисперсія

1 https://machinelearningmastery.com/a-gentle-introduction-to-calculating-normal-summary-statistics/
Практика співбесід з Machine Learning у Python

Стандартизація vs нормалізація

  • Стандартизація:
    • Стандартизація за z-score
    • Масштабує до середнього 0 та sd 1

Формула z-score стандартизації

  • Нормалізація:
    • Масштабування min/max
    • Масштабує до інтервалу (0, 1)

Формула min-max масштабування

1 https://medium.com/@rrfd/standardize-or-normalize-examples-in-python-e3f174b65dfc
Практика співбесід з Machine Learning у Python

Функції масштабування

  • scikit-learn.preprocessing.StandardScaler() --> (mean=0, sd=1)
  • sklearn.preprocessing.MinMaxScaler() --> (0,1)
Практика співбесід з Machine Learning у Python

Викиди та масштабування

Як визначати та коректно обробляти викиди? Який ефект мають min/max і z-score стандартизації на дані? Виберіть твердження, яке є правдивим:

  • Викид — це точка, що лише трохи виходить за межі схожих точок ознаки.
  • У певному контексті аномальні викиди корисні для побудови прогностичної ML‑моделі.
  • Масштабування mix/max надає даним середнє 0, SD 1 і збільшує дисперсію.
  • Стандартизація za z-score масштабує дані до (0,1) і поліпшує підгонку моделі.
Практика співбесід з Machine Learning у Python

Викиди та масштабування: відповідь

Як визначати та коректно обробляти викиди? Який ефект мають min/max і z-score стандартизації на дані? Правильна відповідь:

  • У певному контексті аномальні викиди корисні для побудови прогностичної ML‑моделі. (Аномалії типові для виявлення шахрайства, кіберінцидентів та інших завдань, де їх і шукають.)
Практика співбесід з Machine Learning у Python

Викиди та масштабування: неправильні відповіді

Як визначати та коректно обробляти викиди? Який ефект мають min/max і z-score стандартизації на дані?

  • Викид лише трохи виходить за межі схожих точок ознаки. (Точку підозрюють на викид, коли вона більш як у 1,5 раза за межами IQR.)
  • Масштабування mix/max надає даним середнє 0, SD 1 і збільшує дисперсію. (Min/max масштабує до інтервалу (0,1); чи зросте дисперсія, залежить від вихідних даних.)
  • Стандартизація за z-score масштабує дані до (0,1) і поліпшує підгонку. (Z-score робить середнє 0 та sd 1, що може поліпшити підгонку.)
Практика співбесід з Machine Learning у Python

Наостанок…

Кроки препроцесингу

Практика співбесід з Machine Learning у Python

Давайте потренуємось!

Практика співбесід з Machine Learning у Python

Preparing Video For Download...