机器学习入门-sklearn数据集

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内容

机器学习入门-sklearn数据集_第1张图片

机器学习入门-sklearn数据集_第2张图片

分别展示返回值的情况

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)

 鸢尾花的特征值

机器学习入门-sklearn数据集_第3张图片

鸢尾花的目标值

机器学习入门-sklearn数据集_第4张图片

鸢尾花特征和目标值的名字

鸢尾花的描述

机器学习入门-sklearn数据集_第5张图片

机器学习入门-sklearn数据集_第6张图片

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 

机器学习入门-sklearn数据集_第7张图片

机器学习入门-sklearn数据集_第8张图片

你可能感兴趣的:(机器学习,sklearn,python)