Разработка методики применения методов машинного обучения для решения маркетинговых задач в телекоммуникационном бизнесе

Алгоритмы для решения задачи бинарной классификации. Подготовка данных для создания модели. Разработка предиктивной модели для прогнозирования возможности продажи дополнительных услуг телекоммуникационного оператора с целью решения маркетинговых задач.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.08.2018
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

· AC_REASON_DEACT_INET (Группа Деактивация) - Причина деактивации услуги Интернет;

· AC_REASON_DEACT_KTV (Группа Деактивация) - Причина деактивации услуги КТВ;

· AC_REASON_DEACT_TEL (Группа Деактивация) - Причина деактивации услуги Телефония;

· AC_REASON_DISSOLV_AG (Группа Расторжение) - Причина расторжения договора;

· AC_REASON_DISSOLV_IKTV (Группа Расторжение) - Причина расторжения услуги Телеком TV;

· AC_REASON_DISSOLV_INTER (Группа Расторжение) - Причина расторжения услуги Интернет;

· AC_REASON_DISSOLV_KTV (Группа Расторжение) - Причина расторжения услуги КТВ;

· AC_REASON_DISSOLV_TEL (Группа Расторжение) - Причина расторжения услуги Телефония;

· AC_REASON_REACT_IKTV (Группа Реактивация) - Причина реактивации ЦКТВ;

· AC_REASON_REACT_INET (Группа Реактивация) - Причина реактивации услуги Интернет;

· AC_REASON_REACT_KTV (Группа Реактивация) - Причина реактивации услуги КТВ;

· AC_REASON_REACT_TEL (Группа Реактивация) - Причина реактивации услуги Телефония;

· AC_RESTRUCT_AG (Группа Договор) - Кол-во договоров, переоформленных на другое лицо;

· AC_RESTRUCT_AG_DAYS (Группа Договор) - Кол-во дней, прошедшее с момента переоформления на другое лицо;

· AC_RESTRUCT_AG_NO (Группа Клиент. Общее) - Номер договора после переоформления на другое лицо;

· AC_SEPARATION_AG (Группа Договор) - Кол-во договоров Клиента, разделенных на разные договоры;

· AC_SEPARATION_AG_DAYS (Группа Договор) - Кол-во дней, прошедшее с разъединения договора на отдельные договоры;

· AC_SEPARATION_AG_NO (Группа Договор) - Интернет. Номер договора ШПД после разъединения договора на отдельные договоры;

· AC_SEPARATION_OUTFLOW_NO_DKTV (Группа Расторжение) - ИКТВ. Номер договора ШПД после разъединения договора на отдельные договоры;

· AC_SEPARATION_OUTFLOW_NO_KTV (Группа Расторжение) - КТВ. Номер договора ШПД после разъединения договора на отдельные договоры;

· AC_SEPARATION_OUTFLOW_NO_PH (Группа Расторжение) - Телефония. Номер договора ШПД после разъединения договора на отдельные договоры;

· AC_STATUS_ACT_IKTV (Группа Активность (услуги и договоры)) - КТВ. Статус активности услуги ИКТВ по новой версии;

· AC_STATUS_ACT_INTER (Группа Активность (услуги и договоры)) - Интернет. Статус активности услуги интернет по новой версии;

· AC_STATUS_ACT_KTV (Группа Активность (услуги и договоры)) - Телеком TV. Статус активности услуги КТВ по новой версии;

· AC_STATUS_ACT_TEL (Группа Активность (услуги и договоры)) - Телефония. Статус активности услуги телефон по новой версии;

· AC_UNION_TO_COMPLEX (Группа Договор) - Кол-во объединенных договоров в Комплексное предложение (КП);

· ACC_CLASS_1220 (Группа Аварии) - Кол-во аварий с классом проблемы «ППР»;

· ACC_CLASS_1227 (Группа Аварии) - Кол-во аварий с классом проблемы «Авария на ВОЛП»;

· ACC_CLASS_1236 (Группа Аварии) - Кол-во аварий с классом проблемы «Утрата/порча оборудования»;

· ACC_CLASS_1238 (Группа Аварии) - Кол-во аварий;

· ACC_CLASS_1240 (Группа Аварии) - Кол-во аварий с классом проблемы «Зависание оборудования»;

· ACC_CLASS_1242 (Группа Аварии) - Кол-во аварий с классом проблемы «Выход из строя ИБП»;

· ACC_CLASS_1244 (Группа Аварии) - Кол-во аварий с классом проблемы «Аварийное Отключение Электроэнергии»;

· ACC_CLASS_1247 (Группа Аварии) - Кол-во аварий с классом проблемы «Форс-мажор»;

· ACC_CLASS_1251 (Группа Аварии) - Кол-во аварий с классом проблемы «Ошибка системы мониторинга»;

· ACC_CLASS_1444 (Группа Аварии) - Кол-во аварий с классом проблемы «Причина не известна»;

· ACC_CLASS_1980 (Группа Аварии) - Кол-во аварий с классом проблемы «Сетевой шторм»;

· ACC_CLASS_1981 (Группа Аварии) - Кол-во аварий с классом проблемы «Потеря управления»;

· ACC_CLASS_2105 (Группа Аварии) - Кол-во аварий с классом проблемы «Отключение питания э/с компаниями»;

· ACC_CLASS_2239 (Группа Аварии) - Кол-во аварий с классом проблемы «Выход из строя оборудования»;

· ACC_CLASS_2370 (Группа Аварии) - Кол-во аварий с классом проблемы «Авария на ДРС»;

· ACC_COUNT_CGS (Группа Аварии) - Кол-во аварий без локализации по продукту;

· ACC_COUNT_INTER (Группа Аварии) - Кол-во аварий Интернет;

· ACC_COUNT_KTV (Группа Аварии) - Кол-во аварий КТВ;

· ACC_COUNT_TEL (Группа Аварии) - Кол-во аварий Телефония;

· ACC_COUNT_VICTIM (Группа Аварии) - Кол-во Клиентов, пострадавших от аварий;

· ACC_PORT_PROB_10MB (Группа Аварии) - Кол-во проблем с портами Скорость 10 Мбит/с;

· ACC_PORT_PROB_ALL (Группа Аварии) - Кол-во проблем с портами (общее кол-во);

· ACC_PORT_PROB_ERR (Группа Аварии) - Кол-во проблем с портами (ошибки за портом);

· ACC_PORT_PROB_FLAP (Группа Аварии) - Кол-во проблем с портами Большое Кол-во кратковременных падений порта (FLAP);

· ACC_PORT_PROB_HD (Группа Аварии) - Кол-во проблем с портами Режим дуплекса (Half-duplex);

· ACC_PPD_ALL_BEN (Группа Сервисные заявки (СЗ)) - Кол-во льготных заявок ППД (всего);

· ACC_PPD_KTV_BEN (Группа Сервисные заявки (СЗ)) - Кол-во льготных заявок ППД КТВ;

· ACC_PPD_TEL_BEN (Группа Сервисные заявки (СЗ)) - Кол-во льготных заявок ППД Телефония;

