【发布时间】:2020-12-05 13:51:54
【问题描述】:
上面的图片是我想要复制的。我只是不知道我是否以正确的方式去做。 我正在使用 FakeNewsChallenge 数据集及其极其不平衡的数据,我正在尝试复制和改进论文中使用的方法。
同意 - 7.36%
不同意 - 1.68%
讨论 - 17.82%
不相关 - 73.13%
我是这样拆分数据的:
(将数据集拆分为 67/33 拆分)
- 训练 67%,测试 33%
(将训练进一步拆分为 80/20 以进行验证)
- 训练 80%,验证 20%
(然后使用 3 折交叉验证集拆分训练和验证)
顺便说一句,获得 1.68% 的不同意和同意非常困难。
这是我遇到问题的地方,因为它对我来说并不完全有意义。在 80/20 拆分中创建的验证集是否也在 5 折中分层?
这是我目前所在的位置:
将数据分成 67% 的训练集和 33% 的测试集
x_train1, x_test, y_train1, y_test = train_test_split(x, y, test_size=0.33)
x_train2, x_val, y_train2, y_val = train_test_split(x_train1, y_train1, test_size=0.20)
skf = StratifiedKFold(n_splits=3, shuffle = True)
skf.getn_splits(x_train2, y_train2)
for train_index, test_index in skf.split(x_train2, y_train2):
x_train_cros, x_test_cros = x_train2[train_index], x_train2[test_index]
y_train_cros, y_test_cros = y_train2[train_index], y_train[test_index]
我还要为验证集再次运行 skf 吗? skf 创建的测试集在哪里用于顺序模型?
引用我正在使用的方法:
托塔,阿斯维尼;蒂拉克,普里扬卡;阿鲁瓦利亚,西姆拉特;和 Lohia, Nibrat(2018 年)“假新闻检测:一种深度学习方法”,SMU 数据科学评论:卷。 1:第 3 条,第 10 条。 可在:https://scholar.smu.edu/datasciencereview/vol1/iss3/10
【问题讨论】:
标签: python scikit-learn dataset cross-validation