Рассказывание историй о данных — это способность эффективно передавать идеи из набора данных с помощью повествований и визуализаций. Его можно использовать, чтобы поместить аналитические данные в контекст и вдохновить вашу аудиторию на действия. В этой статье я проведу исследование данных в наборе данных Iris. Цель этой статьи — проиллюстрировать важность исследования данных и создать основанную на правилах систему для классификации набора данных Iris, используя только исследование данных.
Набор данных о цветке ириса, иногда называемый набором данных об ирисе Фишера, представляет собой многомерный набор данных, представленный британским статистиком и биологом Рональдом Фишером в его статье 1936 года «Использование множественных измерений в таксономических задачах как пример линейного дискриминантного анализа». Он содержит 3 класса по 50 экземпляров в каждом, где каждый класс относится к типу ириса. Три класса: Iris-setosa, Iris-versicolor и Iris-virginica.
Весь код и блокнот Jupyter доступны по адресу
heebyyy/Iris-Medium-Article (github.com)
Чтение набора данных Iris
Чтобы начать исследование данных в этом наборе данных, импортируйте необходимые библиотеки и загрузите наши данные из Репозитория машинного обучения UCI.
# Importing Libraries import pandas as pd import seaborn as sns import numpy as np import matplotlib.pyplot as plt # Reading the dataset column_names = ["sepal length","sepal width","petal length","petal width","Type of flower"] iris = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",names=column_names) iris.head()
Первые пять строк набора данных показаны ниже.
Проверьте форму данных с помощью ячейки кода ниже,
# Shape of dataset iris.shape
Вывод показывает, что набор данных имеет форму (150, 5) — 150 строк и пять столбцов. Пять столбцов: длина чашелистика, ширина чашелистика, длина лепестка, ширина лепестка и тип цветка (класс, к которому принадлежит каждый цветок).
Набор данных также содержит по 50 экземпляров каждого из трех классов.
Визуализация данных
Двумерная точечная диаграмма
График 2D-диаграммы рассеяния длины чашелистика и чашелистика показан в кодовой ячейке ниже. Диаграммы рассеяния используются для наблюдения взаимосвязей между переменными и используют точки для представления значений.
iris.plot(kind = 'scatter', x = 'sepal length', y = 'sepal width')
Ниже представлена визуализация 2D-диаграммы рассеяния.
Мы не можем извлечь из этого много информации, поэтому цвет был добавлен с использованием типа цветка в качестве оттенка для сюжета. Кодовая ячейка и результат показаны ниже.
# scatter plot of sepal width against sepal length color coded with type of flower sns.FacetGrid(iris, hue='Type of flower', size = 6).map(plt.scatter, 'sepal length', 'sepal width', ).add_legend()
Из приведенной выше визуализации можно заметить, что, используя только длину и ширину чашелистиков, можно провести прямую линию, которая четко отделяет Iris-setosa от двух других классов.
Трехмерная точечная диаграмма
Трехмерный точечный график набора данных радужной оболочки можно увидеть на сайте plotly. Трехмерная точечная диаграмма требует много взаимодействия с мышью для интерпретации данных, вы можете посетить графический веб-сайт, чтобы выполнить это взаимодействие. Кодовая ячейка для создания точечной диаграммы и результирующая визуализация показаны ниже.
import plotly.express as px df = px.data.iris() fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width', color='species') fig.show()
можно также сделать вывод, что, используя длину чашелистика, ширину чашелистика и ширину лепестка, мы можем нарисовать две плоскости, которые могут разделить три класса цветов, даже несмотря на то, что может быть несколько неверных классификаций среди Iris-versicolor и Iris-virginica.
Четырехмерная точечная диаграмма
График 4D Scatter, иногда также известный как парный график, представляет собой график, который показывает парные отношения в наборе данных. Парный график создается с использованием приведенной ниже ячейки кода.
sns.pairplot(iris, hue = 'Type of flower', height = 4, diag_kind='hist', corner=True, )
Ниже приведен результат графика рассеяния 4D.
Парный график создает график каждого столбца по отношению ко всем другим столбцам, а диагональ — это график столбца по отношению к самому себе. В центре внимания находится выделенная визуализация длины и ширины лепестка. Используя только эти две функции, мы можем разделить три класса, нарисовав линии на графике. Несмотря на то, что среди Iris-versicolor и Iris-virginica все еще может быть пара неправильных классификаций, для классификации этих цветов можно создать систему, основанную на правилах.
Система на основе правил
Если длина лепестка меньше или равна 2, а ширина лепестка меньше или равна 1, то цветок однозначно Iris-setosa (синий цвет)
Если длина лепестка меньше 5 и больше или равна 2.5, а ширина лепестка меньше или равна 2 и больше или равна 1, то это Iris-versicolor (оранжевый цвет)
Иначе это Iris-virginica (зеленый цвет)
Заключение
Можно сделать вывод, что длина лепестков и ширина лепестков являются наиболее полезными признаками для идентификации различных типов цветков, и что, используя исследование и визуализацию данных, можно создать основанную на правилах систему (хотя и не на 100% точную) для классификации цветков ириса по их видам. Различные типы.
Для получения дополнительной информации вы можете связаться со мной по электронной почте [email protected] или связаться со мной в LinkedIn.