1.scikit-learn数据集API介绍
sklearn.datasets加载获取流行数据集
datasets.load_*()
获取小规模数据集,数据包含在datasets里
datasets.fetch_*(data_home=None)
*获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/
2.sklearn数据集返回值介绍
load和fetcch返回的数据类型datasets.base.Bunch(字典格式)
data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
target:标签数组,是n_samples的一维numpy.ndarray数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名
3.sklearn小数据集
以鸢尾花数据集为例
from sklearn.datasets import load_iris
#获取鸢尾花数据集
iris=load_iris()
print("鸢尾花数据集的返回值",iris)
返回所有的iris内容
分别展示返回值的情况
from sklearn.datasets import load_iris
#获取鸢尾花数据集
iris=load_iris()
print("鸢尾花的特征值:\n",iris['data'])
print("鸢尾花的目标值:\n",iris.target)#iris.target和target['target']均可
print("鸢尾花特征的名字:\n",iris.feature_names)
print("鸢尾花目标值的名字:\n",iris.target_names)
print("鸢尾花的描述:\n",iris.DESCR)
鸢尾花的特征值
鸢尾花的目标值
鸢尾花特征和目标值的名字
鸢尾花的描述
4.sklearn大数据集
sklearn.datasets.fetch_20newsgroups(data_name=None,subset="all")
subset:'train'或者'test','all',可选,选择要加载的数据集
训练集的“训练”,测试集的“测试”,两者的“全部”
from sklearn import datasets
newsgroups=datasets.fetch_20newsgroups(data_home='E:\学习',submit='all')
5.数据集的划分
机器学习一般的数据集会划分为两个部分
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
划分比例
训练集:70% 80% 75%
测试集:30% 20% 25%
sklearn.model_selection.train_test_split(arrays.*options)
x数据集的特征值
y数据集的标签值
test_size测试集的大小,一般为float
random_state随机种子,不同的种子会造成不同的随机采样结果。相同的种子随机采样结果相同
return训练集特征值,测试集特征值,训练集目标值,测试集目标值
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
#获取鸢尾花数据集
iris=load_iris()
print("鸢尾花的特征值:\n",iris['data'])
print("鸢尾花的目标值:\n",iris['target'])#iris.target和target['target']均可
print("鸢尾花特征的名字:\n",iris.feature_names)
print("鸢尾花目标值的名字:\n",iris.target_names)
print("鸢尾花的描述:\n",iris.DESCR)
#划分数据集
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
#此处测试集划分为20%,可以选择不自定义,系统默认划分为25%
print('训练集的特征值\n',x_train)
#查看维度
print(x_train.shape)
运行结果,原数据集长度为150,进行训练集划分后为120