高数值维度数据的最佳学习模型? (使用 Rapidminer)

Posted

技术标签:

【中文标题】高数值维度数据的最佳学习模型? (使用 Rapidminer)【英文标题】:Best Learning model for high numerical dimension data? (with Rapidminer) 【发布时间】:2016-10-31 19:14:43 【问题描述】:

我有一个大约的数据集。 4800 行,包含 22 个属性,全部为数字,主要描述岩石/矿物的几何形状,以及 3 个不同的类别。

我尝试在其中使用 k-nn 模型进行交叉验证,其中 k= 7 和数值测量 -> Camberra 距离作为参数集..我得到了 82.53% 和 0.673 kappa 的性能。该结果是否代表数据集?我的意思是 82% 还不错..

在此之前,我使用决策表评估了最佳属性子集,为此我得出了 6 个不同的属性。

问题是,你仍然没有从那种模型中学到很多东西,比如基于实例的 k-nn。我可以从 knn 获得更多见解吗?我不知道如何在 Rapidminer 中可视化高维空间中的集群,这可能吗? 我在数据上尝试了决策树,但是我得到了太多的分支(300 个左右)而且看起来太乱了,问题是,所有的数值属性都具有大致相同的均值和分布,因此很难得到一个不同的子集有意义的属性...

理想情况下,员工想要“学习”一些关于数据的东西,但我的印象是,你无法从这些数据中学到太多有意义的东西,最有效的是“黑盒”学习模型,如神经网络、SVM 和那些其他基于实例的模型... 我该怎么办?

【问题讨论】:

【参考方案1】:

欢迎来到机器学习的世界!这听起来像是一个经典的现实世界案例:我们想要做出明确的结论,但数据行不合作。 :-)

您的目标很模糊:“学习一些东西”?我认为这意味着您正在调查,希望找到三个类别之间的定量歧视。

首先,我强烈推荐主成分分析 (PCA):找出是否可以通过自动矩阵运算而不是手工构建的决策表来消除其中的一些属性。我预计杂乱的分支是由于不幸的选择因素造成的;决策树在过度拟合方面非常努力。 :-)

数据集的分离程度如何?由于您已经使用过 Knn,我希望您有密集的有间隙的集群。如果是这样,也许光谱聚类会有所帮助;这些方法擅长根据簇之间的间隙对数据进行分类,即使簇的形状不是球形的。解释取决于工作人员中是否有人可以阅读特征向量,以解释这些值的含义。

尝试多类 SVM。从 3 个班级开始,但如有必要,可以增加,直到出现 3 个预期班级。 (有时你会得到一个很小的异常类,然后将两个主要的类合并。)生成的内核函数和间隙的位置可以告诉你一些关于数据的知识。

尝试朴素贝叶斯族,尤其是当您观察到特征来自高斯或伯努利分布时。

作为一种整体方法,请尝试使用神经网络,但要使用一些东西来可视化神经元和权重。让人类视觉皮层玩弄关系可以帮助提取微妙的关系。

【讨论】:

以上是关于高数值维度数据的最佳学习模型? (使用 Rapidminer)的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库中的几种模型

星型模型与雪花模型比对(区别)

机器学习入门-数据预处理-进行多项式变化(将特征投影到高维度上)

数据仓库数仓建模之星型模型与维度建模

Python机器学习及实践——基础篇9(SVM回归)

模式识别 - 决策树问题研究