数据集划分方法

作者: 清梦载星河 | 来源:发表于2020-02-24 23:14 被阅读0次

问题:如何划分训练集和验证集,从而保证验证集上的表现能代表模型的泛化能力。

1. 划分的基本准则

基本准则:保持训练集和验证集之间数据互斥,即测试样本不出现在训练样本中。

2. 划分方法

留出法

  • 直接将数据集划分为两个互斥的数据集,其中一个做训练集,另一个做验证集。
  • 常见划分比例:7:3、7.5:2.5、8:2。
  • 缺点:由于是随机取样数据,所以结果可能不具有代表性。
  • 相关函数:from sklearn.model_selection import train_test_split

示例代码:

from sklearn.model_selection import train_test_split
train_set, test_set = train_test_split(df, test_size=0.25, random_state=42)

# 提取训练集中的数据
x_train = train_set.copy()[['col1','col2','col3']]
y_train = train_set.copy()['col4']

# 提取验证集中的数据
x_test = test_set.copy()[['col1','col2','col3']]
y_test = test_set.copy()['col4']

# 训练数据等。。。

交叉验证法(CV)

  • 相关函数:
    • from sklearn.model_selection import KFold
    • from sklearn.model_selection import cross_val_score

示例代码:

from sklearn.model_selection import KFold

# n_splits指交叉验证子集数
# shuffle指每次取样后是否重新打乱再取样
kf = KFold(n_splits = 10, shuffle=True)

for train_index,test_index in kf.split(df):
    # 拆分
    x_traincv, x_testcv = x.loc[train_index], x.loc[test_index]
    y_traincv, y_testcv = y.loc[train_index], y.loc[test_index]
    
    # 训练。。。

相关文章

  • 数据集划分方法

    K折交叉验证 模块 |---|---sklearn.model_selection.KFold |sklearn....

  • 数据集划分方法

    问题:如何划分训练集和验证集,从而保证验证集上的表现能代表模型的泛化能力。 1. 划分的基本准则 基本准则:保持训...

  • sklearn数据集的获取与划分

    划分数据集 获取sklearn本地的数据集 描述iris数据集 从网络获取数据集 网络获取 划分训练集和测试集 数...

  • 决策树(二)

    划分数据集 分类算法除了需要测量信息熵,还需要划分数据集,度量花费数据集的熵,以便判断当前是否正确地划分了数据集。...

  • 2018-04-25 第五周

    本周任务:按照标准的数据集划分,即训练集:2 测试集:1的比例划分数据,测试模型效果。 首先,划分...

  • 评估方法与性能度量

    模型评估方法 留出法(训练集2/3~4/5)交叉验证(数据量充足)自助法(数据集较小、难以有效划分训练/测试集) ...

  • 数据集的划分&更改评估指标

    数据集划分为 训练集 开发集(交叉验证集) 测试集,最大化团队效率。 如何划分 将所有的数据随机洗牌,放入交叉验证...

  • 数据集划分

    常用方法:(1)简单分离训练集和测试集,(2)K折交叉验证分离1.最简单分离测试集和测试集:train_test_...

  • 数据集划分

    看了几个大佬的数据集划分总觉得有些可能是后期进行过修改的,于是决定先用最简单的数据集划分方式,如下图: (修改:所...

  • 决策树算法

    原理 通过选择最好的特征来划分数据集,对数据子集继续划分,直到数据子集中是相同的类别;划分数据集的特征可以通过计算...

网友评论

    本文标题:数据集划分方法

    本文链接:https://www.haomeiwen.com/subject/xwpgqhtx.html