如何了解Ski-learn提供的离散型数据集的构造——以鸢尾花数据集为例

一、利用描述函数

#导入鸢尾花数据集
from sklearn.datasets import load_iris
# 描述鸢尾花数据集
iris = load_iris()
# 输出对iris数据集的描述
print("鸢尾花的数据集描述是\n", iris.DESCR)

上述算法语句的输出:

鸢尾花的数据集描述是
 .. _iris_dataset:

Iris plants dataset
--------------------

**Data Set Characteristics:**

    :Number of Instances: 150 (50 in each of three classes)
    :Number of Attributes: 4 numeric, predictive attributes and the class
    :Attribute Information:
        - sepal length in cm
        - sepal width in cm
        - petal length in cm
        - petal width in cm
        - class:
                - Iris-Setosa
                - Iris-Versicolour
                - Iris-Virginica
                
    :Summary Statistics:

    ============== ==== ==== ======= ===== ====================
                    Min  Max   Mean    SD   Class Correlation
    ============== ==== ==== ======= ===== ====================
    sepal length:   4.3  7.9   5.84   0.83    0.7826
    sepal width:    2.0  4.4   3.05   0.43   -0.4194
    petal length:   1.0  6.9   3.76   1.76    0.9490  (high!)
    petal width:    0.1  2.5   1.20   0.76    0.9565  (high!)
    ============== ==== ==== ======= ===== ====================

    :Missing Attribute Values: None
    :Class Distribution: 33.3% for each of 3 classes.
    :Creator: R.A. Fisher
    :Donor: Michael Marshall (MARSHALL%[email protected])
    :Date: July, 1988

         显然,鸢尾花数据集的特征共有四种,分别是sepel lengtth(花萼长度),sepal width(花萼宽度),petal length(花瓣长度),petal width(花瓣宽度)。类别标签共有三种,分别是setosa(山鸢尾)、versicolour(变色鸢尾)和virgincia(维吉尼亚鸢尾)。

二、以excel工作表的xls格式输出全部鸢尾花数据集

 

# 输出iris的excel
# col是列名
col = list(iris["feature_names"])
# 在iris数据集中,标签在data数组里,标记在target数组里
m1 = pd.DataFrame(iris.data, index=range(150), columns=col)
m2 = pd.DataFrame(iris.target, index=range(150), columns=["outcome"])
# 将上述两张表连接起来,how是DataFrame参数,可以不写,这里用SQL外连接
m3 = m1.join(m2, how='outer')
# to_excel语句转化成excel格式,后缀名为.xls
m3.to_excel("./iris.xls")

        如此,我们可以以excel表格的形式得到鸢尾花数据集全部的内容,共149条样本,将index设为150,是因为列名占了一行。

上述算法语句的输出:在工程的文件夹里会出现iris.xls。

如何了解Ski-learn提供的离散型数据集的构造——以鸢尾花数据集为例_第1张图片

 三、利用散点图直观化展示鸢尾花数据集中样本分布

# 输出iris的散点图
# 分别取出三类样本,0、1和2
samples_0 = X[y == 0, :] # 把y=0,即Iris-setosa的样本取出来
samples_1 = X[y == 1, :] # 把y=1,即Iris-versicolo的样本取出来
samples_2 = X[y == 2, :] # 把y=2,即Iris-virginica的样本取出来
# 散点图可视化,maker设置点的形状,color设置点的颜色,0和1分别表示按照花瓣长度和花瓣宽度遍历
plt.scatter(samples_0[:, 0], samples_0[:, 1], marker='o', color='r')
plt.scatter(samples_1[:, 0], samples_1[:, 1], marker='x', color='b')
plt.scatter(samples_2[:, 0], samples_2[:, 1], marker='*', color='y')
plt.xlabel('花瓣宽度', fontsize=14)
plt.ylabel('花瓣长度', fontsize=14)
plt.show()

 输出为鸢尾花数据集的散点图:

如何了解Ski-learn提供的离散型数据集的构造——以鸢尾花数据集为例_第2张图片

        由散点图可以看出,山鸢尾更容易区分于其他两种鸢尾,而变色鸢尾和维吉尼亚鸢尾的分布具有重叠的部分。

你可能感兴趣的:(python,算法)