· ACC_REQ_PPD_IKTV (Группа Сервисные заявки (СЗ)) - Кол-во платных заявок ППД ЦКТВ;

· ACC_REQ_PPD_INTER (Группа Сервисные заявки (СЗ)) - Кол-во платных заявок ППД Интернет;

· ACC_REQ_PPD_KTV (Группа Сервисные заявки (СЗ)) - Кол-во платных заявок ППД КТВ.

· ACC_TIME_CGS (Группа Телефония) - Время аварий без локализации по продукту.

· ACC_TIME_INTER (Группа Активность (услуги и договоры)) - Время аварий Интернет.

· ACC_TIME_KTV (Группа АРПУ) - Время аварий КТВ.

· ACC_TIME_TEL (Группа Телефония) - Время аварий Телефония.

· ADP_AMEDIAPREMIUMHD (Группа Телефония) - Кол-во дней активности по пакету Amedia.

· ADP_BESSONNITSA (Группа ИКТВ. ЧТП) - Кол-во дней активности по пакету Бессонница.

· ADP_KINOIMUZYKAHD (Группа ИКТВ. Пакет Геймер) - Кол-во дней активности по пакету Кино и музыка.

· ADP_NASTROYKINO (Группа ИКТВ. Пакет Матч! Спорт) - Кол-во дней активности по пакету Настрой кино.

· ADP_VIASATPREMIUMHD (Группа ИКТВ. Пакет Стартовый) - Кол-во дней активности по пакету Viasat.

· AG_AD_CAMP_TEL (Группа ИКТВ. Пакет Амедиа) - Телефония. Рекламная акция при продаже тарифного плана.

· AG_AD_CAMP_TEL_DATE_CLOSE (Группа ИКТВ. Пакет Амедиа) - Телефония. Дата окончания РА при продаже.

· AG_ANTIVIRUS_SUMM_TO_PAY (Группа ИКТВ. Пакет Старт) - Сумма оплаты за доп. услугу: антивирус (в текущем мес.).

· AG_BEFORE_PAID_CONTENT (Группа ИКТВ. Пакет КХЛ) - Факт совершения покупки цифрового контента.

· AG_CALL_CHARGES_INTERNATIONAL (Группа ИКТВ. Пакет Матч! Спорт) - Начисления по междугородним вызовам.

· AG_CALL_CHARGES_INTERURBAN (Группа ИКТВ. Кубик Международный) - Начисления по междугородним вызовам.

· AG_CALL_CHARGES_ZONE (Группа ИКТВ. Пакет Микс) - Начисления по внутризоновым вызовам.

· AG_CALL_EXISTS (Группа ИКТВ. Кубик Музыка) - Кол-во услуг гор. связи по которым были исх. звонки.

· AG_CATCHUP (Группа ИКТВ. Пакет Матч! Футбол) - Кол-во услуг Кэтчап.

· AG_CATCHUP_COST (Группа ИКТВ. Пакет Матч! Спорт) - Стоимость услуги Кэтчап.

· AG_COST_CONTENT (Группа ИКТВ. Кубик Путешествия) - Стоимость платного контента в месяце.

· AG_COST_KIDS_SVOD (Группа ИКТВ. Кубик Развлечения) - Стоимость платного контента в месяце детский SVoD.

· AG_COST_TVOD (Группа ИКТВ. Кубик Сериалы) - Стоимость платного контента в месяце типа TVoD.

· AG_COUNT_ACT_IKTV (Группа ИКТВ. Кубик Спорт) - ИКТВ. Кол-во активных услуг.

· AG_COUNT_ACT_INTER (Группа ИКТВ. Кубик Спорт) - Интернет. Кол-во активных услуг.

· AG_COUNT_ACT_KTV (Группа ИКТВ. Пакет Спорт и увлечения) - КТВ. Кол-во активных услуг.

· AG_COUNT_ACT_TEL (Группа ИКТВ. Пакет Стандартный) - Телефония. Кол-во активных услуг.

· AG_COUNT_CHANNEL (Группа ИКТВ. Пакет Стандартный) - Кол-во каналов по тарифному плану.

· AG_COUNT_CHANNEL_TOTAL (Группа ИКТВ. Пакет Стартовый) - Кол-во каналов всего (плюс доп. пакеты) (услуга Телеком TV).

· AG_COUNT_INTER (Группа ИКТВ. Пакет Умка) - Кол-во нерасторгнутых договоров МОНО-Интернет.

· AG_COUNT_KTV (Группа ИКТВ. Пакет Умка) - Кол-во нерасторгнутых договоров МОНО КТВ.

· AG_COUNT_MIN_INCOMING (Группа ИКТВ. Кубик Увлечения) - Кол-во минут входящей связи суммарно за месяц по Клиенту.

· AG_COUNT_NOT_ACT (Группа ИКТВ. Кубик Увлечения) - Кол-во заключенных, но неактивных договоров.

· AG_COUNT_PACKAGE_EXTRA (Группа ИКТВ. Пакет Виасат) - Кол-во доп. приобретенных пакетов.

· AG_COUNT_PACKAGE_TARIFF (Группа ИКТВ. Пакет Алтын) - Кол-во пакетов по тарифному плану.

· AG_COUNT_PAID_CONTENT (Группа ИКТВ. Пакет Амедиа) - Кол-во покупок платного контента.

· AG_IKTV_ARPU (Группа ИКТВ. Пакет КХЛ) - АРПУ услуги Телеком TV.

· AG_IKTV_CHANNEL (Группа ИКТВ. Кубик Кино) - Канал подключения тарифного плана.

· AG_IKTV_DATE_ACTIV_TRANS (Группа ИКТВ. Кубик Кино) - Телеком TV. Дата перехода/активации тарифного плана.

· AG_IKTV_DAY_ACTIV_TRANS (Группа ИКТВ. Пакет Кино и музыка) - Кол-во дней с момента активации тарифа.

· AG_IKTV_TARIFF (Группа ИКТВ. Кубик Музыка) - Идентификатор тарифного плана.

· AG_IKTV_TARIFF_ARCH (Группа ИКТВ. Кубик Музыка) - Признак архивности тарифного плана.

· AG_IKTV_TARIFF_NAME (Группа ИКТВ. Пакет Наш футбол) - Название тарифного плана Телеком TV.

· AG_IKTV_TERM (Группа ИКТВ. Пакет Настоящий мужской) - ТЕЛЕКОМ TV. Кол-во услуг (наличие расторженной услуги).

· AG_INTER_BREAK_LAST (Группа ИКТВ. Пакет Настрой кино!) - Интернет. Последнее Кол-во дней перерыва в оказании услуги.

· AG_INTER_CHANNEL (Группа ИКТВ. Пакет Матч! Спорт) - Интернет. Канал подключения тарифного плана.

· AG_INTER_CNT (Группа ИКТВ. Кубик Окружающий мир) - Интернет. Кол-во сессий за месяц, технологическая сессия не учитывается (начинается на 172.ХХ.ХХ.ХХ).

· AG_INTER_DATE_ACTIV_TRANS (Группа ИКТВ. Кубик Познание) - Интернет. Дата перехода/активации тарифного плана.

