问题标签 [train-test-split]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pandas - 使用 pd.get_dummies 后基于整数列值获取原始训练测试拆分
我结合了我的训练和测试数据集,并使用了来自 pandas 的 get_dummies 函数到一个热编码分类数据。连接背后的原因是训练集和测试集的分类数据中的级别数不同。
如果我在单独的火车和测试集上使用 get_dummies 函数,那么我会得到一个不同维度的数据框,所以我想将它们组合起来。
我现在想再次将其拆分为训练集和测试集。可能吗?
假设我们使用 pd.get_dummies 后得到的输出被命名为“数据集”。如果数据集中“C10”列的值为 30(整数),则数据属于测试集,否则属于训练集。
如果我尝试像在普通数据框中一样选择值,则会收到以下错误:
python - scikit-learn 错误:y 中人口最少的类只有 1 个成员
train_test_split
我正在尝试使用scikit-learn中的函数将我的数据集拆分为训练集和测试集,但出现此错误:
但是,所有类都至少有 15 个样本。为什么我会收到此错误?
X 是一个表示数据点的 pandas DataFrame,y 是一个 pandas DataFrame,其中一列包含目标变量。
我不能发布原始数据,因为它是专有的,但是通过创建一个具有 1k 行 x 500 列的随机 pandas DataFrame (X) 和一个具有相同行数 (1k) X 的随机 pandas DataFrame (y) 是相当可复制的,并且,对于每一行,目标变量(分类标签)。y pandas DataFrame 应该有不同的分类标签(例如 'class1'、'class2'...),并且每个标签应该至少出现 15 次。
python - Singleton array array(, dtype=object) cannot be considered a valid collection
Not sure how to fix . Any help much appreciate. I saw thi Vectorization: Not a valid collection but not sure if i understood this
error below :
Not sure how to fix . Any help much appreciate. I saw thi Vectorization: Not a valid collection but not sure if i understood this
python - 训练数据帧列表的测试拆分 - Pandas
我有一个要拆分为训练集和测试集的 DataFrame 列表。对于单个 DataFrame,我可以执行以下操作,
获取测试拆分的长度
进而,
这给了我训练和测试的分裂。
现在,对于 DataFrames 列表,我可以使用每个 DataFrame 获取测试集长度,
我想像对单个数据框所做的那样,对整个数据框列表train
进行test
拆分。我尝试了以下,
两者都不起作用。我怎样才能做到这一点?
(某些 DataFrame 的长度可能会有所不同,但我并不担心,因为它会从长度中减去 125,我正在考虑将其用于测试集)
python - 将分区数据集拆分为训练和测试(训练数据每个类有 200 个示例)
我有一个 5 类数据。每个类中大约有 1000、1200、1500、1900、2000 个样本。我想在训练数据中有每个类的 200 个示例。其他样本将是测试数据。也就是说,训练数据将由每个类中的 [200, 200, 200, 200, 200] 个样本组成,测试数据将由每个类中的 [800, 1000, 1300, 1700, 1800] 个样本组成。
我们如何在 Python 中做到这一点?在 Python 中是否有任何预定义的方法/包可以做到这一点?
另一个例子
train_test_split(data, labels, train_size=
0.0042)
Label Number Total Samples Train Samples Test Samples
1 6631 33 6598
2 18649 89 18560
3 2099 6 2093
4 3064 11 3053
5 1345 5 1340
6 5029 26 5003
7 1330 3 1327
8 3682 21 3661
9 947 6 941
Total 42776 200 42576
train_test_split(data, labels, train_size=
200)
Label Number Total Samples Train Samples Test Samples
1 6631 33 6598
2 18649 89 18560
3 2099 6 2093
4 3064 11 3053
5 1345 5 1340
6 5029 26 5003
7 1330 3 1327
8 3682 21 3661
9 947 6 941
Total 42776 200 42576
所以,我希望它是这样的:
Label Number Total Samples Train Samples Test Samples
1 6631 200 6431
2 18649 200 18449
3 2099 200 1899
4 3064 200 2864
5 1345 200 1145
6 5029 200 4829
7 1330 200 1130
8 3682 200 3482
9 947 200 747
Total 42776 1800 40976
python - 将 pandas.get_dummies 列从训练复制到测试数据
我有两个数据框,train
并且test
. 它们都具有相同的确切列名,其中包含分类字符串特征。
我正在尝试将这些特征映射到训练集中的虚拟变量,训练回归模型,然后对测试集进行相同的精确映射并将训练后的模型应用于它。
我遇到的问题是,由于test
小于train
,它恰好不包含某些分类特征的所有可能值。由于pandas.get_dummies()
似乎只是着眼于data.Series.unique()
创建新列,在以相同的方式为train
and添加虚拟列之后test
,test
现在列更少了。
那么我如何改为添加虚拟列train
,然后使用相同的确切列名test
,即使对于特定功能test
,test.feature.unique()
是 的子集train.feature.unique()
?我查看了pd.get_dummies 文档,但我认为我没有看到任何可以满足我要求的东西。任何帮助是极大的赞赏!
python - CountVectorizer MultinomialNB 中的尺寸不匹配错误
在我提出这个问题之前,我必须说我已经彻底阅读了这个板上超过 15 个类似的主题,每个主题都有不同的建议,但所有这些都无法让我正确。
好的,所以我将我的“垃圾邮件”文本数据(最初为 csv 格式)拆分为训练和测试集,使用 CountVectorizer 及其“fit_transform”函数来拟合语料库的词汇表并从文本中提取字数统计特征。然后我应用 MultinomialNB() 从训练集学习并在测试集上进行预测。这是我的代码(简化):
我从之前的问题线程中收集到的建议是 (1) 在 X_test 上仅使用 .transform(),或 (2) 确定原始垃圾邮件数据中的每一行是否为字符串格式(是的,它们是),或 (3)在 X_test 上什么也不做。但他们都没有敲响警钟,Python 一直给我“尺寸不匹配”错误。挣扎了 4 个小时后,我不得不屈服于 Stackoverflow。如果有人能就此启发我,将不胜感激。只是想知道我的代码出了什么问题以及如何使尺寸正确。
谢谢你。
顺便说一句,原始数据条目看起来像这样
random-forest - 错误的训练/测试拆分策略
问题是关于RandomForest 模型中训练/测试拆分的错误选择策略。我知道以这种方式选择测试集会产生错误的输出,但我想知道为什么。
(模型查看前几天的数据,并试图预测第二天的数据会高于还是低于今天,即分类问题)
我从另一个示例中复制了训练/测试拆分代码,它只是将随机行设置为 train_set 或 test_set。(试图在下面说明)
原始数据是例如 EURUSD 的每日收盘价。
然后我基于此创建功能。每个特征都会查看一些先前的数据点,并提出一组特征,这些特征是 X_test 中的一行。然后我训练一个随机森林模型来尝试预测第二天的收盘价。
test_set 中的准确性非常高,并且随着它查看的历史先前点数的增加而增加,这似乎表明过度拟合。
例如,当我将训练/测试拆分模型更改为具有例如 train_set:1 月至 6 月的数据和 test_set:8 月的数据时,即完全分离的数据集并且不可能混合,准确度是更现实的 50%。
同样,我知道火车/测试拆分是不正确的,但是有人可以帮我理解为什么..吗?
每次我想验证一行(即 test_set 中的一个预测)时,我都会使用查看先前数据的功能来预测明天的数据?怎么会出现过拟合?
python - 如何拆分数据集以训练/测试某些行依赖的位置?
我有一个主题数据集,每个主题在我的 pandas 数据框中都有很多行(每个测量都是一行,一个主题可以测量几次)。我想将我的数据拆分为训练集和测试集,但我不能随机拆分,因为所有主题的测量都是依赖的(不能将同一主题放入训练和测试中)。你会如何重新喜欢这个?我有一个熊猫数据框,每个主题都有不同数量的测量值。
编辑:我的数据包括每一行的主题编号,我想尽可能接近 0.8/0.2。
python - 从加载的 arff 文件创建训练和测试变量
我想执行多标签分类。A 有一个我加载的 arff 格式的数据集。但是我现在不知道如何将导入数据转换为 X 和 y 向量以应用 sklearn/train_test_split。
我怎样才能得到 X 和 y?