本节内容:下载常用的sklearn真实分类问题数据集,并保存为excel文件
鸢尾花数据集
糖尿病数据集
手写数字
红酒数据集
乳腺癌数据集
1:鸢尾花数据集
这个数据集包含了150个鸢尾花样本,对应3种鸢尾花,各50个样本,以及它们各自对应的4种关于花外形的数据–分类问题
数据特征数值全为正
from sklearn import datasets # 导入库
iris = datasets.load_iris() # 导入鸢尾花数据
print(iris.data.shape,iris.target.shape) # (150, 4) (150,)
print(iris.feature_names) # [花萼长,花萼宽,花瓣长,花瓣宽]
print(type(iris))
(150, 4) (150,)
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
<class 'sklearn.utils.Bunch'>
可以看到sklearn数据库的数据类型为’sklearn.utils.Bunch’
无法直接用pd.DataFrame(iris)将其转为pandas可操作的DataFrame的数据
#将'sklearn.utils.Bunch'数据转换为pandas数据
def sklearn_to_df(sklearn_dataset):
df = pd.DataFrame(sklearn_dataset.data, columns=sklearn_dataset.feature_names)
df['target'] = pd.Series(sklearn_dataset.target)
return df
data_iris = sklearn_to_df(datasets.load_iris())
#保存为excel文件
import pandas as pd
writer = pd.ExcelWriter('鸢尾花.xlsx') # 写入Excel文件
data_iris.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名
writer.save()
2:糖尿病数据集
主要包括442个实例,每个实例10个属性值,分别是:Age(年龄)、性别(Sex)、Body mass index(体质指数)、Average Blood Pressure(平均血压)、S1~S6一年后疾病级数指标,Target为一年后患疾病的定量指标, 适用于回归任务。
from sklearn import datasets # 导入库
diabetes = datasets.load_diabetes() # 导入鸢尾花数据
print(diabetes.data.shape,diabetes.target.shape) # (150, 4) (150,)
print(diabetes.feature_names) # [花萼长,花萼宽,花瓣长,花瓣宽]
#将'sklearn.utils.Bunch'数据转换为pandas数据
def sklearn_to_df(sklearn_dataset):
df = pd.DataFrame(sklearn_dataset.data, columns=sklearn_dataset.feature_names)
df['target'] = pd.Series(sklearn_dataset.target)
return df
data_diabetes = sklearn_to_df(datasets.load_diabetes())
#保存为excel文件
import pandas as pd
writer = pd.ExcelWriter('糖尿病.xlsx') # 写入Excel文件
data_diabetes.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名
writer.save()
(442, 10) (442,)
['age', 'sex', 'bmi', 'bp', 's1', 's2', 's3', 's4', 's5', 's6']
3:手写数字
共有1797个样本,每个样本有64的元素,对应到一个8x8像素点组成的矩阵,每一个值是其灰度值, target值是0-9,适用于分类任务。
#digits = datasets.load_digits()
# 将'sklearn.utils.Bunch'数据转换为pandas数据
data_digits = sklearn_to_df(datasets.load_digits())
writer = pd.ExcelWriter('手写数字.xlsx') # 写入Excel文件
data_digits.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名
writer.save()
4:红酒数据集
共178个样本,代表了红酒的三个档次(分别有59,71,48个样本),以及与之对应的13维的属性数据,适用于分类任务。
# wine = datasets.load_wine() # 导入红酒数据
# 将'sklearn.utils.Bunch'数据转换为pandas数据
data_wine = sklearn_to_df(datasets.load_wine())
writer = pd.ExcelWriter('红酒.xlsx') # 写入Excel文件
data_wine.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名
writer.save()
5:乳腺癌数据集
包含了威斯康辛州记录的569个病人的乳腺癌恶性/良性(1/0)类别型数据,以及与之对应的30个维度的生理指标数据,适用于二分类问题。
# cancer = datasets.load_breast_cancer() # 导入乳腺癌数据
# 将'sklearn.utils.Bunch'数据转换为pandas数据
data_cancer = sklearn_to_df(datasets.load_breast_cancer())
writer = pd.ExcelWriter('乳腺癌.xlsx') # 写入Excel文件
data_cancer.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名
writer.save()