Источник набора данных: Набор данных 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. может быть, это потому, что количество наблюдений не так уж и много.