Каждый владелец Android, вероятно, знаком с Google Play Store, который я использовал для загрузки приложений на свой телефон Android. Я нашел набор данных для приложений Google Play Store, пока просматривал список наборов данных Kaggle.

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

Набор данных

Я скачал свой набор данных с Kaggle. Часть веб-скрапинга была сделана другим пользователем Kaggle и сохранена там. После очистки я сократил свой набор данных с 10841 до 9367 строк.

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

Исследовательский анализ

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

Вопрос 1: Какие количественные характеристики соотносятся с рейтингом приложений?

Этот конкретный вопрос связан с проблемой моделирования признаков. Я не хочу, чтобы в моем наборе данных были одинаковые объекты.

Карта кластера включает все количественные значения моего набора данных. Столбцы "Обзоры" и "Установки" имеют наивысший коэффициент корреляции 0,64. Если один из коэффициентов корреляции ближе к единице, это может указывать на то, что эти два столбца содержат идентичную информацию.

Вопрос 2: В какой категории больше всего приложений в магазине Google?

График подсчета Seaborn автоматически подсчитывает количество всех приложений в каждой категории и создает гистограмму. Согласно графику, самая большая категория приложений - это Семейные. Вторая по величине категория - Игры, а третья - Инструменты. Наименьшее количество приложений в категориях: Красота, События и Воспитание.

Вопрос 3: Каков средний рейтинг приложений в разных категориях?

Сюжеты о кошках Сиборна позволяют увидеть диапазон оценок и средний рейтинг каждой категории. Категории с наибольшим диапазоном оценок: Искусство и дизайн, События и Воспитание. Категория «Знакомства» имеет самый низкий рейтинг.

Подготовка к прогнозному моделированию

Когда все мои столбцы были в правильном формате, мне нужно было подготовить набор данных для моделирования.

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

Когда X и y готовы, я разделил их на наборы поездов и тестов.

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

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

Прогнозное моделирование

Вопрос 4. Можно ли предсказать рейтинг приложений в Google Play Store на основе предоставленной информации?

Моя цель моделирования - предсказать рейтинг Google Apps. Это проблема регрессии, потому что я пытаюсь предсказать непрерывную переменную.

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

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

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

Чтобы предсказать рейтинг, я утомил разные модели, такие как линейная регрессия, регрессор случайного леса и регрессор XGBoost. После применения этих моделей к моему набору данных лучшие MSE и RMSE были созданы с помощью XGBoost Regressor.

Регрессор XGBoost

XGBoost означает e X treme G radient B oosting.

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

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

Пожалуйста, смотрите ниже параметры, которые я использовал для своей модели:

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

Ниже представлена ​​лучшая итерация оценок MSE и RMSE для набора тестов:

Вопрос 5. Какие функции важны при определении рейтинга приложения?

Чтобы ответить на этот вопрос, я визуализировал коэффициент важности XGBoost Regressor для каждой функции в модели.

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

использованная литература

Исходный источник набора данных: https://www.kaggle.com/lava18/google-play-store-apps

Что такое среднеквадратичная ошибка и среднеквадратичная ошибка? Https://www.vernier.com/til/1014/

Нежное введение в XGBoost для прикладного машинного обучения: https://machinelearningmastery.com/gentle-introduction-xgboost-applied-machine-learning/

Репозиторий GitHub