K 最近邻和决策树的特征选择

数据挖掘 机器学习 分类 scikit-学习 决策树
2021-10-10 17:35:47

我有 2 位数字和 9 个功能。

我必须选择 2 个特征,因此决定将这些特征相互绘制,看看我是否可以深入了解训练算法的最佳特征。

绘图颜色表示两位数。

我考虑使用的算法是 K-Nearest Neighbor 和决策树。我对机器学习很陌生,我选择这两种算法只是因为我遇到过它们。

f1 到 f9 对 f1 到 f9 的特征矩阵 特征矩阵

决策树决策边界 决策树

我有几个问题:

选择具有最少重叠量的特征 x 与特征 y 将有助于实现最佳决策边界吗?

当我查看特征时,我应该首先考虑线性数据分离。然后努力使用可以处理非线性分离特征点的算法?

在为训练选择最佳特征时,我应该注意哪些重要的视觉属性?

如何在 sklearn python 中可视化树?

谢谢。

3个回答
  • 正如其他人所说,良好的视觉分割是一个很好的起点。(对我来说,f8-f1 似乎是一个很好的起点。
  • 但是,通过 PCA 转换特征集并使用顶级特征因子(新的组合特征)进行训练,您可以获得更好的结果。
  • 您还没有澄清它是否是受监督的(您知道某些数据集的类数和实际类),假设您不知道并且它是无监督的,我也会尝试像dbscan这样的算法。它通常很快。
  • 如果您想尝试神经网络方法,请尝试sompy神经气体

为训练选择最佳特征时要注意的视觉属性:选择显示不同组最佳的两个特征

在基础知识中,良好的视觉分割是一个很好的起点。是的,记住算法如何划分空间是明智的。

我个人喜欢应用的一个好策略是从简单的学习者开始学习你的数据是如何结构化的。神经网络工作得很好,是否有局部行为的暗示?朴素贝叶斯的效果如何?概念是复杂的还是个别特征包含信息?等等。

至于选择特征:您可以尝试在比较它们使用的方法(例如信息增益)上对您的特征进行排名,或者简单地编写一个方案,在您的两种方法上尝试两者的所有组合(它只有 9 * 8 次运行)。如果空间大一点,我会建议将两者结合起来。您可能还想尝试组合功能(fi:PCA)。