Uploaded by mari160890

Модуль 4. машинное обучение

advertisement
Модуль 4. Альбрандт М.Д.
Данная работа выполнялась на выборке данных используемой во 2 модуле.
Описание набора:
Набор данных, показывающий отток клиентов банка за последние 6 месяцев.
Ключевым показателем является Exited, где 1- клиент расторг договор с банком, 0
- клиент продолжает пользоваться услугами банка.
Информация об атрибутах:
RowNumber - порядковый номер записи;
CustomerId - уникальный идентификатор клиента банка;
Surname - Фамилия клиента;
CreditScore - кредитный рейтинг клиента;
Geography - страна проживания клиента;
Gender - пол;
Age - возраст клиента;
Tenure - период пользования услугами банка, в годах;
Balance - остаток средств на счете клиента;
NumOfProducts - количество используемых банковских продуктов;
HasCrCard - наличие кредитной карты, бинарный признак (1- наличение, 0 отсутствие)
IsActiveMember - активность клиента банка, бинрный признак (1 - активный, 0 пасивный)
EstimatedSalary - средний доход клиента;
Exited - ключивой показатель оттока клиенток, бинарный признак (1- клиент
разорвал договор, 0- клиент продолжает сотрудничество).
В результате первичного анализа во 2 модуле была произведена очистка набора
данных от пустых строк и дубликатов, также удалены не влияющие на
результативный признак атрибуты:
1. Признак RowNumber - не является значимым для анализа, т.к. порядковый
номер записи не может повлиять на отток клиентов и был удален;
2. Признак CustomerId не является значимым для анализа, т.к. уникальный
идентификатор не может повлиять на отток клиентов и был удален;
3. По признаку Surname имеется максимальное число уникальных значений, при
этом прямого влияния на результирующий показатель он иметь не может. Данный
столбец был удален без потери качества данных для анализа.
Balance - остаток средств на счете клиента- показатель переведен в бинарное
представление (1- есть остаток, 0 - нет остатка).
1. Azure Machine Learning Studio.
1.1. В Azure ML Studio (classic) создаём, обучаем 3 модели машинного
обучения: Two-Class Logistic Regression, Two-Class Decision Forest,
Two-Class Boosted Decision Tree.
1.2.
Проведем оценку моделей.
Two-Class Logistic Regression
Two-Class Decision Forest
Two-Class Boosted Decision Tree.
AUC
Accuracy
Recall
Precision
F1 Score
Log Loss
Two-Class Logistic
Regression
1 этап
2 этап
0.788
0.824
0.287
0.632
0.395
0.408
Two-Class Decision
Forest
1 этап
2 этап
0.810
0.842
0.437
0.658
0.525
1.147
Two-Class Boosted
Decision Tree
1 этап
2 этап
0.848
0.843
0.574
0.614
0.593
0.467
По результатам первого эксперимента хорошие метрики качества показали
модели Two-Class Logistic Regression и Two-Class Boosted Decision Tree.
Для модели Two-Class Decision Forest показатель Log Loss значительно выше, чем
у двух других моделей, при промежуточном значении показателя AUC.
В указанном выше эксперименте были использованы все признаки. Однако в
результате дополнительного анализа, проведенного в 3 модуле выявлено, что
показателями Tenure, HasCrCard, EstimatedSalary при дальнейшем анализе и
построении моделей можно пренебречь, т.к. они либо не информативны, либо не
оказывают прямого влияния на показатель оттока. Так же по результатам
обучения и оценки моделей, проведенном в 3 блоке выявлено, что наименьший
вес представляет показатель CreditScore, поэтому его тоже исключим из выборки
при построении новых моделей.
1.3. Запустим эксперимент повторно, удалив указанные признаки, и
сравним модели по метрикам качества.
Two-Class Logistic Regression
Two-Class Decision Forest
Two-Class Boosted Decision Tree
AUC
Accuracy
Recall
Precision
F1 Score
Log Loss
Two-Class Logistic
Regression
1 этап
2 этап
0.788
0.788
0.824
0.824
0.287
0.283
0.632
0.636
0.395
0.392
0.408
0.407
Two-Class Decision
Forest
1 этап
2 этап
0.810
0.794
0.842
0.837
0.437
0.493
0.658
0.615
0.525
0.547
1.147
1.454
Two-Class Boosted
Decision Tree
1 этап
2 этап
0.848
0,850
0.843
0,856
0.574
0,502
0.614
0,695
0.593
0,583
0.467
0.356
По результатам второго эксперимента лучшие метрики качества показала модель
Two-Class Boosted Decision Tree.
После исключения показателей Tenure, HasCrCard, EstimatedSalary, CreditScore,
из выборки для построения моделей можно заметить следующее:
- для модели Two-Class Logistic Regression метрики качества значительно не
изменились;
- для модели Two-Class Decision Forest метрики качества ухудшились,
уменьшился показатель AUC при увеличении показателя Log Loss.
Следовательно, в исключённых показателях был признак весомый для данной
модели.
- для модели Two-Class Boosted Decision Tree метрики качества произошло
незначительное улучшение метрик качества.
1.4. Далее наилучшую модель в Azure ML Studio (classic) – Two-Class
Boosted Decision Tree – разворачиваем в качестве веб-службы и публикуем
эксперимент в галерее.
https://gallery.cortanaintelligence.com/Experiment/4-Predictive-Exp-6
2. RapidMiner Studio.
2.1. В RapidMiner Studio загрузим выборку данных для обучения и оценки
нескольких моделей машинного обучения. Для оценки данных и
построения моделей будут применены технологии Turbo Prep и Auto
Model.
2.2.
С помощью Turbo Prep проводим удаление столбца с индексами, т.к.
он не является информативным при построении модели и столбцы
Balance, NumOfProducts ,HasCrCard, IsActiveMember, Exited переведем
в категориальный тип.
С помощью Auto Model делаем соотвествующие настройки для
построения моделей:
- Определяем результативный показатель;
2.3.
- Оцениваем данные по целевому показателю, в выборке имеется дисбаланс
данных. (об этом указывалось в анализе данных 2 и 3 модуля).
- Оцениваем входные данные и выбираем признаки, которые будем использовать
для обучения моделей. В результате дополнительного анализа, проведенного в 3
модуле было выявлено, что показателями Tenure, HasCrCard, EstimatedSalary при
дальнейшем анализе и построении моделей можно пренебречь, т.к. они либо не
информативны, либо не оказывают прямого влияния на показатель оттока. Так же
по результатам обучения и оценки моделей, проведенном в 3 блоке выявлено, что
наименьший вес представляет показатель CreditScore, поэтому им тоже можно
пренебречь.
Такие же результаты показала автоматическая оценка входных данных в
RapidMiner Studio, корреляция указанных атрибутов с результирующим
показателем ниже 0,1%, поэтому данные атрибуты будут исключены из
построения моделей.
- Определяем модели, которые будем обучать в рамках данной работы:
2.4.
Следующим шагом следует провести оценку результатов обучения
моделей. Выбор лучшей модели будет производится по показателям
AUC и Classification error - лучшая модель – Gradient Boosted Trees.
2.5. Рассмотрим данные лучшей модели - Gradient Boosted Trees:
В модели порядка 15 деревьев решений
Увеличенный масштаб части первой картинки модели:
Рассмотрим влияние атрибутов при построении модели:
Наибольшим весом в данной модели обладают показатели NumOfProducts и
IsActiveMember.
Рассмотрим остальные метрики модели, они также показывают хороший
результат.
Так же можем рассмотреть результаты прогнозирования данной модели.
При необходимости их можно экспортировать для дальнейшего анализа в
сторонние ПО.
Сумма по полю
строка
Названия строк
0
1
Общий итог
Названия столбцов
0
1
2941
460
3401
Общий
итог
91
3032
296
756
387
3788
Прогнозная модель:
3. Knime Analytics Platform
3.1. В Knaim создаём, обучаем 4 модели машинного обучения: Logistic
Regression, Gradient Boosted Trees, Decision Tree, Random Forests.
Для определения результирующего столбца, как объекта для классификации
переводим его в категориальный тип.
Передадим для обучения моделей весь массив данных.
3.2.
Проведем оценку моделей.
Logistic Regression.
Gradient Boosted Trees.
Decision Tree.
Random Forests.
По результатам первого эксперимента хорошие метрики качества показали
модели Random Forests и Gradient Boosted Trees.
В указанном выше эксперименте были использованы все признаки. Однако в
результате дополнительного анализа, проведенного в 3 модуле выявлено, что
показателями Tenure, HasCrCard, EstimatedSalary при дальнейшем анализе и
построении моделей можно пренебречь, т.к. они либо не информативны, либо не
оказывают прямого влияния на показатель оттока. Так же по результатам
обучения и оценки моделей, проведенном в 3 блоке выявлено, что наименьший
вес представляет показатель CreditScore, поэтому его тоже исключим из выборки
при построении новых моделей.
3.3. Запустим эксперимент повторно, удалив указанные признаки и
переведя столбцы Balance, NumOfProducts ,HasCrCard, IsActiveMember в
категориальный тип.
Сравним модели по метрикам качества.
Logistic Regression.
Gradient Boosted Trees.
Decision Tree.
Random Forests.
По результатам второго эксперимента лучшие метрики качества показала модель
Random Forests, при этом заметно что метрики качества всех моделей стали
лучше.
По итогам проведенных экспериментов можно заметить, что лучшие результаты
при обучении в задаче бинарной классификации показывали методы, основанные
на деревьях решений.
Download