Методика машинного обучения в наборе данных Google Play (Python)

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Данные - это жизненно важный ресурс для бизнеса. Делая прогнозы на основе анализа данных, можно определить разницу между тем, чтобы быть конкурентоспособным или еще больше отставать. Для того чтобы использовать ценность корпоративных данных и данных о клиентах и принимать решения, которые позволяют бизнесу опережать конкурентов, машинное обучение - это решение. Методы машинного обучения помогают нескольким отраслям промышленности в прогнозном обслуживании, мониторинге состояния, динамическом ценообразовании и анализе рисков. Более того, ML более точно прогнозирует результаты, не будучи специально обученным этому. Таким образом, для прогнозирования лучших приложений на платформе Google Play Store выбираются алгоритмы машинного обучения для выполнения.

ПОДГОТОВКА НАБОРА ДАННЫХ

ШАГ 1: Подготовка, подготовка данных является неотъемлемой частью методов ML, как правило, это процесс очистки, сбора, структурирования и организации данных. При подготовке были выбраны только некоторые переменные для выполнения методов ML.

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

#Playstore Table (after label encoding)

Checking the installs rate:-

installs= (sum(Playstore[‘Installs’])/len(Playstore[‘Installs’].index))*100

[OUT]: 798.156605220174

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

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)

X_train.info()

Dependent = Playstore[‘Installs’] #selecting target variable

Independent = Playstore.drop(‘Installs’,axis=’columns’)

Здесь переменная installs является зависимой переменной, а остальные переменные задаются как независимые.

X = Independent # Indpendent variables

y = Dependent # Target variable

Created the train and test dataset:

4.2.2. LOGISTIC REGRESSION

Шаг 3: Применение логистической регрессии к подготовленному набору данных с помощью функции логистической регрессии ().

logreg = LogisticRegression()

logreg.fit(X_train, y_train)

Y_pred = logreg.predict(X_test)

acc_log = round(logreg.score(X_test, y_test) * 100, 2)

acc_log

Accuracy: 41.14.

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

Шаг 4: Оценка производительности модели

Печать классификационной записи из теста:

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

Чтобы проиллюстрировать более кратко: -

Шаг 5: Оценочные баллы для результатов классификации (точность, прецизионность и отзыв)

Точность: 0.41144444444444445Оценка точности : 0.14330768271960476Оценка отзыва : 0.2239805430340715

Приведенный выше анализ двух отчетов показывает оценки точности модели и проверку производительности. Как можно видеть, существуют различия между точностью, прецизионностью и оценкой отзыва. Оценка . precision равна 0,14, что говорит об истинных положительных результатах, что означает, что точный прогноз, сделанный моделью, равен 0,14. Принимая во внимание, что значение отзыва равно 0,22, что представляет неправильный прогноз, сделанный моделью, которая равна 0,22. Тем не менее, после просмотра значений точности и отзыва модели, это указывает на то, что модель имеет низкую точность с высоким показателем отзыва.

Шаг 6: Переходим к оценке модели: -

Анализ PCA - это метод повышения интерпретируемости модели путем удаления некоторой информации из наборов данных. Он также вычисляет ковариационную матрицу переменных. При выполнении scikit learn извлекается информация об объясненной дисперсии, и на приведенной ниже диаграмме показана совокупная объясненная дисперсия.

График логистической регрессии PCA

Важно распознать набор чисел в PCA, и самый дешевый способ их выучить - это нанести их на график. Это важно выполнять, потому что это помогает ранжировать факторы по их важности. Приведенная выше диаграмма описывает количество отклонений каждого основного компонента. Обучающие данные были масштабированы и рассчитана объясненная дисперсия. Из приведенного выше графика можно прочитать процент отклонения в объясненной информации. Итак, первый компонент объясняет 0,3% дисперсии, а другие первые два компонента объясняют 0,5%, однако первые три описывают 0,7% и так далее.

Шаг 7: Матрица путаницы

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

Матрица путаницы логистической регрессии

Выполненная матрица показывает: -

Истинный позитив: 812 записей из магазина Google Play(playmarket-download.com), которые были правильно предсказаны моделью. Ложноположительный результат: 99 случаев, которые были неправильно предсказаны.

Ложноотрицательные и ложноположительные значения составляют 11 и 79, где 11 были неправильно предсказаны.

