algorithm - Weka 中的 KNN 算法从未完成大型数据集

标签 algorithm weka data-mining knn large-data

返回一个有关数据挖掘的问题以及与 Weka 和 WekaSharp 合作进行数据挖掘的问题。通过 WekaSharp,我对一个相当大的数据集进行了一些分析,即 KDD Cup 1999 10% 数据库(~70 mb)。我使用决策树 J48 算法和朴素贝叶斯算法取得了良好的结果,每个算法都需要 10 到 30 分钟才能完成。当我通过 KNN 算法运行相同的数据时,它永远不会完成分析,它不会出错,它只是永远运行。我尝试了所有不同的参数,但没有效果。当我在较小的样本数据集(例如 iris.arff)上运行相同的 KNN 算法时,它可以毫无困难地完成。这是我对 KNN 参数的设置: "-K 1 -W 0 -A\"weka.core.neighboursearch.KDTree -A\\"weka.core.EuclideanDistance -Rfirst-last\\"\"" KNN 和大型数据集是否存在固有问题,或者是否存在设置问题?非常感谢。

最佳答案

kNN 受到“维数诅咒”的影响:高维数据集的空间查询无法像低维数据集那样有效优化,从而将其有效地转化为强力搜索。

NB mock 维度,因为它基本上忽略了维度。许多决策树变体也相当擅长处理高维数据。 kNN 不喜欢高维数据。预计要等很长时间。

关于algorithm - Weka 中的 KNN 算法从未完成大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20224828/

相关文章:

c# - 生成所有最长公共(public)子串的列表和变体列表

java - 如何创建包含从 1 到 n 的所有数字的二叉搜索树

algorithm - 用于时间和产品预测的序列挖掘

machine-learning - 可以将属性的预定义权重作为输入的分类算法

machine-learning - 机器学习/数据挖掘中的速度太慢或内存不足问题

python - 三和算法解决方案

javascript - 找到命运之轮的值(value)

machine-learning - 机器学习中使用的 "Relative absolute error"和 "Root relative squared error"的公式(由 Weka 计算)

Python 导入模块在提示符下有效,但在脚本中无效

java - 使用 WEKA API 为聚类定义输入数据