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
   182   183   184   185   186   187   188   189   190   191   192