【问题标题】:predicting a numerical value using KNN in weka在 weka 中使用 KNN 预测数值
【发布时间】:2013-11-14 02:54:37
【问题描述】:

我有两个数据集,一个用于训练,一个用于测试。 我将预测测试数据集中具有数值类型的列的值。为了预测一个实例的值,我必须在训练数据集中找到该实例的 k 个最近邻,并计算值的平均值。 (也可以使用等待)。

例如:

column0column1column2

......a.......................b...... ..10
......a........b...... .........12
......c.......d.... ................16

......a.......................b...... ..?

我需要一种数据挖掘方法来给我结果 = (10+12)/2 = 11 我应该使用哪种方法来获得这样的结果? 你知道任何解释如何使用该方法的好文档吗?

【问题讨论】:

    标签: weka


    【解决方案1】:

    Weka 中的 KNN 是作为 IBk 实现的。它能够预测数值和标称值。

    如果您使用的是 Weka Explorer (GUI),您可以通过查找分类选项卡下的“选择”按钮来找到它。在那里导航文件夹:

    分类器 -> 懒惰 -> IBk

    选择 IBk 后,单击按钮右侧的框。这将打开大量的选项。如果您然后单击选项窗口中的“更多”按钮,您将看到所有选项的解释。如果您需要对分类器的更多解释,他们甚至会列出分类器所基于的学术论文。您可以对所有分类器执行此操作以获取附加信息。

    【讨论】:

    • 我使用 IBK 解决了这个问题,但我得到了这个错误:“属性不是名义上的,字符串或日期!”
    • 如果您将数据集保存为“.arff”并在简单的文本编辑器中打开它,您可能会通过查看文件的标题获得一些提示。如果没有数据集的样本,您很难猜测问题可能是什么。
    • IBK 中的什么方法可以提供我用“?”标记的预测值?在问题?我使用“双 c = knn.classifyInstance(testData.instance(i));” .我测试了“c”是否是我需要的,它对于 20 个最近的邻居是正确的,但是当我对 100 个最近的邻居进行测试时,我得到了手动计算的结果 80.52,而代码给了我 73.68。为什么他们不一样?我用错了方法吗?
    猜你喜欢
    • 2017-04-30
    • 1970-01-01
    • 2016-10-15
    • 2017-11-01
    • 1970-01-01
    • 2015-04-13
    • 2018-10-14
    • 2013-04-22
    • 2015-03-23
    相关资源
    最近更新 更多