机器学习好伙伴之scikit-learn的使用——训练集与测试集的划分

机器学习好伙伴之scikit-learn的使用——训练集与测试集的划分

从今天开始就要学习scikit-learn的使用了,要加油噢。
在这里插入图片描述

什么是训练集与测试集

全部数据进行数据拆分后可以得到训练集与测试集。
训练集:代表用于训练模型的子集。
测试集:代表用于测试训练后模型的子集。
其分开的意义相当于将作业与考试分开,作业相当于训练集,考试相当于测试集,平时状态下,学生用作业进行训练,利用考试进行打分。
其分开比例常常为:
训练/测试 = 7/3。

划分常用函数train_test_split()

利用如下函数,可以载入相关模块:

from sklearn.model_selection import train_test_split

具体使用方式如下:

X_train,X_test, y_train, y_test = train_test_split(
	train_data,
	train_target,
	test_size=0.3, 
	random_state=0
)

其中常用参数为:
1、train_data:进行划分的样本的特征集合
2、train_target:进行划分的样本的标签集合
3、test_size:在0-1之间时,表示测试样本占比;是整数的话,就代表测试样本的数量。
4、random_state:随机数的种子。

随机数种子指的是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。
假设random_state = 1,其他参数一样的情况下,随机数组是一样的。
但填0或不填,每次都不一样。
随机数的产生取决于种子:
种子不同,产生不同的随机数;
种子相同,即使实例不同也产生相同的随机数。

应用示例

实现代码为:

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# 用于获取iris花的分类样本
iris = datasets.load_iris()
# 取得特征
iris_X = iris.data
# 取得标签
iris_Y = iris.target

# 进行数据集划分
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_Y, test_size=0.3)

# 利用K聚类算法进行分类
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
print(y_test)
print(knn.predict(X_test))

实验结果为:

[0 2 1 1 1 1 1 1 1 2 0 1 1 2 0 1 2 0 0 2 2 2 1 2 1 2 2 1 1 0 2 2 1 2 1 2 0
 2 0 1 0 0 1 2 0]
[0 2 1 1 1 1 1 1 2 2 0 2 1 2 0 1 2 0 0 2 2 2 1 2 1 2 2 1 1 0 2 2 2 2 1 2 0
 2 0 1 0 0 1 2 0]

由此可见具有一定的准确度。

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bubbliiiing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值