Sklearn内置了一些机器学习的数据集,其中包括鸢尾花数据集、乳腺癌数据集、波士顿房价数据集、糖尿病数据集、手写数字数据集和酒质量数据集等。
7.4.1 鸢尾花数据集简介
“鸢尾花”数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含3类共150条记录,每类各50个数据。
首先需要导入“鸢尾花”数据集,然后查看数据集的属性,输入如下:
from sklearn import datasets
iris = datasets.load_iris()
print(iris.keys())
输出如下所示。
dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename'])
查看数据集的详细数据,输入如下:
import pandas as pd
pd.DataFrame(iris.data).head()
输出如下所示。
0 1 2 3
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
查看数据集的目标标签,输入如下:
print(iris.target)
输出如下所示。
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]
查看数据集的目标,输入如下:
print(iris.target_names)
输出如下所示。
['setosa' 'versicolor' 'virginica']
查看数据集的描述信息,输入如下:
print(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:
… … … … … …
查看数据集的特征字段,输入如下:
print(iris.feature_names)
输出如下所示。
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
查看数据集的路径,输入如下:
print(iris.filename)
输出如下所示。
f:\uninstall\python39\lib\site-packages\sklearn\datasets\data\iris.csv
7.4.2 乳腺癌数据集简介
乳腺癌数据集,数据量是569条,实例中包括诊断类和属性,用数据集的70%作为训练集,数据集的30%作为测试集,训练集和测试集中都包括特征和诊断类。
导入数据集,查看数据集的属性,输入如下:
from sklearn import datasets
breast_cancer = datasets.load_breast_cancer()
print('******数据集的属性******')
print(breast_cancer.keys())
输出如下所示。
******数据集的属性******
dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename'])
接下来,我们可以根据数据的具体属性进行查看,代码如下:
print('\n******数据集的数据******')
print(breast_cancer.data)
print('\n******数据集的目标标签******')
print(breast_cancer.target)
print('\n******数据集的框架******')
print(breast_cancer.frame)
print('\n******数据集的目标名称******')
print(breast_cancer.target_names)
print('\n******数据集的描述******')
print(breast_cancer.DESCR)
print('\n******数据集的字段******')
print(breast_cancer.feature_names)
print('\n******数据集的路径******')
print(breast_cancer.filename)
运行上述代码,就会输出数据集的属性信息,其中数据集的字段信息输出如下所示。
******数据集的字段******
['mean radius' 'mean texture' 'mean perimeter' 'mean area'
'mean smoothness' 'mean compactness' 'mean concavity'
'mean concave points' 'mean symmetry' 'mean fractal dimension'
'radius error' 'texture error' 'perimeter error' 'area error'
'smoothness error' 'compactness error' 'concavity error'
'concave points error' 'symmetry error' 'fractal dimension error'
'worst radius' 'worst texture' 'worst perimeter' 'worst area'
'worst smoothness' 'worst compactness' 'worst concavity'
'worst concave points' 'worst symmetry' 'worst fractal dimension']
7.4.3 波士顿房价数据集简介
波士顿房价数据集,包含美国人口普查局收集的美国马萨诸塞州波士顿住房价格的有关信息,数据集只有506个记录。
导入数据集,查看数据集的属性,输入如下:
from sklearn import datasets
boston = datasets.load_boston()
print('******数据集的属性******')
print(boston.keys())
输出如下所示。
******数据集的属性******
dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename'])
接下来,我们可以根据数据的具体属性进行查看,代码如下:
print('\n******数据集的数据******')
print(boston.data)
print('\n******数据集的目标标签******')
print(boston.target)
print('\n******数据集的描述******')
print(boston.DESCR)
print('\n******数据集的字段******')
print(boston.feature_names)
print('\n******数据集的路径******')
print(boston.filename)
运行上述代码,就会输出数据集的属性信息,其中数据集的字段信息输出如下所示。
******数据集的字段******
['CRIM' 'ZN' 'INDUS' 'CHAS' 'NOX' 'RM' 'AGE' 'DIS' 'RAD' 'TAX' 'PTRATIO' 'B' 'LSTAT']
7.4.4 糖尿病数据集简介
糖尿病数据集是关于442名糖尿病患者的数据,包括患者的年龄、性别、体重指数、平均血压和六次血清测量值。首先导入数据集,查看数据集的属性,输入如下:
from sklearn import datasets
diabetes = datasets.load_diabetes()
print('******数据集的属性******')
print(diabetes.keys())
输出如下所示。
******数据集的属性******
dict_keys(['data', 'target', 'frame', 'DESCR', 'feature_names', 'data_filename', 'target_filename'])
接下来,我们可以根据数据的具体属性进行查看,代码如下:
print('\n******数据集的数据******')
print(diabetes.data)
print('\n******数据集的目标标签******')
print(diabetes.target)
print('\n******数据集的框架******')
print(diabetes.frame)
print('\n******数据集的描述******')
print(diabetes.DESCR)
print('\n******数据集的字段******')
print(diabetes.feature_names)
print('\n******数据集的数据文件路径******')
print(diabetes.data_filename)
print('\n******数据集的目标文件路径******')
print(diabetes.target_filename)
运行上述代码,就会输出数据集的属性信息,其中数据集的字段信息输出如下所示。
******数据集的字段******
['age', 'sex', 'bmi', 'bp', 's1', 's2', 's3', 's4', 's5', 's6']
7.4.5 手写数字数据集简介
手写数字数据集有1797个样本,每个样本包括8*8像素的图像和一个[0,9]整数的标签。
导入数据集,查看数据集的属性,输入如下:
from sklearn import datasets
digits = datasets.load_digits()
print('******数据集的属性******')
print(digits.keys())
输出如下所示。
******数据集的属性******
dict_keys(['data', 'target', 'frame', 'feature_names', 'target_names', 'images', 'DESCR'])
接下来,我们可以根据数据的具体属性进行查看,代码如下:
print('\n******数据集的数据******')
print(digits.data)
print('\n******数据集的目标标签******')
print(digits.target)
print('\n******数据集的框架******')
print(digits.frame)
print('\n******数据集的目标名称******')
print(digits.target_names)
print('\n******数据集的描述******')
print(digits.DESCR)
print('\n******数据集的字段******')
print(digits.feature_names)
print('\n******数据集的图片数据******')
print(digits.images)
运行上述代码,就会输出数据集的属性信息,其中数据集的字段信息输出如下所示。
******数据集的字段******
['pixel_0_0', 'pixel_0_1', 'pixel_0_2', 'pixel_0_3', 'pixel_0_4', 'pixel_0_5', 'pixel_0_6', 'pixel_0_7', 'pixel_1_0', 'pixel_1_1', 'pixel_1_2', 'pixel_1_3', 'pixel_1_4', 'pixel_1_5', 'pixel_1_6', 'pixel_1_7', 'pixel_2_0', 'pixel_2_1', 'pixel_2_2', 'pixel_2_3', 'pixel_2_4', 'pixel_2_5', 'pixel_2_6', 'pixel_2_7', 'pixel_3_0', 'pixel_3_1', 'pixel_3_2', 'pixel_3_3', 'pixel_3_4', 'pixel_3_5', 'pixel_3_6', 'pixel_3_7', 'pixel_4_0', 'pixel_4_1', 'pixel_4_2', 'pixel_4_3', 'pixel_4_4', 'pixel_4_5', 'pixel_4_6', 'pixel_4_7', 'pixel_5_0', 'pixel_5_1', 'pixel_5_2', 'pixel_5_3', 'pixel_5_4', 'pixel_5_5', 'pixel_5_6', 'pixel_5_7', 'pixel_6_0', 'pixel_6_1', 'pixel_6_2', 'pixel_6_3', 'pixel_6_4', 'pixel_6_5', 'pixel_6_6', 'pixel_6_7', 'pixel_7_0', 'pixel_7_1', 'pixel_7_2', 'pixel_7_3', 'pixel_7_4', 'pixel_7_5', 'pixel_7_6', 'pixel_7_7']
7.4.6 红酒数据集简介
红酒数据集包含来自3种不同起源的葡萄酒的共178条记录(共178种葡萄酒),13个属性是葡萄酒的13种化学成分,通过化学分析可以推断葡萄酒的起源。
导入数据集,查看数据集的属性,输入如下:
from sklearn import datasets
wine = datasets.load_wine()
print('******数据集的属性******')
print(wine.keys())
输出如下所示。
******数据集的属性******
dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names'])
接下来,我们可以根据数据的具体属性进行查看,代码如下:
print('\n******数据集的数据******')
print(wine.data)
print('\n******数据集的目标标签******')
print(wine.target)
print('\n******数据集的框架******')
print(wine.frame)
print('\n******数据集的目标名称******')
print(wine.target_names)
print('\n******数据集的描述******')
print(wine.DESCR)
print('\n******数据集的字段******')
print(wine.feature_names)
运行上述代码,就会输出数据集的属性信息,其中数据集的字段信息输出如下所示。
******数据集的字段******
['alcohol', 'malic_acid', 'ash', 'alcalinity_of_ash', 'magnesium', 'total_phenols', 'flavanoids', 'nonflavanoid_phenols', 'proanthocyanins', 'color_intensity', 'hue', 'od280/od315_of_diluted_wines', 'proline']