· AG_INTER_SUMM_TO_PAY (Группа ИКТВ. Кубик Спорт) - Интернет. Сумма оплаты в текущем месяце.

· AG_INTER_TARIFF_ARCH (Группа ИКТВ. Кубик Спорт) - Интернет. Признак архивности тарифного плана.

· AG_INTER_TARIFF_NAME (Группа ИКТВ. Пакет Спорт и увлечения) - Название тарифного плана Интернет.

· AG_INTER_TARIFF_SPEED (Группа ИКТВ. Пакет Стандартный) - Скорость тарифного плана Интернет.

· AG_KTV_TARIFF (Группа ИКТВ. Пакет Амедиа) - Идентификатор тарифного плана.

· AG_KTV_TARIFF_ARCH (Группа ИКТВ. Пакет Амедиа) - Признак архивности тарифного плана.

· AG_KTV_TARIFF_CNT_PREF (Группа ИКТВ. Пакет Базовый) - Кол-во льготных тарифов на Клиенте КТВ.

· AG_KTV_TERM (Группа ИКТВ. Пакет Базовый) - Кол-во услуг (наличие расторженной услуги).

· AG_KTV_TIME_l_BREAK_SERV (Группа ИКТВ. Пакет Базовый) - Последнее Кол-во дней перерыва в оказании услуги.

· AG_KTV_TIME_T_BREAK_SERV (Группа ИКТВ. Пакет Бессонница) - Общее Кол-во дней перерыва в оказании услуги.

· AG_MNTH_CHTP_IKTV (Группа ИКТВ. Кубик Детский) - Кол-во изменений ЧТП (в текущем месяце) Телеком TV.

· AG_MNTH_CHTP_KTV (Группа ИКТВ. Кубик Детский) - Кол-во изменений ЧТП (в текущем месяце) КТВ.

· AG_MULTIROOM (Группа ИКТВ. Пакет Дождь) - Кол-во услуг Мультирум.

· AG_MULTIROOM_CHANNEL (Группа ИКТВ. Пакет Геймер) - Канал подключения услуги Мультирум.

· AG_MULTIROOM_COST (Группа ИКТВ. Пакет Максимум) - Стоимость услуги Мультирум.

· AG_MULTIROOM_DATE (Группа ИКТВ. Пакет Максимум) - Дата подключения услуги Мультирум.

· AG_NDISSOLVED_ID (Группа ИКТВ. Пакет Матч! Спорт) - Идентификатор наиболее свежего нерасторгнутого договора Клиента.

· AG_PACKAGE_EXTRA_COUNT (Группа ИКТВ. Пакет Микс) - Телеком TV. Кол-во других подключенных пакетов каналов.

· AG_PAY_CUR_MONTH (Группа ИКТВ. Кубик Музыка) - Сумма оплаты в текущем месяце.

· AG_SAFEKIDS (Группа ИКТВ. Кубик Музыка) - Кол-во доп. услуги: родительский контроль SafeKids.

· AG_SAFEKIDS_CHANNEL (Группа ИКТВ. Пакет Наш футбол) - Канал продажи доп. услуги: родительский контроль SafeKids.

· AG_SB_DATE (Группа ИКТВ. Кубик Окружающий мир) - Дата подключения доп. услуги: скоростной бонус.

· AG_SB_DATE_CLOSE (Группа ИКТВ. Кубик Познание) - Дата отключения доп. услуги: скоростной бонус.

· AG_SB_DAYS_ACT (Группа ИКТВ. Кубик Путешествия) - Кол-во дней активности доп. услуги: скоростной бонус.

· AG_SERVICE_1191_SUMM_TO_PAY (Группа ИКТВ. Пакет Стандартный) - Телефония. Сумма оплаты за доп. услугу: любимый регион (в рублях с НДС).

· AG_SERVICE_1192 (Группа ИКТВ. Пакет Стандартный) - Телефония. Подключена доп. услуга: любимая страна.

· AG_TEL_ARPU (Группа Клиент. Активность) - АРПУ услуги телефония.

· AG_TEL_CHANNEL (Группа Клиент. Активность) - Телефония. Канал подключения тарифного плана.

· AG_TEL_DATE_ACTIV_TRANS (Группа Клиент. Общее) - Телефония. Дата перехода/активации тарифного плана.

· CL_ACTIV (Группа Сервисные заявки (СЗ)) - Констатация текущей активности клиента.

· CL_ADDRESS (Группа Сервисные заявки (СЗ)) - Адрес Клиента.

· CL_BTHDAY (Группа Контакты) - Дата рождения Клиента.

· CL_CALC_MONTH (Группа Контакты) - Последнее число месяца, за который произведен расчет.

· CL_EMAIL_CNT (Группа Обращения) - Кол-во e-mail.

· CL_PROMO (Группа НРД) - Промо Клиент.

· CL_PROMO_END_DAYS (Группа НРД) - Кол-во дней до окончания промо периода.

· CL_REACT (Группа НРД) - Реактивация Клиента.

· EQ_RENT_COST (Группа Оборудование) - Стоимость аренды (без привязки к конкретному оборудованию).

· NRD_DAYS_TARIFF_LAG (Группа НРД. Новое) - Кол-во дней между датой открытия НРД и переходом на новый ТП.

· NRD_DEPART_OPEN (Группа НРД. Новое) - Показатель, в какую службу Клиент обратился первично.

· NRD_DISC (Группа НРД. Новое) - Факт выдачи скидки на удержание.

· NRD_DISC_DATE (Группа НРД. Новое) - Дата выдачи первой скидки на удержание.

· NRD_SERV (Группа НРД. Новое) - Факт отправки техника сервиса/льготного ППД.

· PAY_ARPU_SUMM (Группа АРПУ) - Суммарное АРПУ Клиента (итоговая выручка по всем услугам за месяц).

· PAY_BALANCE (Группа Платежи) - Баланс на конец месяца.

· PAY_BILL_PAYMENT (Группа Платежи) - Сумма, выставляемая к оплате с учетом скидок.

· SERV_COUNT (Группа Сервисные заявки (СЗ)) - Кол-во сервисных заявок (всего).

· SERV_COUNT_APPEAL (Группа Обращения) - Кол-во обращений в БП Обращения в АО/ЦП/ЦАО/Call-центр.

· SERV_IKTV_REPEAT (Группа Сервисные заявки (СЗ)) - Повторные СЗ Телеком TV.

· SERV_IKTV_TECH (Группа Сервисные заявки (СЗ)) - Кол-во СЗ, категория ТС Телеком TV.

· SERV_IKTV_TIME (Группа Сервисные заявки (СЗ)) - Время выполнения СЗ Телеком TV.

· SERV_REASON_APPEAL_CRASH (Группа Обращения) - Кол-во обращений с причиной «Аварии/ппр».

· SERV_REASON_APPEAL_DIAGNOZ (Группа Обращения) - Кол-во обращений с причиной «Настройка и диагностика».

· TV_VIEW_CHILD_COUNT (Группа Телесмотрение) - Кол-во просмотров канала жанра Детские.

· TV_VIEW_FILM_COUNT (Группа Телесмотрение) - Кол-во просмотров канала жанра Фильмовые.

