机器学习(六)

一、数据集的划分

(一)、训练集与测试集的划分:

为了方便机器学习算法的训练以及对训练结果的评估,我们往往将所得到的数据进行划分,我们将原始数据划分为两部分:训练集、测试集。一般情况下,训练集与测试集的占比往往为:0.7:0.3;0.8:0.2;0.75:0.25。在日常训练过程中0.75:0.25的占比使用相对多一点。

(二)、sklearn的数据集划分API

sklearn中数据集划分得API为sklearn.model_selection.train_test_split。下面为简单的演示代码。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

def data():
    """
    调取sklearn中的鸢尾花数据集,并进行数据的处理
    """
# 实例化数据集
    ir = load_iris()
    
# 划分数据集
    x_train, x_test, y_train, y_test = train_test_split(ir.data, ir.target, test_size=0.25)
    """函数参数解释:
    ir.data为数据集的特征值
    ir.target为数据集的目标值
    test_size为数据集划分后测试集所占比例
    函数输出解释:
    函数输出的顺序为训练集的特征值、测试集的特征值、训练集的目标值、测试集的目标值
    """

# 打印划分后的训练集和测试集
print("划分后的训练集为:\n", "特征值为:\n", x_train, "\n", "目标值为:\n", y_train)
print("划分后的测试集为:\n", "特征值为:\n", x_test, "\n", "目标值为:\n", y_test)

运行后的结果:

划分后的训练集为:
 特征值为:
 [[5.5 2.5 4.  1.3]
 [5.  2.  3.5 1. ]
 [6.4 2.9 4.3 1.3]
 [6.7 3.  5.2 2.3]
 [5.  3.4 1.5 0.2]
 [7.  3.2 4.7 1.4]
 [4.9 3.  1.4 0.2]
 [6.3 3.3 6.  2.5]
 [4.5 2.3 1.3 0.3]
 [7.7 2.8 6.7 2. ]
 [5.4 3.7 1.5 0.2]
 [5.8 4.  1.2 0.2]
 [5.  3.6 1.4 0.2]
 [5.1 3.3 1.7 0.5]
 [5.7 2.8 4.5 1.3]
 [5.1 2.5 3.  1.1]
 [6.3 3.3 4.7 1.6]
 [4.6 3.2 1.4 0.2]
 [6.1 2.9 4.7 1.4]
 [5.  3.5 1.3 0.3]
 [5.4 3.9 1.7 0.4]
 [6.4 2.8 5.6 2.2]
 [5.8 2.6 4.  1.2]
 [5.5 2.6 4.4 1.2]
 [6.4 2.7 5.3 1.9]
 [5.5 2.3 4.  1.3]
 [5.7 4.4 1.5 0.4]
 [6.  2.2 4.  1. ]
 [6.4 3.2 4.5 1.5]
 [5.7 2.8 4.1 1.3]
 [4.8 3.  1.4 0.1]
 [5.8 2.8 5.1 2.4]
 [5.1 3.8 1.5 0.3]
 [5.1 3.4 1.5 0.2]
 [7.9 3.8 6.4 2. ]
 [5.1 3.5 1.4 0.3]
 [6.3 2.7 4.9 1.8]
 [6.7 2.5 5.8 1.8]
 [4.7 3.2 1.6 0.2]
 [7.1 3.  5.9 2.1]
 [4.4 3.2 1.3 0.2]
 [6.2 2.9 4.3 1.3]
 [5.  2.3 3.3 1. ]
 [6.3 2.5 4.9 1.5]
 [5.7 3.  4.2 1.2]
 [4.9 3.6 1.4 0.1]
 [5.4 3.4 1.7 0.2]
 [5.4 3.  4.5 1.5]
 [6.7 3.  5.  1.7]
 [5.5 2.4 3.7 1. ]
 [5.2 3.4 1.4 0.2]
 [5.7 2.6 3.5 1. ]
 [7.3 2.9 6.3 1.8]
 [6.7 3.1 5.6 2.4]
 [6.1 3.  4.6 1.4]
 [6.7 3.3 5.7 2.1]
 [6.6 2.9 4.6 1.3]
 [6.5 3.  5.8 2.2]
 [7.2 3.6 6.1 2.5]
 [5.2 4.1 1.5 0.1]
 [5.1 3.5 1.4 0.2]
 [6.  3.  4.8 1.8]
 [4.6 3.4 1.4 0.3]
 [5.6 2.8 4.9 2. ]
 [6.8 2.8 4.8 1.4]
 [6.  2.9 4.5 1.5]
 [7.4 2.8 6.1 1.9]
 [5.6 2.9 3.6 1.3]
 [6.1 2.6 5.6 1.4]
 [6.7 3.1 4.4 1.4]
 [5.1 3.8 1.6 0.2]
 [6.6 3.  4.4 1.4]
 [4.3 3.  1.1 0.1]
 [5.2 3.5 1.5 0.2]
 [7.2 3.2 6.  1.8]
 [7.6 3.  6.6 2.1]
 [6.3 2.9 5.6 1.8]
 [6.3 2.5 5.  1.9]
 [4.8 3.4 1.9 0.2]
 [6.7 3.3 5.7 2.5]
 [6.4 3.1 5.5 1.8]
 [4.6 3.6 1.  0.2]
 [5.1 3.7 1.5 0.4]
 [4.9 2.5 4.5 1.7]
 [6.2 2.2 4.5 1.5]
 [6.  3.4 4.5 1.6]
 [4.8 3.  1.4 0.3]
 [5.1 3.8 1.9 0.4]
 [6.9 3.1 4.9 1.5]
 [5.9 3.2 4.8 1.8]
 [5.6 2.5 3.9 1.1]
 [4.8 3.1 1.6 0.2]
 [5.7 2.5 5.  2. ]
 [6.3 3.4 5.6 2.4]
 [7.7 3.8 6.7 2.2]
 [5.  3.2 1.2 0.2]
 [6.7 3.1 4.7 1.5]
 [5.9 3.  5.1 1.8]
 [6.4 3.2 5.3 2.3]
 [5.8 2.7 5.1 1.9]
 [5.  3.5 1.6 0.6]
 [4.6 3.1 1.5 0.2]
 [5.8 2.7 4.1 1. ]
 [4.8 3.4 1.6 0.2]
 [6.3 2.3 4.4 1.3]
 [5.6 2.7 4.2 1.3]
 [6.8 3.  5.5 2.1]
 [5.4 3.9 1.3 0.4]
 [5.  3.  1.6 0.2]
 [4.9 3.1 1.5 0.2]
 [5.4 3.4 1.5 0.4]
 [4.7 3.2 1.3 0.2]] 
 目标值为:
 [1 1 1 2 0 1 0 2 0 2 0 0 0 0 1 1 1 0 1 0 0 2 1 1 2 1 0 1 1 1 0 2 0 0 2 0 2
 2 0 2 0 1 1 1 1 0 0 1 1 1 0 1 2 2 1 2 1 2 2 0 0 2 0 2 1 1 2 1 2 1 0 1 0 0
 2 2 2 2 0 2 2 0 0 2 1 1 0 0 1 1 1 0 2 2 2 0 1 2 2 2 0 0 1 0 1 1 2 0 0 0 0
 0]
