在学习机器学习中,会用到不少的数据集,这里给出几个较为常见的数据集,以及他们的导入方式,以便于大家学习。
鸢尾花
首先介绍鸢尾花数据集,鸢尾花数据集是一个典型的用于分类的数据集,且是多分类的数据集。在这个数据集中,所有的鸢尾花可以被根据各自特征的不同被分为三大类:分别为山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica)。每一个鸢尾花都有四个特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度。我们的主要任务就是依据这四个特征值,识别出不同的鸢尾花属于哪一类别。
导入鸢尾花的API如下:from sklearn.datasets import load_iris
# 鸢尾花数据集
from sklearn.datasets import load_iris
iris=load_iris()
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,random_
state= 22, test_size=0.2)
datasets是sklearn的一个库,里面存放着不同的数据集,供我们下载训练。本专栏所使用的数据集基本都从sklearn.datasets中下载。代码中的第三行:运用到数据集分割函数:train_test_split()
波士顿房价数据集
该数据集是用于训练回归模型的典型数据集,该数据集的每一个记录有14个特征值,最终目的为通过训练集的学习,预测出波士顿地区的房价中位数,输出类型为连续型数值输出,故显然为回归任务。
该数据集的api如下:from sklearn.datasets import load_boston
from sklearn.datasets import load_boston
boston= load_boston()
x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,tes
t_size=0.2)
威斯康星州乳腺癌数据集
该数据集也是用于分类任务,通过不同肿瘤所表现出来的不同特征,最终将所有的肿瘤区分为良性,恶性两类。api如下:from sklearn.datasets import load_breast_cancer
from sklearn.datasets import load_breast_cancer
# 1. 获取数据
cancer = load_breast_cancer()
##任选数据集的两个类别
X = cancer.data
Y = cancer.target
# 2. 对数据进行分割
x_train,x_test,y_train,y_test =
train_test_split(cancer.data,cancer.target,random_state=2,test_size=0.2)
自定义数据集生成
自定义数据集的生成可以分为自定义分类数据集的生成和自定义回归的数据集生成。
自定义分类数据集
自定义分类数据集api:from sklearn.datasets import make_classification
from sklearn.datasets import make_classification
#生成自定义分类forge数据集
data, target = make_classification(n_samples=100, n_features=2,random_state=1)
n_sample就是定义生成的数据集中有多少个样本,n_features就是定义每一个样本的特征有几项。最终生成的数据集中,data是所有样本的特征值,target是所有样本的标签值。
自定义回归数据集
from sklearn.datasets import make_regression
生成回归数据集
data, target = make_regression(n_samples=100, n_features=1, noise=5, random_state=1)
与分类分类数据集类似,不同的地方在于多了一个noise参数,noise参数决定了数据的杂乱程度,该参数越大,生成的数据参杂噪声就越多,意味着数据集就越不规律,对小型数据集noise参数设置不要太大。