· TV_VIEW_SPORT (Группа Телесмотрение) - Время смотрения телеканалов жанра Спортивные.

· TV_VIEW_SPORT_COUNT (Группа Телесмотрение) - Кол-во просмотров канала жанра Спортивные.

2) Витрина MA_NAPA_DPI_CAT содержит 45 атрибутов:

· AGREEMENT_NUMBER (Группа Клиент) - номер договора;

· AUTO2_VISITS_CNT_M (Группа Автотема) - Количество HTTP запросов за месяц к категории;

· AUTO2_VISITS_CNT_WKND_M (Группа Автотема) - Количество HTTP запросов за месяц к категории в выходные;

· AUTO2_VISITS_CNT_WORKD_M (Группа Автотема) - Количество HTTP запросов за месяц к категории в будни;

· AUTO2_VISITS_DAYS_M (Группа Автотема) - Количество дней за последний месяц, когда были запросы к категории;

· AUTO2_VISITS_DAYS_WKND_M (Группа Автотема) - Количество дней, когда были запросы к категории за последний месяц по выходным;

· AUTO2_VISITS_DAYS_WORKD_M (Группа Автотема) - Количество дней, когда были запросы к категории за последний месяц по будням;

· AUTO2_VISITS_SHARE_M (Группа Автотема) - доля HTTP запросов к категории за месяц от всех HTTP запросов за месяц;

· AUTO2_VISITS_SHARE_WKND_M (Группа Автотема) - доля HTTP запросов к категории за месяц в выходные от всех HTTP запросов за месяц в выходные;

· AUTO2_VISITS_SHARE_WORKD_M (Группа Автотема) - доля HTTP запросов к категории за месяц в будни от всех HTTP запросов за месяц в будни;

· BROWSER_NAME (Группа Девайсы) - название браузера;

· BROWSER_VERSION (Группа Девайсы) - версия браузера;

· AVG_HTTP_VISITS_CNT_1_DAY_M (Группа Запросы) - Среднее количество HTTP запросов в день за календарный месяц;

· AVG_HTTP_VISITS_CNT_1_DAY_M (Группа Запросы) - Среднее количество HTTP запросов в активные дни за календарный месяц;

· BROWSER_NAME (Группа Девайсы) - название браузера;

· BROWSER_VERSION (Группа Девайсы) - версия браузера;

· DATING2_VISITS_DAYS_WKND_M (Группа Знакомства) - Количество дней, когда были запросы к категории за последний месяц по выходным;

· DATING2_VISITS_DAYS_WORKD_M (Группа Знакомства) - Количество дней, когда были запросы к категории за последний месяц по будням;

· DATING2_VISITS_SHARE_M (Группа Знакомства) - доля HTTP запросов к категории за месяц от всех HTTP запросов за месяц;

· DATING2_VISITS_SHARE_WKND_M (Группа Знакомства) - доля HTTP запросов к категории за месяц в выходные от всех HTTP запросов за месяц в выходные;

· DATING2_VISITS_SHR_WORKD_M (Группа Знакомства) - доля HTTP запросов к категории за месяц в будни от всех HTTP запросов за месяц в будни;

· FOODDEL_VISITS_CNT_M (Группа Доставка продуктов) - Количество HTTP запросов за месяц к категории;

· FOODDEL_VISITS_CNT_WKND_M (Группа Доставка продуктов) - Количество HTTP запросов за месяц к категории в выходные;

· FOODDEL_VISITS_CNT_WORKD_M (Группа Доставка продуктов) - Количество HTTP запросов за месяц к категории в будни;

· FOODDEL_VISITS_DAYS_M (Группа Доставка продуктов) - Количество дней за последний месяц, когда были запросы к категории;

· FOODDEL_VISITS_DAYS_WKND_M (Группа Доставка продуктов) - Количество дней, когда были запросы к категории за последний месяц по выходным;

· FOODDEL_VISITS_DAYS_WORKD_M (Группа Доставка продуктов) - Количество дней, когда были запросы к категории за последний месяц по будням;

· FOODDEL_VISITS_SHARE_M (Группа Доставка продуктов) - доля HTTP запросов к категории за месяц от всех HTTP запросов за месяц;

· FOODDEL_VISITS_SHARE_WKND_M (Группа Доставка продуктов) - доля HTTP запросов к категории за месяц в выходные от всех HTTP запросов за месяц в выходные;

· FOODDEL_VISITS_SHR_WORKD_M (Группа Доставка продуктов) - доля HTTP запросов к категории за месяц в будни от всех HTTP запросов за месяц в будни;

· HITECH2_VISITS_CNT_M (Группа IT тематика) - Количество HTTP запросов за месяц к категории;

· HITECH2_VISITS_CNT_WKND_M (Группа IT тематика) - Количество HTTP запросов за месяц к категории в выходные;

· HITECH2_VISITS_CNT_WORKD_M (Группа IT тематика) - Количество HTTP запросов за месяц к категории в будни;

· HITECH2_VISITS_DAYS_M (Группа IT тематика) - Количество дней за последний месяц, когда были запросы к категории;

· HITECH2_VISITS_DAYS_WKND_M (Группа IT тематика) - Количество дней, когда были запросы к категории за последний месяц по выходным;

· HITECH2_VISITS_DAYS_WORKD_M (Группа IT тематика) - Количество дней, когда были запросы к категории за последний месяц по будням;

· HITECH2_VISITS_SHARE_M (Группа IT тематика) - доля HTTP запросов к категории за месяц от всех HTTP запросов за месяц;

· HITECH2_VISITS_SHARE_WKND_M (Группа IT тематика) - доля HTTP запросов к категории за месяц в выходные от всех HTTP запросов за месяц в выходные;

· HITECH2_VISITS_SHR_WORKD_M (Группа IT тематика) - доля HTTP запросов к категории за месяц в будни от всех HTTP запросов за месяц в будни;

· HOCKEY_VISITS_CNT_M (Группа Хоккей) - Количество HTTP запросов за месяц к категории;

· HOCKEY_VISITS_CNT_WKND_M (Группа Хоккей) - Количество HTTP запросов за месяц к категории в выходные;

· HOCKEY_VISITS_CNT_WORKD_M (Группа Хоккей) - Количество HTTP запросов за месяц к категории в будни;

· HOCKEY_VISITS_DAYS_M (Группа Хоккей) - Количество дней за последний месяц, когда были запросы к категории;

· HOCKEY_VISITS_DAYS_WKND_M (Группа Хоккей) - Количество дней, когда были запросы к категории за последний месяц по выходным;

· HOCKEY_VISITS_DAYS_WORKD_M (Группа Хоккей) - Количество дней, когда были запросы к категории за последний месяц по будням.

3) Витрина MA_NAPA_DPI_STAT содержит 55 атрибутов:

· ACTIVE_DEV_WKND_MNTH (Группа Девайсы) - количество за месяц девайсов в выходные дни;

· ACTIVE_DEV_WORKDAY_MNTH (Группа Девайсы) - количество за месяц девайсов в будние дни;

· AGREEMENT_NUMBER (Группа Клиент) - номер договора;

