Выбор модели, обсуждение важности функций и приложение Flask, которое можно попробовать.

В рамках моих поисков по науке о данных, посвященных исследованию индустрии творчества, использование алгоритмов классификации, чтобы попытаться предсказать результат кампании на Kickstarter, казалось идеальным проектом. Пока я пишу это, Kickstarter помог 182 897 проектам стать успешными, и их миссия - помочь воплотить творческие проекты в жизнь. С 4 284 585 270 долларов США, выделенным на проекты Kickstarter, это мощная платформа как для начинающих, так и для опытных авторов.

Кампании на Kickstarter работают по модели финансирования «все или ничего». Если кампания терпит неудачу, деньги не переходят из рук в руки, что ложится тяжелым бременем неудач на создателей кампании, которые, возможно, вложили в кампанию собственное время и деньги.

В целях своего анализа я сосредоточился на разработке общего надежного алгоритма прогнозирования с побочным квестом, заключающимся в том, чтобы позаботиться о создателях. Для этого я решил сосредоточиться на кривой AUC (Площадь под кривой), ROC (Рабочие характеристики приемника) в качестве основного показателя оценки, обращая внимание на оценка точности для класса Успех в моем анализе, чтобы гарантировать, что мы не сможем предсказать слишком много успехов, которые окажутся неудачными (таким образом, минимизируя количество ложных срабатываний).

Данные для этого анализа были получены с сайта Web Robots, который собирает данные Kickstarter на постоянной основе. Я изучил период с апреля 2018 года по март 2019 года, в течение целого года успешных и неудачных кампаний.

Тип используемой информации - это данные, которые будут доступны при запуске кампании, например:

  • описание кампании (используется как длина прописью)
  • продолжительность кампании (в днях)
  • одобрена ли кампания на Kickstarter
  • цель в долларах
  • место проведения кампании (в США или нет)
  • категория кампании

Немногим более половины кампаний в моем наборе данных были успешными (54% успеха, 46% неудач), поэтому классы были достаточно хорошо сбалансированы.

В результате первоначальной оценки нескольких алгоритмов классификации и на основе площади под кривой (AUC) в качестве основного показателя оценки XGBoost и логистическая регрессия показали лучшие результаты.

Двойная проверка оценки точности для класса УСПЕХА кампании, чтобы убедиться, что мы не прогнозируем слишком много успехов, которые обернулись бы неудачами. В целом лучший результат - XGBoost с оценкой точности 0,71.

После запуска XGBoost на тестовых данных он работал стабильно, что означает, что в данных не было переоснащения или неполного соответствия. Оценка точности для класса успеха немного увеличилась с 0,71 до 0,72.

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

Используя метрику, называемую значения SHAP, мы можем изучить, какие атрибуты имеют большее значение для успеха кампании.

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

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

Чтобы продемонстрировать этот алгоритм прогнозирования в действии, я разработал приложение Flask с использованием модели логистической регрессии, второго по производительности алгоритма, который оказался проще и быстрее в развертывании, чем XGBoost.

Само приложение можно найти здесь - поиграйте со своей любимой кампанией на Kickstarter и дайте мне знать, чем все закончится!

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

  • Установите небольшую цель в долларах США, соответствующую масштабам кампании.
  • Не растягивайте кампанию за последние 30 дней
  • Тщательно продумайте категорию
  • Получите одобрение Kickstarter, если возможно

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

Все материалы для этого проекта можно найти на моей странице GitHub.

Наташа Бордерс, MBA

Связано: @natashaborders