Машина предсказывает, безопасна ли вода для употребления или нет

Вода является очень важным ресурсом для выживания каждого живого существа в мире. Согласно исследованиям, без еды мы можем прожить 3 недели, а без воды – 3 дня. Хотя вода необходима нам для жизни, вся вода в мире не пригодна для питья, например, океан. Если наша питьевая вода содержит растворенные соли в высокой концентрации, это может вызвать серьезные побочные эффекты, проблемы с почками или даже привести к смерти, если потребление будет длительным. Вода в разных регионах имеет разные свойства. Итак, для этого давайте создадим программу машинного обучения, которая может предсказать, пригодна ли вода для питья или нет. В этом наборе данных есть определенные параметры, такие как pH, жесткость, сульфаты…. который можно научить нашей машине предсказывать, безопасен ли образец воды для питья или нет.

Хорошо, давайте погрузимся в проект

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

Откройте новый файл в блокноте Jupyter.

1.ИМПОРТ НЕОБХОДИМЫХ БИБЛИОТЕК

Здесь мы импортируем все необходимые библиотеки и модули, такие как pandas, sci-kit Learn, matplotlib, seaborn, NumPy и xgboost.
(я добавил встроенные ссылки чтобы они знали свою функцию )

2.ИМПОРТ ДАННЫХ

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

набор данных

3. ОБРАБОТКА ДАННЫХ — РАЗДЕЛЕНИЕ ДАННЫХ НА ПОЕЗД И ИСПЫТАНИЯ

Прежде чем мы обучим нашу машину, нам нужно обработать данные. Здесь мы разделяем данные на входные данные (X имеет свойства воды) и выходные данные (y показывает, является ли вода пригодной для употребления или нет). В этих наборах он далее делится на наборы обучающих тестов в пропорции 90%-10%. Это наша структура данных.

мы также должны масштабировать наши данные для определенных оценок модели.

4. ОЦЕНКА МОДЕЛИ

Чтобы повысить точность, я пробовал разные типы классификаторов.

НАСТРОЙКА ГИПЕРПАРАМЕТРА

Настройка гиперпараметров — это процесс, в котором перед началом процесса обучения выбирается набор оптимальных гиперпараметров для алгоритма обучения.

Для этого назначим классификаторы следующим образом

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

i) Классификатор KNeighbors

ii) Классификатор дерева решений

iii) Классификатор случайного леса

iv) Классификатор AdaBoost

v) Классификатор XGB Boost

Лучшие параметры

Теперь у нас есть наши лучшие параметры

БЭГГИНГ И БУСТИНГ

Бэггинг и бустинг — это ансамблевый метод обучения для улучшения прогнозов модели любого заданного алгоритма обучения.

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

мы применяем бэггинг на классификаторе дерева решений для тестирования.

5.ОБУЧЕНИЕ И ТЕСТИРОВАНИЕ

У нас есть все наши модели, теперь пришло время обучить машину и проверить ее точность.

6. ПРОВЕРКА ТОЧНОСТИ

Из всех классификаторов XGB Boost имеет лучшую производительность.

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