Page 187 - 6734
P. 187
X1 X2 X3
X1 11.700000 33.500000 35.726658
X2 33.500000 80.916667 85.864232
X3 35.726658 85.864232 91.151559
X1 X2 X3
X1 1.000000 0.961568 0.966195
X2 0.961568 1.000000 0.999796
X3 0.966195 0.999796 1.000000
scikit-learn – машинне навчання
Бібліотека scikit-learn (http://scikit-learn.org) містить зручні для
використання алгоритми машинного навчання з учителем (регресія,
класифікація) і без учителя (кластеризація, зменшення розмірності),
а також засоби для підготовки даних і вибору найкращої моделі
даних [3, 10, 14, 20, 35, 43, 44, 46]. У прикладі за допомогою scikit-
learn 0.19.1 розв’язується задача бінарної класифікації [41, 50].
Необхідно навчити класифікатор RandomForestClassifier [29]
розпізнавати класи y нових даних x1, x2. Для цього модель
навчається на даних для навчання. Тестові дані використовуються
для перевірки правильності роботи моделі на нових даних. Як
видно, ця модель правильно визначає класи 100% тестових даних.
Але така однократна процедура не є надійною. Для надійної
перевірки правильності в прикладі застосовується 3-х блокова
перехресна перевірка моделі. Вона виконується шляхом поділу усіх
даних на 3 частини (xy1, xy2, xy3). Далі для кожної частини функція
cross_val_score виконує навчання моделі і розрахунок
правильності на незадіяних для навчання частинах. Тепер середнє
значення правильності – 85 %.
Окремою проблемою є визначення оптимальних значень
параметрів моделі n_estimators і max_depth. Якщо кількість
їхніх варіантів не велика, то можна виконати цю програму для
різних значень і подивитись, у якому випадку правильність
найвища.
import numpy as np
186