Chpater 3 sklearn数据集与估计器

sklearn数据集

数据集划分

训练集:75%(推荐)、70%、80%。用于训练,构建模型
测试集:25%(推荐)、30%、20%。在模型检验时使用,用于评估模型是否有效

scikit-learn数据集API介绍

sklearn.datasets加载获取流行数据集
datasets.load_()获取小规模数据集,数据包含在datasets里
datasets.fetch_
(data_home=None)获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/

获取数据集返回的类型

load和fetch返回的数据类型datasets.base.Bunch(字典格式)
data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名,回归数据集没有

from sklearn.datasets import load_iris
li=load_iris()
print('获取特征值:{}'.format(li.data))
print('获取目标值:{}'.format(li.target))
print('描述:{}'.format(li.DESCR))

sklearn分类数据集

在这里插入图片描述

数据集进行分割

sklearn.model_selection.train_test_split(*arrays, **options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为float
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
return 训练集特征值,测试集特征值,训练标签,测试标签(默认随机取,顺序不可变)

from sklearn.model_selection import  train_test_split
li=load_iris()
#print('获取特征值:{}'.format(li.data))
#print('获取目标值:{}'.format(li.target))
#print('描述:{}'.format(li.DESCR))

#注意返回值 训练集train x_train y_train   测试集test  x_test  y_test
x_train,x_test,y_train,y_test=train_test_split(li.data,li.target,test_size=0.25)
print('训练集特征值和目标值:',x_train,y_train)
print('测试集特征值和目标值:',x_test,y_test)

用于分类的大数据集

sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
subset: ‘train’或者’test’,‘all’,可选,选择要加载的数据集.
训练集的“训练”,测试集的“测试”,两者的“全部”
datasets.clear_data_home(data_home=None)
清除目录下的数据

from sklearn.datasets import fetch_20newsgroups
news=fetch_20newsgroups(subset='all')
print(news.data)
print(news.target)

sklearn回归数据集

在这里插入图片描述

from sklearn.datasets import load_boston
lb=load_boston()
print('获取特征值:{}'.format(lb.data))
print('获取目标值:{}'.format(lb.target))
print('描述:{}'.format(lb.DESCR))

转换器与估计器

转换器

fit_transform():输入数据直接转换
fit():输入数据,但是不做事情(计算平均值、方差等等)+transform()进行数据的转换

In [1]: from sklearn.preprocessing import StandardScaler

In [2]: s=StandardScaler()

In [3]: s.fit_transform([[1,2,3],[4,5,6]])
Out[3]:
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])

In [4]: ss=StandardScaler()

In [5]: ss.fit([[1,2,3],[4,5,6]])
Out[5]: StandardScaler()

In [6]: ss.transform([[1,2,3],[4,5,6]])    #以[[1,2,3],[4,5,6]]计算来的标准差和均值来转换的
Out[6]:
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])

In [7]: ss.fit([[2,3,4],[4,5,7]])
Out[7]: StandardScaler()

In [8]:  ss.transform([[1,2,3],[4,5,6]])   #[[2,3,4],[4,5,7]]计算来的标准差和均值来转换的
Out[8]:
array([[-2.        , -2.        , -1.66666667],
       [ 1.        ,  1.        ,  0.33333333]])

估计器

在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator,是一类实现了算法的API。
1、用于分类的估计器:
sklearn.neighbors k-近邻算法
sklearn.naive_bayes 贝叶斯
sklearn.linear_model.LogisticRegression 逻辑回归
2、用于回归的估计器:
sklearn.linear_model.LinearRegression 线性回归
sklearn.linear_model.Ridge 岭回归
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值