Эта статья является продолжением Часть 1

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

Для любого режима машинного обучения очень важно подготовить набор данных. Если вы не очистили и не подготовили свои наборы данных, ваша модель не будет работать.

Первоначальный шаг — импорт пакетов (библиотек)

Из библиотеки toppandas, используемой для импорта данных, управления и хранения набора данных в виде фрейма данных, Numpy используется для всех математических вещей, matplotlib для виртуализации данных в различные гистограммы и графики, так же для лучшей визуализации лучше всего подойдет библиотека seaborn. Кроме того, для машинного обучения, работающего с набором данных, используется библиотека sklearn из подпакетов.

Импорт и чтение набора данных

Набор данных stdset.csv был сохранен в переменной stdrecord pandas pd, теперь вы можете получить доступ к любой записи в своем блокноте python jupyter.

Что, если ! Отсутствующие значения

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

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

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

Что, если! Категориальные данные

В случае числовых значений мы можем найти среднее значение, убрать пропущенные значения и выполнить другие математические операции. Машинное обучение может только читать и понимать числовое значение. Но нельзя брать среднее значение сдать, переделать, пересдать. Мы можем кодировать категориальные значения в числовые значения, но используя Label Encoder, One Hot Encoder (библиотека sklearn) и dummy (библиотека pandas).

Примените кодировщик к одному столбцу, где это необходимо, и вызовите имя метки в кодировщик.

Используя Label Encoder, он преобразует категориальные значения «Pass» как 0, «Redo» как 1 и «Retake» как 2 в один столбец Finalgrades из наших наборов данных.

Манекен Pandas похож на ярлык Encoder, но он разбивается на каждый отдельный столбец. Fromбиблиотека sklearn One Hot Encoder работает аналогично для категориальных значений.

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

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

Модель обучения

Разделение доступного набора данных на обучающий и тестовый с помощью sklearn.model_selection.train_test_split

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

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

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

Алгоритм машинного обучения

После того, как данные разделены на обучающие и тестовые, пришло время подогнать обучающие данные к модели. Использование DecisionTreeClassifier().

Как только режим подходит, мы можем предсказать результат, используя dtfit.predict(x_test) в тестовом наборе данных.

Показатель эффективности

Оценка

При оценке модели мы пытаемся увидеть производительность алгоритма, используя metrics.accuracy_scoure(y_test, y_pred). сравнение наборов данных y_test и y_pred.

из sklearn.metrics импортировать точность_оценки, путаницы_матрицы, классификации_отчета

Матрица путаницы

Отчет о классификации

Визуализация дерева решений

Оптимизация дерева решений

Часть 2: Исходный код Github/JupyterNotebook

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

Об авторе: Рагху Байя, специалист по данным, машинное обучение и глубокое обучение.

Эксперт по большим данным