机器学习数据集之鸢尾花

Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集, 它包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。

自变量 feature 特性

  • petal length 花瓣长度
  • petal width 花瓣宽度
  • sepal length 花萼长度
  • sepal width 花萼宽度

因变量 Target Variable:Species 物种

  • versicolor 杂色鸢尾
  • virginica 维吉尼亚鸢尾
  • setosa 山鸢尾

用段小程序来看看它长什么样


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

from sklearn import datasets
from pandas.plotting import scatter_matrix

plt.style.use('ggplot')
iris = datasets.load_iris()

print('--- %s ---' % 'iris type')
print(type(iris))
print('--- %s ---' % 'iris keys')
print(iris.keys())
print('--- %s ---' % 'iris data')
print(type(iris.data))
print('--- %s ---' % 'iris target')
print(type(iris.target))
print('--- %s ---' % 'iris data shape')
print(iris.data.shape)
print('--- %s ---' % 'iris target names')
print(iris.target_names);

X = iris.data
y = iris.target
df = pd.DataFrame(X, columns= iris.feature_names)

print('--- %s ---' % 'df.head')
print(df.head())
print('--- %s ---' % 'df.info')
print(df.info())
print('--- %s ---' % 'df.describe')
print(df.describe())

print('--- %s ---' % 'iris scatter_matrix diagram')
_ = scatter_matrix(df, c=y, figsize=[8,8], s=150, marker = 'D')

输出结果:

--- iris type ---

--- iris keys ---
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])
--- iris data ---

--- iris target ---

--- iris data shape ---
(150, 4)
--- iris target names ---
['setosa' 'versicolor' 'virginica']
--- df.head ---
   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0                5.1               3.5                1.4               0.2
1                4.9               3.0                1.4               0.2
2                4.7               3.2                1.3               0.2
3                4.6               3.1                1.5               0.2
4                5.0               3.6                1.4               0.2
--- df.info ---

RangeIndex: 150 entries, 0 to 149
Data columns (total 4 columns):
sepal length (cm)    150 non-null float64
sepal width (cm)     150 non-null float64
petal length (cm)    150 non-null float64
petal width (cm)     150 non-null float64
dtypes: float64(4)
memory usage: 4.7 KB
None
--- df.describe ---
       sepal length (cm)  sepal width (cm)  petal length (cm)  \
count         150.000000        150.000000         150.000000   
mean            5.843333          3.054000           3.758667   
std             0.828066          0.433594           1.764420   
min             4.300000          2.000000           1.000000   
25%             5.100000          2.800000           1.600000   
50%             5.800000          3.000000           4.350000   
75%             6.400000          3.300000           5.100000   
max             7.900000          4.400000           6.900000   

       petal width (cm)  
count        150.000000  
mean           1.198667  
std            0.763161  
min            0.100000  
25%            0.300000  
50%            1.300000  
75%            1.800000  
max            2.500000  
--- iris scatter_matrix diagram ---

Pandas 绘制的鸢尾花分散矩阵图


除鸢尾花数据集之外, sklearn 还有一些举例用的玩具数据集, 可以直接用如下函数加载

  • 鸢尾花数据集, 可以用来做分类练习
    load_iris([return_X_y])

  • 波士顿房价数据集, 可以用来做回归分析
    load_boston([return_X_y])

  • 糖尿病数据集, 可用来做回归分析
    load_diabetes([return_X_y])

  • 数字数据集, 可以用来做分类练习
    load_digits([n_class, return_X_y])

  • 兰纳胡德体能训练的数据, 可用来做多变量回归分析
    load_linnerud([return_X_y])

  • 酒类数据集, 可用做分类练习
    load_wine([return_X_y])

  • 乳腺癌数据集, 可用做分类练习
    load_breast_cancer([return_X_y])

如果你需要原始数据文件, 可以从 https://archive.ics.uci.edu/ml/datasets.html 下载这些数据集,
其中鸢尾花数据集就在 https://archive.ics.uci.edu/ml/machine-learning-databases/iris/

你可能感兴趣的:(机器学习数据集之鸢尾花)