ДЕРЕВО РЕШЕНИЙ

Дерево решений - лучший метод машинного обучения (контролируемое обучение), считается наиболее распространенным и простым для понимания. Он использует структуру, подобную дереву, которая включает корневой узел, ветви и листовые узлы. Где каждый узел описывает тест по атрибуту, ветви показывают результат, а каждый конечный узел обозначает метку класса. Однако первый узел дерева называется корневым узлом.

Шаг 1:

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

исход:

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

Оценка тренировочного сета: 0.8247

Оценка тестового набора: 0.8232

Оценка обучающего и тестового наборов данных показывает значение 0,82 при разнице между ними в 0,0015. Дерево решений обеих моделей с критерием Джини дало хорошее значение, которое указывает на отличную модель с оценкой выше 80%.

Шаг 2:

Следуя этим, now изменит критерий на "энтропию", которая определяет разделение между атрибутами и сбором данных.

DecisionTreeClassifier(критерий='энтропия', min_samples_split=50) Оценка точности данных поезда в качестве критерия энтропии:) 0,999857136Оценка точности тестовых данных в качестве критерия энтропии:) 0,999222222

Когда критерий изменяется на энтропию, значение также переключается. Точность в качестве критерия энтропии отображает 0,99%, в котором значение min_samples_split равно 50. Можно заметить, что существует большая разница, когда критерий изменился. Существенная причина заключается в том, что граница принятия решения смягчается за счет увеличения оценки min_samples_split и, следовательно, защищена от переобучения.

Шаг 3: Подтвердите информацию о визуализации дерева решений: -

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

Точечный график дерева решений

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

Шаг 4: Классификационный анализ:

Классификационное наблюдение модели дерева решений представляет точность 1,00, что означает 100%. Кроме того, он показывает 95% и 94% точности и отзыва. Модель с точностью 1,00 указывает на то, что модель отлично подходит для любого обучающего набора данных, но высокий балл точности обычно указывает на несбалансированные данные или иногда учитывает неправильную реализацию, например, модель использует обучающую информацию для тестирования. Правильная подгонка к набору обучающих данных может привести к ухудшению работы модели с новыми данными, например, к переобучению. Для лучшего обобщения можно сократить время выполнения на обучающих данных. Это также называется регуляризацией.

K- БЛИЖАЙШИЙ СОСЕД (K-NN)

Техника машинного обучения K- nearest neighbors (KNN) является частью семейства контролируемого обучения. Он используется как для регрессии, так и для классификации, основной целью этого метода является оценка расстояния между поездом и тестовой информацией, где k-число - это точка, которая начинается с самых близких данных. Алгоритм K-NN измеряет вероятность тестовой информации и обучающих точек, однако в регрессионной ситуации значение k является средним значением обучающих данных. Более того, выбрать значение k непросто, потому что значение k означает, что оно оказывает большое влияние на результаты. Специалисты по обработке данных обычно рассматривают значение k как квадратный корень из числа записей (нечетное число), если классы равны 2. Это простой способ найти k средних.

Однако причина выбора метода K-NN заключается в том, что он также дает высокие прогнозы по результатам и может конкурировать с другими наиболее значимыми моделями.

Шаг 1: Внедрение техники

Применение метода K-NN в наборе данных Google Play, который разделен на два набора: обучающий и тестовый, где значение K задается как квадратный корень из числа записей. Количество записей равно 29 999, а рассматриваемое значение k равно 173 (нечетное число).

Выход:

Тестирование: 0.9771111111111112Обучение: 0.978760893375875

После просмотра набора данных для тестирования и обучения, который показывает 97,7% и 97,8% точности модели, это означает, что это действительно хорошая модель. Значение модели k равнялось 173, что является квадратным корнем из данных записей. Сравнивая K-NN с другими предыдущими моделями, можно сказать, что она показывает лучшие результаты, чем логистическая регрессия и дерево решений. Однако, чтобы подробнее изучить K-NN, мы проверим частоту ошибок и построим график поездов и результатов тестов.

Шаг 2: Соотношение частоты ошибок к значению K

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

Здесь реализуется обучающий набор данных классификатора K-NN для вычисления соответствующей ошибки обучения.

График частоты ошибок K-NN

Минимальная ошибка: - 0,008888888888888889 при K = 0