· ALL_DEV_CNT_MNTH (Группа Девайсы) - Количество всех устройств (браузеров) абонента (все устройства за месяц);

· ANT_AVAST_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус AVAST;

· ANT_AVG_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус AVG;

· ANT_AVIRA_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус AVIRA;

· ANT_DRWEB_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус DRWEB;

· ANT_ESET_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус ESET;

· ANT_KASPERSKY_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус KASPERSKY;

· ANT_SYMANTEC_DAYS_MNTH (Группа Антивирусы) - Количество дней за календарный месяц, в которые у клиента был зафиксирован антивирус SYMANTEC;

· APP_2GIS_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_ALI_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_AVITO_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_FLIPAGRAM_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_INSTAGRAM_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_IVI_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_KHL_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_LAMODA_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_MAPS_ME_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_MSQRD_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_MY_MTS_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_OK_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_RUTAXI_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_SHAZAM_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_SKYPE_DAYS_MNTH (Группа Приложения на компе) - Количество дней за календарный месяц, в которые у клиента был зафиксирован мессенджер SKYPE;

· APP_SNAPCHAT_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_TELEGRAM_DAYS_MNTH (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксирован мессенджер TELEGRAM;

· APP_TINDER_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_VIBER_DAYS_MNTH (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксирован мессенджер VIBER;

· APP_VK_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_WEB.TELEGRAM_DAYS_MNTH (Группа Приложения на компе) - Количество дней за календарный месяц, в которые у клиента был зафиксирован мессенджер WEB.TELEGRAM;

· APP_WHATSAPP_DAYS_MNTH (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксирован мессенджер WHATSAPP;

· APP_YA_MAPS_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_YA_MUSIC_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_YA_NAVIGATOR_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_YA_TAXI_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· APP_YATRANSPORT_DAYS_M (Группа Приложения на телефоне) - Количество дней за календарный месяц, в которые у клиента был зафиксировано приложение;

· AVG_ACTIVE_DEV_CNT_1_DAY_MNTH (Группа Девайсы) - Количество устройств (браузеров) абонента, в среднем в день за последний месяц;

· AVG_ACTIVE_DEV_PER_WKND_MNTH (Группа Девайсы) - среднее количество за месяц девайсов в выходной день;

· AVG_ACTIVE_DEV_PER_WRKD_MNTH (Группа Девайсы) - среднее количество за месяц девайсов в будний день;

· AVG_COMP_VISITS_PER_DAY_MNTH (Группа Конкуренты) - Количество HTTP запросов к сайтам конкурентов в среднем в день на конец месяца;

· AVG_HTTP_VISITS_CNT_1_DAY_MNTH (Группа Запросы) - Среднее количество HTTP запросов в день за календарный месяц;

· COMP_VISITS_CNT_MNTHS_LIFE (Группа Конкуренты) - Количество месяцев с запросами к сайтам конкурентов за доступную историю;

· COMP_VISITS_CNT_PREVIOUS_MNTHS (Группа Конкуренты) - Если в текущем месяце были HTTP запросы к конкурентам, то выводим количество месяцев, в которые непрерывно были HTTP запросы к конкурентам;

· COMP_VISITS_WKND_CNT_MNTH (Группа Конкуренты) - Количество HTTP запросов к сайтам конкурентов за месяц в выходные на конец месяца;

· COMP_VISITS_WORKD_CNT_MNTH (Группа Конкуренты) - Количество HTTP запросов к сайтам конкурентов за месяц в будни на конец месяца;

· COPETITORS_VISITS_CNT_MNTH (Группа Конкуренты) - Количество HTTP запросов к сайтам конкурентов за месяц на конец месяца;

· DEV_CONSOLE_PS_DAYS_MNTH (Группа Приставки игровые) - Количество дней за календарный месяц, в которые у клиента был зафиксирован Playstation;

· DEV_CONSOLE_XBOX_DAYS_MNTH (Группа Приставки игровые) - Количество дней за календарный месяц, в которые у клиента был зафиксирован XBOX;

· HTTP_VIS_ANDD_CNT_MNTH (Группа ANDROID) - Количество HTTP запросов от девайсов ANDROID за месяц;

· HTTP_VIS_ANDD_SHARE_MNTH (Группа ANDROID) - Доля HTTP запросов от девайсов ANDROID от всех HTTP запросов за месяц;

· HTTP_VIS_ANDD_WKND_CNT_MNTH (Группа ANDROID) - Количество HTTP запросов от девайсов ANDROID в выходные дни за месяц;

· HTTP_VIS_ANDD_WKND_SHARE_MNTH (Группа ANDROID) - Доля HTTP запросов от девайсов ANDROID в выходные дни от всех HTTP запросов в выходные дни за месяц;

· HTTP_VIS_ANDD_WORKD_CNT_MNTH (Группа ANDROID) - Количество HTTP запросов от девайсов ANDROID в будние дни за месяц;

· HTTP_VIS_ANDD_WORKD_SHARE_MNTH (Группа ANDROID) - Доля HTTP запросов от девайсов ANDROID в будние дни от всех HTTP запросов в будние дни за месяц;

4) Витрина MA_NAPA_DPI_STAT содержит 18 атрибутов:

· CHANNEL_ID - Код канала коммуникации;

· CHANNEL_NAME - Название канала коммуникации;

· СAMPAIGN_NAME - Название кампании;

· OBJECTIVE_CODE - Инфоповод коммуникации с Клиентом;

· CELL_NAME - Наименование этапа кампании;

· COMMUNICATION_START_DTTM - Дата начала коммуникации;

· COMMUNICATION_END_DTTM - Дата окончания коммуникации;

· DATE_IN - Дата появления отклика;

· OFFER_NAME - Название предложения;

· GROUP_POS_1 - Факт отклика 1 типа;

· GROUP_POS_2 - Факт отклика 2 типа;

· GROUP_POS_3 - Факт отклика 3 типа;

· CL_ID_BI - Идентификатор Клиента;

· AGREEMENT_NUMBER - Номер договора Клиента;

· DATE_IN_2 - Дата отклика 2 типа;

· DATE_IN_3 - Дата отклика 3 типа;

· CITY_NAME - Город;

· GROUP_TYPE - Тип группы (ЦГ, КГ).

2.2 Формирование производных показателей

При построении предиктивной модели важнейшую роль играет качество сформированных предикторов. Но для того, чтобы выявить наиболее значимые показатели, необходимо вывести как можно больше различных агрегаций для проверки значимости каждой фичи, после чего оставить только наиболее весомые признаки, чтобы не столкнуться с проблемой переобучения и не усложнить модель.

В процессе выполнения данной работы было сформировано 443 производных показателя на основе исходных данных. Ниже представлено описание производных признаков на примере 20 фичей:

· Отношение АРПУ услуги Телефония в текущем месяце к среднему АРПУ услуги Телефония в текущем месяце по всей ААБ;

· Отношение АРПУ услуги Телефония в текущем месяце к медиане АРПУ услуги Телефония в текущем месяце по всей ААБ;

· Отношение АРПУ услуги Телефония в текущем месяце к моде АРПУ услуги Телефония в текущем месяце по всей ААБ;

· АРПУ услуги Телефония в текущем месяце выше среднего АРПУ услуги Телефония в текущем месяце по всей ААБ (флаговая переменная);

· АРПУ услуги Телефония в текущем месяце выше медианы АРПУ услуги Телефония в текущем месяце по всей ААБ (флаговая переменная);

· АРПУ услуги Телефония в текущем месяце выше моды АРПУ услуги Телефония в текущем месяце по всей ААБ (флаговая переменная);

· Отношение АРПУ Суммарно по всем услугам в текущем месяце к АРПУ Суммарно по всем услугам в предыдущем месяце;

· Отношение АРПУ Суммарно по всем услугам в текущем месяце к среднему АРПУ Суммарно по всем услугам за последние 3 месяца, не включая текущий;

· Отношение АРПУ Суммарно по всем услугам в текущем месяце к среднему АРПУ Суммарно по всем услугам в текущем месяце по всей ААБ;

· Отношение АРПУ Суммарно по всем услугам в текущем месяце к медиане АРПУ Суммарно по всем услугам в текущем месяце по всей ААБ;

· Отношение АРПУ Суммарно по всем услугам в текущем месяце к моде АРПУ Суммарно по всем услугам в текущем месяце по всей ААБ;

· АРПУ суммарно по всем услугам в текущем месяце выше среднего АРПУ Суммарно по всем услугам в текущем месяце по всей ААБ (флаговая переменная);

· АРПУ суммарно по всем услугам в текущем месяце выше медианы АРПУ Суммарно по всем услугам в текущем месяце по всей ААБ (флаговая переменная);

· АРПУ суммарно по всем услугам в текущем месяце выше моды АРПУ Суммарно по всем услугам в текущем месяце по всей ААБ (флаговая переменная);

· Доля АРПУ услуги Дои.ru TV от суммарного АРПУ в текущем месяце (аналогично - для предыдущего и пред-предыдущего месяцев);

· Доля АРПУ услуги Интернет от суммарного АРПУ в текущем месяце (аналогично - для предыдущего и пред-предыдущего месяцев);

· Доля АРПУ услуги Телефония от суммарного АРПУ в текущем месяце (аналогично - для предыдущего и пред-предыдущего месяцев);

· Доля АРПУ услуги КТВ от суммарного АРПУ в текущем месяце (аналогично - для предыдущего и пред-предыдущего месяцев);

· Повышение доли АРПУ услуги Телеком TV не менее чем на 10 п.п. относительно предыдущего месяца;

· Повышение доли АРПУ услуги Интернет не менее чем на 10 п.п. относительно предыдущего месяца.

2.3 Определение наиболее значимых предикторов

После формирования максимального количества производных показателей следует приступить к отбору наиболее значимых показателей. Как и дальнейшее построение модели, feature selection (отбор предикторов) будет производиться с использованием языка Python и процедурным расширением структурированного языка запросов PL/SQL, разработанного корпорацией Oracle [37, с. 13].

Для того, чтобы оценить значимость показателей, будет использован модуль feature_selection.SelectKBest (f_classif) библиотеки sklearn, который сортирует показатели по значимости в зависимости от проверки F-критерия Фишера - параметрического критерия, используемого для сравнения дисперсий двух вариационных рядов [38, с. 238].

Для реализации алгоритма сначала необходимо импортировать необходимые для работы библиотеки. Процесс импорта с кратким описанием представлен на Рисунке 38:

Рисунок 38 Импорт библиотек для отбора предикторов

Затем необходимо произвести подключение к витринам данных и загрузить необходимую информацию в рабочую среду. Процесс подключения и загрузки с комментариями представлен на Рисунке 39:

Рисунок 39 Подключение к витринам данных и загрузка информации

Далее необходимо произвести некоторые преобразования данных: сэмплирование (выделение подвыборки из основной выборки, Рисунок 40), формирование dummy-переменных на основе категориальных признаков (Рисунок 41), формирование пользовательской функции для расчета выборочного среднего по количественной переменной (Рисунок 42) и замена пустых значений на средние (Рисунок 43):

Рисунок 40 Выделение подвыборки из основной выборки

Рисунок 41 Формирование dummy на основе категориальных признаков

Рисунок 42 Создание пользовательской функции для расчета выборочного среднего

Рисунок 43 Замена пустых значений на средние

Затем можно приступать к обучению классификатора для выделения наиболее значимых показателей с использованием F-критерия Фишера (Рисунок 43). Выделяются 40 наиболее значимых показателей.

Рисунок 43 Обучение классификатора

Следующим шагом идет сохранение предикторов в файл формата.csv (Рисунок 44):

Рисунок 44 Сохранение предикторов

Полный скрипт отбора предикторов представлен в Приложении 1.

Перечень наиболее значимых предикторов, полученных в процессе отбора, представлен на Рисунке 45:

Рисунок 45 Наиболее значимые предикторы для модели

Выводы

В Главе 2 было дано описание витрин данных, созданных для моделирования. Были описаны сущности, атрибуты и их назначение. Было дано общее описание формирования таблиц с предикторами с примерами показателей, подробно описан процесс отбора наиболее значимых фич, а также указаны основные переменные, задействованные в модели.

3. Построение предиктивной модели

3.1 Описание используемого алгоритма

Как было отмечено ранее, для построения предиктивной модели в данной работе используется метод градиентного бустинга (будем использовать частный случай алгоритма - градиентный бустинг над решающими деревьями, то есть в качестве базового алгоритма будут использованы именно decision trees). Но для того, чтобы построить качественную модель, необходимо более глубоко разобраться в используемом алгоритме.

Итак, одно из возможных применений данного метода - решение задач бинарной классификации (то есть результирующий вектор ответов состоит только из 0 и 1). Если произвести описание более научным языком, то сформулировать задачу можно следующим образом: существует набор данных (yi, xi), при этом xi - это векторы в n-мерном числовом пространстве, а yi - возможные значения целевой переменной (множество {0, 1}). В рамках решения задачи необходимо восстановить распределение вероятностей Py (x) принадлежности целевой переменной y к классу 0 или 1 [39, с. 132-145].

В том случае, если известна вероятность принадлежности переменной вероятность принадлежности переменной y к классу 0 (Py=0 (x)), то вероятность принадлежности целевой переменной к классу 1 рассчитывается по формуле: Py=1 (x) = 1 - Py=0 (x).

В данном случае в качестве базового семейства алгоритмов рассматриваются регрессионные решающие деревья из J вершин [40, с. 99-103]. Здесь не важны методы построения самих деревьев, но важен тот факт, что каждое решающее дерево имеет J листовых вершин, соответствующие J непересекающимся областям , на которые разбивается пространство объектов X. Каждой листовой вершине соответствует некоторое значение регрессии , которое будет ответом классификатора в случае попадания анализируемого объекта в соответствующую область. Данный факт описывается формулой:

где I[A] - индикатор события A. Видно, что в данной сумме ровно одно слагаемое будет ненулевым. Тогда добавление слагаемого в градиентном бустинге будет происходит следующим образом:

[41, с. 4].

Таким образом, мы просто прибавляем к имеющемуся алгоритму некоторое другое решающее дерево. Попробуем найти оптимальные значения для уже построенных :

И, поскольку области не пересекаются, можно переписать формулу в следующем виде:

Таким образом, вместо того, чтобы выполнять линейный поиск коэффициента перед новым слагаемым, как в классическом градиентном бустинге [40, с. 110], мы полностью перенастраиваем параметры дерева с фиксированным . Это позволяет строить более качественную композицию.

Если в бустинге над регрессионными деревьями взять LAD функцию потерь, то оптимальные параметры деревьев примут следующий вид:

.

Данный алгоритм является достаточно устойчивым к шуму: во-первых, принимает только значения {+1, -1}, а во-вторых, обновление параметров происходит за счет взятия медианных значений, а медианы устойчивы к выбросам. Также данный алгоритм обладает высокой скоростью работы за счет быстрого подбора параметров.

На Рисунке 46 представлена визуализация работы алгоритма решающих деревьев, принятого в качестве базового при построении бустинга:

Рисунок 46 Пример построения решающего дерева в двумерном пространстве признаков

На Рисунке 47 представлен пример построения градиентного бустинга при решении задачи бинарной классификации:

Рисунок 47 Пример работы градиентного бустинга

Зная, что лежит в основе алгоритма градиентного бустинга над решающими деревьями, следует переходить непосредственно к разработке модели. Отметим, что для этого будет использована среда разработки Jupyter Notebook с поддержкой языка Python 3 (данные продукты входят в поставку Anaconda вместе с библиотеками Python, оптимизированным для анализа данных).

3.2 Разработка предиктивной модели

Итак, после создания базы данных, завершения процесса формирования таблиц с предикторами, а также подробного разбора теории следует перейти непосредственно к разработке предиктивной модели для прогнозирования склонности абонентов к приобретению дополнительной услуги «Дополнительный пакет каналов Viasat Premium HD».

Прежде всего, необходимо импортировать нужные для работы библиотеки (Рисунок 48):

Рисунок 48 Импорт библиотек с комментариями

Затем следует импортировать данные (в нашем случае - таблицы с предикторами) в оперативную память, с целью обеспечения постоянной доступности выборок для работы с ними. Данные будут выгружаться в 2 этапа: определение запроса на выгрузку (Рисунок 49), выгрузка данных по запросу. Для реализации второго шага будут использованы библиотеки CxOracle (подключение к витринам данных на базе Oracle) и Pandas (загрузка данных из витрин в pandas DataFrame) для Python. Загрузка датасета представлена на Рисунке 50:

Рисунок 49 Определение запроса для выгрузки данных за март 2017

Рисунок 50 Подключение к БД, выгрузка данных в DataFrame df201703

Следует отметить, что обучение модели было реализовано на 3-месячном срезе данных (март 2017 - май 2017), а тестирование - на двух следующих месяцах (июнь, июль 2017). Выгрузка данных за указанные временные промежутки реализована описанным выше способом.

Так как в нашем случае имеется несбалансированная выборка (записей с целевой меткой класса 1 почти в 1000 раз меньше записей с целевой меткой класса 0), то по окончании импорта данных для обучающей выборки необходимо произвести undersampling - уменьшение размерности выборки с целевой меткой класса 0 для получения более сбалансированной выборки (Рисунок 51):

Рисунок 51 Undersampling обучающей выборки

После балансировки выборки необходимо провести обработку выбросов и экстремальных значений. Для этого используем подход, описанный ниже (Рисунок 52):

Рисунок 52 Подход к обработке выбросов и экстремальных значений

Здесь:

Q25 - первый квартиль;

Q50 - медиана;

Q75 - третий квартиль;

Min - наименьшее значение выборки;

Max - наибольшее значение выборки;

IQR - интерквартильный размах (Q75 - Q25).

Выбросы и экстремальные значения:

Q25 - 1.5 IQR < X < Q75 + 1.5 IQR [42, с. 25].

В соответствии с данным подходом была разработана функция, возвращающая вещественный DataFrame без выбросов и экстремальных значений (Рисунок 53):

Рисунок 53 Функция для обработки выбросов и экстремальных значений

После обработки выбросов необходимо проработать пустые значения. Подавляющая часть пропусков заполняться не будет, так как градиентный бустинг предусматривает построение отдельных ветвей для пропущенных значений, что значительно облегчает задачу обработки. Однако, для некоторых атрибутов требуется заменить пропуски на значение 30, так как они отражают количество дней в предыдущем месяце без пользования услугой. Пустое значение возвращается в том случае, когда услуга не была подключена иными словами, весь месяц Абонент не пользовался услугой. Блок обработки пустых значений представлен на Рисунке 54:

Рисунок 54 Обработка пропущенных значений

После обработки пропусков необходимо произвести обработку категориальных признаков, сформировав dummy-переменные (Рисунок 55):

Рисунок 55 Формирование dummy-переменных

После формирования dummy необходимо убрать лишние значения (Рисунок 56):

Рисунок 56 Очистка значений категориальных признаков

После описанных выше шагов следует перейти к обучению модели и оценке результатов на тестовой выборке (Рисунок 57). В качестве ключевой метрики будет использован пользовательский показатель Cumulative Lift - метрика, демонстрирующая, во сколько раз концентрация целевых событий в первых 10 перцентилях выборки больше концентрации во всей генеральной совокупности. С точки зрения бизнеса, удовлетворительным будет являться значение показателя, равное 3,5 (то есть концентрация в первых 10% в 3,5 раза выше концентрации во всей генеральной совокупности.

Для расчета Cumulative Lift и настройки модели по данной метрике необходимо разработать пользовательскую функцию (Рисунок 57):

Рисунок 57 Пользовательская функция для расчета Cumulative Lift

Затем следует переходить к построению модели. В первую очередь, для реализации данного процесса необходимо произвести подбор наиболее оптимальных параметров для модели. С этой целью разрабатывается цикл, представленный на Рисунке 58:

Рисунок 58 Цикл для подбора параметров модели

Скрипт подбирает следующие параметры для модели:

· Max_depth - глубина деревьев;

· Eta - доля ошибки на построенной композиции алгоритмов, которую каждый следующий алгоритм.

· Subsample - доля строк от общего количества тренировочной выборки, которая участвует в построении нового дерева.

· Colsample_bytree - доля предикторов, хранящихся в тренировочной выборке, которая участвует в обучении нового решающего дерева.

· Tree (i) - количество решающих деревьев в композиции [40, с. 257-262].

После прогона скрипта были определены следующие параметры:

· Max_depth = 3;

· Eta = 0,06;

· Subsample = 0,5;

· Colsample_bytree = 0,5;

· Tree (i) = 160

После подбора параметров производится построение предиктивной модели (Рисунок 59):

Рисунок 59 Построение предиктивной модели

В результате тестирования модели, на тестовой выборке получили Cumulative Lift = 3,5106 (Рисунок 60):

Рисунок 60 Расчет Cumulative lift

Такое значение показателя является удовлетворительным для достижения бизнес-целей телекоммуникационного оператора.

Таким образом, получаем следующую методику применения методов машинного обучения для решения маркетинговых задач в телекоммуникационном бизнесе:

1. Выбрать оптимальный алгоритм для решения задачи;

2. Подобрать релевантное программное обеспечение для работы;

3. Изучить и обработать исходные данные;

4. Сформировать производные показатели;

5. Произвести отбор предикторов;

6. Обработать итоговый массив данных;

7. Определить подходящие метрики для оценки качества модели;

8. Произвести подбор оптимальных параметров для модели;

9. Построить модель.

Выводы

В главе 3 было дано подробное описание алгоритма градиентного бустинга на решающих деревьях. Также была проработана модель, начиная от подготовки и обработки исходных данных и заканчивая разработкой и использованием алгоритма машинного обучения, после чего были интерпретированы полученные после моделирования результаты и разработана методика применения методов машинного обучения для решения маркетинговых задач в телекоммуникационном бизнесе.

Заключение

В рамках данного исследования была поставлена и разобрана проблема повышения доходности компаний путем осуществления продаж дополнительных услуг, которая является актуальной на сегодняшний день в связи с высокой потребностью коммерческих организаций в обеспечении финансовой стабильности, дальнейшего роста и развития, а также уменьшения рисков, которые могут возникнуть в результате определенных событий. В течение выполнения работы были решены ключевые задачи, что позволило достичь главную цель исследования - разработать методику применения методов машинного обучения для решения маркетинговых задач в телекоммуникационном бизнесе.

В Главе 1 был проведен обзор доступных методов построения прогностических моделей и алгоритмов интеллектуального анализа данных. Также были рассмотрены некоторые аналитические платформы и другие инструменты, оптимизированные для построения прогностических моделей. Был произведен выбор наиболее эффективного алгоритма для достижения поставленной цели, после чего был определен наиболее релевантный инструмент для реализации выбранного метода с использованием экспертной системы поддержки принятия решений.

В Главе 2 было предоставлено описание витрин данных, спроектированных для обработки информации обо всех аспектах активности абонента в рамках пользования услугами телекоммуникационного оператора. Также были определены основные фичи, на базе которых было произведено построение предиктивной модели.

В Главе 3 было дано подробное описание процесса разработки прогностической модели с использованием выбранного алгоритма и наиболее подходящих программных средств. Также было наглядно продемонстрировано использование модели на определенном срезе данных, после чего полученные результаты были проанализированы и интерпретированы. Была разработана методика применения методов машинного обучения для решения маркетинговых задач в телекоммуникационном бизнесе.

В качестве элементов научной новизны, которые заключает в себе данная работа, можно выделить:

· разработку пользовательских функций для обработки данных;

· разработку пользовательских функций для подбора оптимальных параметров предиктивной модели;

· создание пользовательской метрики для оценки качества модели и разработку функции для автоматизированной настройки модели по созданному показателю.

Методика дает следующие преимущества при ее использовании:

· возможность быстрого масштабирования модели на другие дополнительные услуги;

· возможность ускоренного обучения специалистов по разработке предиктивных моделей;

· возможность экономии технических и временных ресурсов при работе с моделью.

Список использованных источников

1. Шпитонков С.В. Эффективное управление продажами FMCG. Проверено опытом. СПб.: Питер, 2006. 224 с.

2. Балашов В., Лашко А., Ляховецкий Л. Технологии широкополосного доступа xDSL. М.: Эко-Трендз, 2009. 256 с.

3. Обзор: Телеком 2016 [Электронный ресурс] / CNews Analytics. URL: http://www.cnews.ru/reviews/rossijskij_telekommunikatsionnyj_rynok. (Дата обращения: 20.03.2018).

4. Mattison R. Telecom Churn Management (Customer Telecare Series). Apdg Pub, 2001. 488 с.

5. Big Data and Telecom Analytics Market: Business Case, Market Analysis & Forecasts 2014 - 2019 [Электронный ресурс] / PRWEB. URL: http://www.prweb.com/releases/2013/11/prweb11359122.htm (Дата обращения: 21.02.2018).

6. 150 лет первому прогнозу погоды [Электронный ресурс] / BBC. URL: http://www.bbc.com/russian/multimedia/2011/08/110801_weather_birthday.shtml. (Дата обращения: 01.05.2018).

7. «МегаФон. Начинается с тебя». Компания представляет новое позиционирование [Электронный ресурс] / МегаФон. URL: https://corp.megafon.ru/press/news/federalnye_novosti/20170912-2001.html. (Дата обращения: 05.04.2018).

8. Методы машинного обучения находят применение в ритейле [Электронный ресурс] / Jetinfo. URL: http://www.jetinfo.ru/news/metody-mashinnogo-obucheniya-nakhodyat-primenenie-v. (Дата обращения: 28.02.2018).

9. Прогнозное моделирование финансовой устойчивости предприятий отрасли по производству безалкогольных напитков на основе рейтинговой оценки [Электронный ресурс] / Молодой учёный. URL: https://moluch.ru/archive/58/8004. (Дата обращения: 19.05.2018).

10. Желают знать, что будет [Электронный ресурс] / Banki. URL: http://www.banki.ru/news/daytheme/?id=8615326. (Дата обращения: 07.04.2018).

11. «12 Big Data кейсов» [Электронный ресурс] / Habr. URL: https://habrahabr.ru/company/npl/blog/318208. (Дата обращения: 15.03.2018).

12. FarmLogs получил $22 млн на Big Data для фермеров [Электронный ресурс] / AppTractor. URL: https://apptractor.ru/info/news/farmlogs-poluchil-22-mln-na-big-data-dlya-fermerov.html. (Дата обращения: 22.03.2018).

13. В промышленности набирает популярность новый цифровой сервис «предиктивное обслуживание» [Электронный ресурс] / IsiCad. URL: http://isicad.ru/ru/articles.php?article_num=19845. (Дата обращения: 20.04.2018).

14. David J. C. MacKay. Information Theory, Inference and Learning Algorithms 1st Edition. Cambridge University Press, 2003. 640 с.

15. Breiman L., Friedman J., Olshen R., Stone C. Classification and Regression Trees. CRC.: Chapman and Hall, 1994. 368 c.

16. Zweig M., Campbell G. ROC Plots: A Fundamental Evaluation Tool in Clinical Medicine. VL.: Clinical Chemistry, 1993. 577 с.

17. Davis J., Goadrich M. The Relationship Between Precision-Recall and ROC Curves. Pittsburgh, PA: International Conference on Machine Learning, 2006. 240 с.

18. Michie D., Spiegelhalter D., Taylor C. Machine Learning: Neural and Statistical Classification. Overseas Press, 2009. 290 с.

19. Powers W., David M. Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation. ML.: Journal of ML Technologies, 2011. 63 с.

20. Computing Precision and Recall for Multi-Class Classification Problems [Электронный ресурс] / Kavita Ganesan. URL: http://text-analytics101.rxnlp.com/2014/10/computing-precision-and-recall-for.html. (Дата обращения: 01.05.2018).

21. AUC ROC (площадь под кривой ошибок) [Электронный ресурс] / Александр Дьяконов. URL: https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA. (Дата обращения: 06.05.2018).

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.