gpt4 book ai didi

keras - 训练测试拆分之前或之后的处理

转载 作者:行者123 更新时间:2023-12-03 15:13:31 26 4
gpt4 key购买 nike

我正在使用这篇优秀的文章来学习机器学习。

https://stackabuse.com/python-for-nlp-multi-label-text-classification-with-keras/

作者将 X 和 y 数据拆分后对其进行了标记。

X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.20, random_state=42
)

tokenizer = Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X_train)

X_train = tokenizer.texts_to_sequences(X_train)
X_test = tokenizer.texts_to_sequences(X_test)

vocab_size = len(tokenizer.word_index) + 1

maxlen = 200

X_train = pad_sequences(X_train, padding="post", maxlen=maxlen)
X_test = pad_sequences(X_test, padding="post", maxlen=maxlen)

如果我在使用 train_test_split 类之前标记它,我可以节省几行代码。
tokenizer = Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X)

X_t = tokenizer.texts_to_sequences(X)
vocab_size = len(tokenizer.word_index) + 1
maxlen = 200

X = pad_sequences(X_t, padding="post", maxlen=maxlen)

我只是想确认我的方法是正确的,我不希望脚本后面有任何惊喜。

最佳答案

这两种方法都将在实践中起作用。但是在训练集上拟合分词器并将其应用于训练和测试集比在整个数据集上拟合要好。实际上,使用第一种方法,您正在模仿这样一个事实,即在部署模型后的某个时间点,模型会出现看不见的词。因此,您的模型评估将更接近生产环境中将发生的情况。

关于keras - 训练测试拆分之前或之后的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57693333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com