【问题标题】:How do I create a feature vector if I don’t have all the data?如果我没有所有数据,如何创建特征向量?
【发布时间】:2019-07-15 22:58:34
【问题描述】:

因此,对于我要分类的每个“事物”来说,我有: {房子,公寓,平房,电加热,煤气加热,......}

这将被制成特征向量: {1,0,0,1,0,...} 表示用电加热的房子。

对于我的训练数据,我将拥有所有这些数据 - 但对于我想要分类的实际事物,我可能只有它是什么样的房子,以及其他一些东西 - 不是所有数据,即。 {1,0,0,?,?,...}

那么我该如何表示呢?

我想找出一个新项目被燃气加热的概率。

我将使用 SVM 线性分类器 - 我没有任何核心可展示,因为目前这纯粹是理论上的。任何帮助将不胜感激:)

【问题讨论】:

    标签: machine-learning svm


    【解决方案1】:

    当我读到这个问题时,您似乎对功能和标签感到困惑。

    你说你要预测一个新项目是否是“gasHeated”,那么“gasHeated”应该是一个标签而不是一个特征。

    顺便说一句,处理缺失值的最常见方法之一是将其设置为“零”(或一些未使用的值,例如 -1)。但通常情况下,你应该在训练数据和测试数据中都有缺失值,以使这个技巧有效。如果这种情况只发生在你的测试数据中,而没有出现在你的训练数据中,那就说明你的训练数据和测试数据不是来自同一个分布,这基本上违背了机器学习的基本假设。

    【讨论】:

      【解决方案2】:

      假设您有一个经过训练的模型和一个测试样本 {?,0,0,0}。然后您可以创建两个新的测试样本,{1,0,0,0},{0,0,0,0},您将有两个预测。

      如果您的测试数据集中有缺失值,我个人认为 SVM 不是一个好方法。就像我上面提到的,虽然你可以得到两个新的预测,但是如果每个都有不同的预测呢?在我看来,很难为 SVM 的结果分配概率,除非您使用逻辑回归或朴素贝叶斯。在这种情况下,我更喜欢随机森林。

      【讨论】:

        猜你喜欢
        • 2022-06-14
        • 1970-01-01
        • 1970-01-01
        • 2012-03-30
        • 2020-08-10
        • 1970-01-01
        • 2017-09-04
        • 1970-01-01
        • 2021-06-18
        相关资源
        最近更新 更多