Работа с данными — работа с алгоритмами обработки данных. И мне приходилось работать с самыми разнообразными на ежедневной основе, так что я решил составить список наиболее востребованных в серии публикаций. Эта статья посвящена наиболее распространённым способам сэмплинга при работе с данными.
On the contrary to prototype generation algorithms, prototype selection algorithms will select samples from the original set . Therefore, is defined such as and . In addition, these algorithms can be divided into two groups: (i) the controlled under-sampling techniques and (ii) the cleaning under-sampling techniques. The first group of methods...
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-e8cb95eddaea> in <module>()
1 cc = ClusterCentroids(random_state=0)
----> 2 X_resampled, y_resampled = cc.fit_resample(X, y)
NameError: name 'X' is not defined
用y表示网格分区,用X表示偏差占整个样本中每类目标之和的百分比。过滤器是5%。你可以看到,不同的类在不同的区域占主导地位,有一个镜像的变化--那么改进是由于某个特定的类(直方图是负的),而有时不是。所有这些都应该在训练中使用,但我所知的标准训练方法并没有很好地考虑到这一点。用遗传学超额完成任务可能更有效(更准确地说是在消除方面)--你必须这样做。
假设你找到一个好的量子,其中有65%的一年级例子。
例如,分裂发生在中间,让分裂通过这个你的量子。
1)从分成的左边分支中,所有来自你的量子的例子占所需例子的65%,以及来自更多的量子的例子,这些例子按你的量子的价值来说是比较小的,将进入左边分支。因此,你将得到的不是65%,而是另一个百分比--由于被其他量子的例子所稀释而小得多。
2)第二--如果你的量子不是树上的第一个分裂,那么之前的所有分裂都从样本中删除了大约50%的例子。而在树的第5层,你的量子中的1/(2^5)=1/32部分的例子将被保留下来,这将与第一种情况下的稀释量子混合。也就是说,65%的例子不可能因为训练而留在表内。
唯一的选择是在量化后将列标记为分类特征--那么如果它是树上的第一个分叉,所有65%的例子都将进入左边的分支,而不会与其他量子混合。如果它不是树上的第一个裂缝--那么我们又会因上层裂缝而变薄。
假设你找到一个好的量子,其中65%的例子是第1类。
比如说分裂发生在中间,就让它被你的这个量子所分裂。
1)从拆分中,所有来自你的量子的例子占所需例子的65%,以及来自更多的量子的例子,这些例子按你的量子的值来说是比较小的,将进入左边的分支。因此,你将得到的不是65%,而是另一个百分比--由于被其他量子的例子所稀释而小得多。
2)第二--如果你的量子不是树上的第一个分裂,那么之前的所有分裂都从样本中删除了大约50%的例子。而在树的第5层,你的量子中的1/(2^5)=1/32部分的例子将被保留下来,这将与第一种情况下的稀释量子混合。也就是说,65%的例子不可能因为训练而留在表内。
唯一的选择是在量化后将列标记为分类特征--那么如果它是树上的第一个分叉,所有65%的例子都将进入左边的分支,而不会与其他量子混合。如果它不是树上的第一个裂缝--那么我们又会因上层裂缝而变薄。
1-2 - 是的,它可能发生,但不一定,你需要一种将这种概率降到最低的方法。
而关于分类特征--这是真的,但目前还没有针对MQ的分类特征的模型解释器。
到目前为止,我看到的解决方案是将量子段合并到一个值下,并在这些值出现的地方创建一个单独的样本--这样我们就能保证在这个子集上工作。我将在寻找树叶的同时做这件事,但一开始我需要用不同的方法来快速量化。
结果很奇怪--在测试和训练样本中,召回率为0.6-0.8,在没有转换的考试中,召回率为0.009,转换率为0.65--这里出了问题:(
我有一种感觉,CatBoost已经学会了转换算法 :)
还有,是否有机会标明新旧两条线?然后就可以从转换后的样本中删除转换后的 字符串,看看是否是解释的问题,还是没有定性的训练都一样。
它应该是,在新的数据上,同一类别的例子较少。这里的通用性应该更好,我们应该立即在测试器中运行它。
在我的数据中,重新取样并没有帮助。
新的行被添加到最后,如果你减去原始数据集的剩余部分。这个方法只是通过最近的邻居方法向小类添加例子。即创造出合理的新标签和特征
1-2 - 是的,有可能,但不一定, 你需要一个将这种概率降到最低的方法。
而关于分类特征--这是真的,但对于MQ来说,没有分类特征的模型解释器。
到目前为止,我看到的解决方案是将量子段合并到一个值下,并在这些值出现的地方创建一个单独的样本--这样我们就能保证在这个子集上工作。我会在寻找叶子的时候做这个,但在开始的时候,我们需要用不同的方法快速量化。
这是建树的算法。你不能改变它。除非你自己编写Catboost。
它应该是,在新的数据上,同一类别的例子较少。这里的通用性应该更好,我们应该立即在测试器中运行它。
在我的数据中,重新取样并没有帮助。
新的行被添加到最后,如果你减去原始数据集的剩余部分。这个方法只是通过最近的邻居方法向小类添加例子。即创造出合理的新标签和特征
因此,召回率必须保持高位,否则就没有意义。这并不取决于样本平衡。
我明白了操作的原理,谢谢。
是否有一些带有聚类 "聚类中心点 "的方法--或者从这里开始 还有什么可以尝试的。
这是建树的算法。你不能改变它。除非你自己编写Catboost。
这就是我所说的--你必须制定你自己的算法。
因此,召回率必须保持高位,否则就没有意义。这并不取决于样本的平衡。
我理解这个原则,谢谢你。
有一些方法与聚类 "聚类中心点"--或其他的东西,从这里 可以尝试。
这个人把标签从一个大类中去掉,恰恰相反。
另一方面,这个人从大类中删除了标记。
因此,让我们以一种巧妙的方式去除零,也许会有效果。
这样以一种巧妙的方式删除零,也许会有效果。
在笔记本中,只需替换方法,就可以了。
from imblearn.under_sampling import ClusterCentroids cc = ClusterCentroids(random_state=0) X_resampled, y_resampled = cc.fit_resample(X, y)
这里有一个例子
https://imbalanced-learn.readthedocs.io/en/stable/under_sampling.html
我更喜欢 "近失"(基于图片)。
在笔记本电脑上,只要更换方法就可以了。
我一定是把它改错了地方,它在打架。
请检查有什么问题。