на основе измерения дыхания, влажности и температуры

Этот проект предназначен для прогнозирования типа обработки почвы с использованием данных измерений дыхания, влажности и температуры почвы из экспериментов по глобальному потеплению 1994–2014 гг. Основной набор данных загружается с веб-сайта Data.gov по этой ссылке.
Данные для этого исследования были получены из сочетания неопубликованных данных и опубликованных литературных данных с целью определения того, как будущее потепление климата изменит скорость дыхания почвы.

Исследование данных

Данные содержат 3 категориальные характеристики: Обработка, Тип экосистемы и Сезон, а все остальные характеристики являются числовыми.

Существует 4 типа обработок Контрольная обработка и Обработка потеплением, которые включают в себя низкоуровневое потепление, потепление второго и третьего уровня для проверки влияния потепления на скорость дыхания почвы.

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

Обработка данных

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

Я использовал библиотеку Scikit Learn, чтобы разделить данные на обучающие и тестовые данные.

Построение модели

Я попробовал 4 разных классификатора машинного обучения (SVC, Randomforest, DecisionTree и GradientBoosting) и оценил каждый из них с точностью, оценкой F1 и матрицей путаницы.

В то время как классификатор SVC дал плохие результаты, а GradientBoosting дал хорошие результаты, RandomForestClassifier дал лучшие результаты с точностью более 80% и оценкой F1 и минимальным количеством ложных срабатываний и ложных отрицаний.

Улучшение модели

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

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

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

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

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

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

Резюме

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