机器学习中---sklearn对于鸢尾花如何进行数据集划分

机器学习中---sklearn对于鸢尾花如何进行数据集划分,第1张

机器学习中,我们熟知的开发流程是:获取数据------数据处理------特征工程------机器学习算法训练模型------模型评估-----应用实际

#所以对于一个我们已有的数据集,不能全部用作建立模型,还要有一部分数据集用来进行我们建立的模型的训练评估,这就涉及到数据集的划分,要用到这个代码进行数据集的划分:

x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,random_state=22)

这串代码的具体解释如下:

train_test_split()是sklearn包的model_selection模块中提供的随机划分训练集和测试集的函数;

使用train_test_split函数可以将我们已有的数据集按照一定比例划分训练集和测试集。

x,y是原始的数据集的特征值和标签值。

x_train,y_train 是原始数据集划分出来作为训练模型的.

x_test,y_test 这部分的数据不参与模型的训练,而是用于评价训练出来的模型好坏。

其中,test_size=? 是测试集的划分比例,里面如果不设置,自己定义为0.25,

random_state:是随机数的种子。相同的随机种子时,同样的代码,得到的训练集数据相同。不同随机种子时,同样的代码,得到的训练集数据就会不同。

对于鸢尾花数据划分的整体代码如下:

from sklearn.datasets import load_iris
#小规模数据集用load,大规模数据集用fetch
from sklearn.model_selection import train_test_split
#导入鸢尾花数据集
#实例化对象
iris=load_iris()
print('鸢尾花数据集:\n',iris)#可以看出是字典形式的
#查看特征值
print('鸢尾花的特征值:\n',iris['data'],iris.data.shape)#可以通过字典类型获取,也可以通过.属性的方法获取键值对
#查看特征值的名字
print('鸢尾花的特征值:\n',iris.feature_names)
#查看数据集的描述
print('鸢尾花的数据集描述:\n',iris['DESCR'])#可以看到他的特征值的描述有哪些
'''众所周知,在机器学习种,数据和特征决定了其上限,而模型和算法只是逼近这个上限'''
#数据集的划分,将原始数据集划分为训练集和测试集
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,random_state=22)
print('训练集的特征值:',x_train,x_train.shape)#x_train.shape可以知道几行几列


 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/739588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存