3.3.1 对数据集进行分析
在本节中,我们将使用scikit-learn内置的酒数据集来进行实验,这个数据集也包含在scikit-learn的datasets模块当中。下面我们在Jupyter Notebook中新建一个Python 3的记事本,从头开始完成这个小项目。
首先,我们要把酒的数据集载入项目中,在Jupyter Notebook中输入代码如下:
from sklearn.datasets import load_wine #从sklearn的datasets模块载入数据集 wine_dataset = load_wine()
现在读者朋友可能会比较好奇这个酒数据集中的数据都包含些什么。实际上,使用load_wine函数载入的酒数据集,是一种Bunch对象,它包括键(keys)和数值(values),下面我们来检查一下酒数据集都有哪些键,在Jupyter Notebook中输入代码如下:
#打印酒数据集中的键 print('\n\n\n') print('代码运行结果:') print('==============================') print("红酒数据集中的键:\n{}".format(wine_dataset.keys())) print('==============================') print('\n\n\n')
运行代码,会得到结果如图3-16所示。
图3-16 酒的数据集中的键
【结果分析】从结果中我们可以看出,酒数据集中包括数据“data”,目标分类“target”,目标分类名称“target_names”,数据描述“DESCR”,以及特征变量的名称“features_names”。
那么这个数据集中究竟有多少样本(samples),又有多少变量(features)呢?可以使用.shape语句来让Python告诉我们数据的大概轮廓,在Jupyter Notebook中输入代码如下:
#使用.shape来打印数据的概况 print('\n\n\n') print('代码运行结果:') print('==============================') print('数据概况:{}'.format(wine_dataset['data'].shape)) print('==============================') print('\n\n\n')
运行代码,会得到结果如图3-17所示。
图3-17 酒的数据集的概况
【结果分析】从图3-17中我们可以看出,酒数据集中共有178个样本,每条数据有13个特征变量。
更细节的信息,我们可以通过打印DESCR键来获得,下面我们输入代码如下:
#打印酒的数据集中的简短描述 print(wine_dataset['DESCR'])
运行代码,我们将会看到一段很长的描述,如图3-18所示。
图3-18 酒数据集的部分简短描述
【结果分析】从结果中我们可以看出,酒数据集中的178个样本被归入3个类别中,分别是class_0,class_1和class_2,其中class_0中包含59个样本,class_1中包含71个样本,class_2中包含48个样本。而从1)至13)分别是13个特征变量,包括酒精含量、苹果酸、镁含量、青花素含量、色彩饱和度等。我们先不用管每一个变量具体的含义,接下来先对数据进行一些处理。