Источник набора данных: Набор данных Iris из библиотеки SKLearn.

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

проверка корреляции данных

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

коробочные диаграммы

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

парный график

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

Моделирование данных

для моделирования данных я выбрал 2 подхода для прогнозного моделирования. то есть с помощью алгоритма случайного леса и последовательной модели keras.

разделение данных

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

масштабирование данных

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

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

здесь я тренировал данные как с масштабированными, так и с немасштабированными данными. и отобразить оценку для тестовых разделенных данных. результаты следующие:

без масштабирования данных:

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

с масштабированием данных:

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

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

последовательная модель

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

модель, которую я сделал:

Я использовал 2 скрытых слоя со 100 и 50 нейронами. с relu в качестве обеих функций активации. Я также использовал отсевающий слой, чтобы предотвратить переобучение в обучении. а для выходного слоя я назначаю 3 нейрона, как количество видов. и я использовал функцию softmax, чтобы она могла быть основана на вероятности. используемая функция потерь - categorical_crossentropy, потому что у нас есть 3 класса для прогнозирования и с оптимизатором rmsprop.

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

мы видим, что с помощью этой модели мы можем достичь 100% точности при применении ее к набору данных радужной оболочки. я также проверяю графики точности и потерь модели. вот результаты:

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

Заключение

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