NLP成长计划(三)

本文介绍了自然语言处理(NLP)项目中数据的训练验证测试切分,强调了随机分割数据的重要性。讨论了Scikit-Learn的Pipeline在模型构建中的应用,以及超参数调优的概念,包括网格搜索的穷举和随机方法。还提到了处理不平衡类别和防止信息泄漏的策略,如使用类加权支持向量机和K-Fold交叉验证。
摘要由CSDN通过智能技术生成

Setup

假设您已经完成了(一)和(二)所需的设置。

 

Train-Validation-Test Split

在开始在新数据集上拟合模型之前,您应该(并且尽量)将初始数据集划分为“训练集train“、“验证集validation”和“测试集test”。训练数据集为我们提供了一个让我们的模型学习的地方。验证数据集为我们提供了一种判断模型相对于其他潜在模型的性能的方法。测试数据集帮我们预估我们的模型推广到未被看见的数据的能力。

在实践中,我们将使用训练数据集来训练你所有的潜在模型。验证数据集将被传递给这些模型中的每一个,以判断这些模型中的每一个的性能,从而允许我们对模型进行比较。然后,一旦找到我们的最佳模型,我们最终通过测试数据集来判断该模型对未观测数据的性能,并且基于测试数据集的性能需要提供在你的学术论文或给老板的报告之中。

通常要保留20-50%的数据用于验证和测试集,并使用剩下的50-80%进行训练。

永远不要把你的数据分成第一个80%个和剩下20%个来验证和测试集。你应该尽可能地随机地分割数据。在训练集的选择中,几乎不包含非随机过程可以歪曲模型参数。数据经常以某种方式排序(按日期或甚至是你试图预测的值)。

有一种在Scikit中实现的方法,将数据集随机分割为我们称为train_test_split。我们可以使用这种方法两次来执行下面的列车验证测试分割。

        

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split

# make the split reproducible
random_state = 42

# get some data
digits = load_digits()
X, y = digits.data, digits.target

# get our split percentages
validation_size = .25
test_size = .25
validation_test_size = validation_size + test_size
test_size_adjusted = test_size / validation_test_size

# perform the first split which gets us the train data and the validation/test data that
# we must split one more time
X_train, X_validation_test, y_train, y_validation_test =  train_test_split(X, y,\
                                                                           test_size = validation_test_size,\
                                                                           random_state = random_state)

# perform the second split which splits the validation/test data into two distinct datasets
X_validation, X_test, y_validation, y_test = train_test_split(X_validation_test, y_validation_test,\
                                                              test_size = test_size_adjusted,\
                                                              random_state = random_state)

 

 

Pipeline

在数据科学中,pipeline 是一系列与建模相关的任务。我们从一些初始输入开始,将其输入到第一建模任务中。第一建模任务的输出然后被馈送到下一个第二建模任务,等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值