划分后的测试集为:
 特征值为:
 [[6.5 3.  5.2 2. ]
 [5.5 3.5 1.3 0.2]
 [6.5 2.8 4.6 1.5]
 [6.  2.2 5.  1.5]
 [5.9 3.  4.2 1.5]
 [5.6 3.  4.1 1.3]
 [5.  3.4 1.6 0.4]
 [5.8 2.7 5.1 1.9]
 [5.5 4.2 1.4 0.2]
 [6.3 2.8 5.1 1.5]
 [5.8 2.7 3.9 1.2]
 [5.7 2.9 4.2 1.3]
 [6.4 2.8 5.6 2.1]
 [6.1 2.8 4.  1.3]
 [7.7 3.  6.1 2.3]
 [5.2 2.7 3.9 1.4]
 [5.6 3.  4.5 1.5]
 [6.1 3.  4.9 1.8]
 [6.5 3.  5.5 1.8]
 [6.1 2.8 4.7 1.2]
 [6.8 3.2 5.9 2.3]
 [6.5 3.2 5.1 2. ]
 [6.9 3.1 5.4 2.1]
 [5.3 3.7 1.5 0.2]
 [6.2 2.8 4.8 1.8]
 [6.2 3.4 5.4 2.3]
 [5.  3.3 1.4 0.2]
 [7.7 2.6 6.9 2.3]
 [4.9 3.1 1.5 0.1]
 [4.4 2.9 1.4 0.2]
 [6.9 3.1 5.1 2.3]
 [6.9 3.2 5.7 2.3]
 [7.2 3.  5.8 1.6]
 [6.  2.7 5.1 1.6]
 [5.5 2.4 3.8 1.1]
 [4.9 2.4 3.3 1. ]
 [5.7 3.8 1.7 0.3]
 [4.4 3.  1.3 0.2]] 
 目标值为:
 [2 0 1 2 1 1 0 2 0 2 1 1 2 1 2 1 1 2 2 1 2 2 2 0 2 2 0 2 0 0 2 2 2 1 1 1 0
 0]

从结果中我们可以看出,以上演示实现了将原始数据集按照所设定的比例进行了随机划分。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值