Приведенные выше результаты показывают минимальную ошибку обучающего набора в алгоритме K-NN при k=0. Ошибка обучения является наименьшей при k =0 и увеличивается при увеличении k. Частота ошибок составляет 0,008, что указывает на минимальное значение k. Однако, когда k = 23, наблюдается сбой, разные значения отображают различные ошибки проверки.

Шаг 3: Определение частоты ошибок с точностью

Частота ошибок K-NN с точностью

Максимальная точность: - 0,9911111111111112 при K = 0

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

Шаг 4: Построение графика поезда и результатов теста (K-NN)

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

Таблица значений тестов и тренировок

Шаг 5: Отчет о классификации K-NN

Отчет о классификации K-NN представляет значения точности, прецизионности и отзыва. Модель достигла 98% точности при 83% прогноза, где отзыв составляет 78%, что означает, что 0,78 были точно спрогнозированы в модели. Приведенная выше таблица показывает, что алгоритм K-NN хорошо работает в модели тестирования набора данных Google Play с хорошими показателями точности и отзыва.

SVM (МАШИНА ОПОРНЫХ ВЕКТОРОВ

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

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

Шаг 1: Применение метода SVM к набору данных playstore

Результаты:

Точность тестирования составляет : 85.15555555555555 % Точность обучающих данных : 84.86118386589837 %

Результаты точности обучения алгоритма машинного обучения SVM указывают на достаточно хорошую модель с 84%. Принимая во внимание, что тестовый набор данных также представляет хороший результат 85%. SVM хорошо работает с набором данных из 29 999 записей. Далее, выполним визуализацию SVM.

Шаг 2: Создание графика SVM

SVM линейный разделяемый информационный граф

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

Шаг 3: Проверка других результатов SVM

Оценка точности: 0.8516SVC f1-оценка : 0.5172 Точность SVC: 0.5456 Отзыв SVC: 0.5016

В приведенной выше таблице показаны результаты машинного метода опорных векторов, SVM достиг точности 85%, где его среднее гармоническое значение между точностью и отзывом составляет 51%. Оценка модели f1 хороша для модели, но не очень хороша. Переходя к значениям точности и отзыва в машинном обучении, определите положительные фактические результаты и сколько из них было правильно проанализировано. Здесь из приведенной таблицы можно сказать, что модель имеет точность 0,54, что означает, что она корректирует 50% времени. С другой стороны, отзыв представляет собой 0,50 балла, что указывает на то, что 50% предсказаны правильно.

#Прогнозирование лучших функций Google Play Store:

Прогнозирование по основным переменным

Из приведенного выше графика видно, что лучшими функциями магазина Google Play являются Ad_Supported, количество рейтингов, Max_installs, Min_installs, Установки и рейтинг. Это десять основных функций; можно сказать, что эти переменные необходимы для создания приложения, которое влияет на отношение клиентов к приложению. Большинство людей, как правило, устанавливают приложения, если рейтинги высоки, но реже всего выбирают платные (обсуждалось ранее). Используя встроенную функцию класса в Python, важные переменные обнаруживаются, как указано на приведенном выше графике.

СРАВНЕНИЕ МЕЖДУ МОДЕЛЯМИ:

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

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

Шаг 1: Печать результатов всех моделей и графиков результатов

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

Приведенные выше два рисунка, гистограмма и таблица иллюстрируют разницу между результатами метода машинного обучения. Результаты каждого алгоритма показывают их производительность в наборе данных Google Play. Точность и другие показатели указаны в приведенной выше таблице. Чтобы доказать правильность нашего анализа, в эксперименте были добавлены другие значения, такие как баллы точности и отзыва. Оценка точности колеблется от 1 до 100, где дерево решений получило высокую точность с хорошим значением точности и оценкой отзыва. Следовательно, это означает, что результаты этого исследования точны, поскольку оно продемонстрировало модель с наилучшей точностью, прецизионностью и показателями отзыва. Более того, столбчатый график представляет собой визуализацию четырех выбранных результатов точности алгоритма, в которых DTC (классификатор дерева решений) имеет 99%. В то время как, глядя на модель логистической регрессии, она имеет самую низкую точность с более низким показателем точности и напоминает, что считает плохую модель по сравнению с тремя другими. Однако K-NN также показывает хорошую точность с 98%, но имеет низкое значение точности по сравнению с деревом решений. Таким образом, дерево решений является лучшей моделью для набора данных Google Play.

СПОРНЫЙ МОМЕНТ :

В предыдущем исследовании этой статьи обсуждались и анализировались результаты алгоритмов машинного обучения. В этом разделе будут обсуждаться достижения, производительность и результаты методов машинного обучения, которые были реализованы в этой статье. В главе "Литература" многие статьи помогли нам выяснить последствия и наилучший способ применения методов в наборе данных Google play. Выполняя метод top good one, мы сравнили результаты, чтобы определить наилучший метод для выбранного набора данных. Однако в ходе внедрения возникло много проблем. Например, работа с переменной, которая была недвоичной переменной и имела разные записи и технику применения, была сложной. Тогда понять SVM и другие модели, например, как это работает в Python, было непросто. При выполнении моделей машинного обучения на Python возникло много проблем, таких как проблемы с библиотекой, синтаксические ошибки и так далее. Следуя им, это исследование показало, что R не лучше, чем Python, в случае реализации методов. Язык R также используется для части визуализации, которая хорошо работала во время EDA, но при выполнении моделей с огромным набором данных в R, таких как Google play с более чем 20 000 записей, язык R становится взрывоопасным. Итак, для выполнения моделей машинного обучения был выбран Python. В двух словах, язык R также является отличным выбором для статистического анализа и моделей, но с точки зрения функциональности и операций R имеет ограниченные библиотеки. Принимая во внимание, что Python делает кодирование удобным и читаемым для пользователей. Кроме того, он обладает множеством функциональных возможностей и считается лучшим выбором для моделей ML.

Кроме того, тем временем это исследование выявляет наилучшую модель машинного обучения. Было трудно выбрать и признать методы, которые могут вызвать замешательство у студентов, особенно когда доступны онлайн-ресурсы. Набор данных Google Play фокусируется на деталях приложений, в которых предсказать лучшие приложения с помощью методов data science было довольно сложно. Глава "Обзор литературы" помогла нам определить наилучший метод машинного обучения для данных магазина Google Play. Сравнивая точность модели с другими показателями, такими как точность и отзывчивость, выбирается лучшая модель для магазина Google Play. Тип переменных данных был единственным ограничением этой статьи. В будущей работе необходимо сосредоточиться на большем количестве установок и рейтинге приложений в Google Play, которые могут помочь прогнозировать более точные результаты. Создание кластеров и определение взаимосвязи между рейтингом и установками позволяет более точно анализировать отдельные приложения.

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

заключение:

В этой статье предпринята попытка сравнить модели машинного обучения и спрогнозировать лучшие приложения в Google Play. Google Play стал известной платформой с точки зрения загрузки программных приложений. У каждого пользователя есть свой собственный опыт и обратная связь с приложениями. В этом исследовании и выводах предлагаются различные аспекты дизайна приложений, которые следует учитывать создателям. Большинству пользователей бесплатное приложение нравится больше, чем платная программа на платформе Google Play. В этом исследовании мы удалили 29 999 записей данных с онлайн-сайта, где установки играют основную роль во всем наборе данных. При проведении предварительного анализа исследование выявило лучшие приложения двух категорий, которые высоко устанавливаются пользователями, например, в категории "музыка" и "медицина". Вслед за этим в Google Play была замечена такая важная функция, как рейтинг и бесплатная переменная, большинство установщиков загружают приложения, если приложение бесплатное или имеет хороший рейтинг.

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

В этой статье в наборе данных Google Play используются четыре метода выборочного контролируемого машинного обучения, которые могут обеспечить лучшие результаты и ускорить процесс принятия решений. Каждая модель была обучена с точки зрения получения наилучших результатов и исходов от методов, в которых классификатор дерева решений показал наиболее эффективную технику в выбранном наборе данных. Дерево решений достигло точности 99% с высокой точностью и отзывчивостью, 95% и 94% соответственно. Результаты DTC указывают на то, что модель идеально подходит, и она быстро адаптировала информацию. Однако K-NN был медленным и представлял хорошую точность, но имел низкий балл отзыва, отзыв показывает, насколько точен прогноз модели. С другой стороны, SVM и логистическая регрессия показали плохие результаты по сравнению с деревом решений и классификатором K-NN. Таким образом, метод дерева решений является более точным алгоритмом и надежным.

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


Источник: blog.devgenius.io

Комментарии: