您如何预测许多参数的非二进制值?

时间:2019-04-30 16:53:46

标签: python machine-learning scikit-learn classification

我有一些离散的决策变量-颜色,纹理,大小和温度-显然具有许多可能的值,而我观察到的对象显然对所有这些变量都具有一定的价值。

我希望在使用以前的变量预测作为功能的同时预测所有四个变量的值;即:首先,我使用某些功能预测颜色的值,然后将这个预测值添加到我的功能中,并预测纹理的值,然后对尺寸和温度进行预测。

您怎么称呼这种问题? sklearn提供了哪些工具来解决它?

1 个答案:

答案 0 :(得分:0)

您描述的模型是联合概率模型的通用分解。 (生成模型,因为它可以用于生成随机的合理数据点,而不仅可以预测目标标记。)

如果您只有离散功能,例如f1,f2,f3,您最多可以了解它们的联合概率P(f1,f2,f3)。这是一张表格,其中包含所有可能特征组合的概率值。由此您可以做出任何想要的预测。该表通常太大,您没有足够的数据来确定所有单元格。

您当然可以只学习P(f1)。您填写了一张非常小的桌子。但是一旦有了,就可以为每个给定值f1学习P2:P(f2 | f1)。这是一张大桌子。然后,您需要再次更大的P(f3 | f1,f2)。这始终是可能的,并且等同于学习整个表格。所以你什么都没得到。

您打算用一个预测器替换那些“表”,该预测器(希望)要学习的参数少于完整表的条目。但是,这样做会使您对模型产生偏见,因此,现在首先选择哪个功能以及学习方法如何处理依存关系就变得很重要。如果f3实际上独立于所有其他功能,那么它可以很好地工作,但是如果您已经知道这一点,则可以简单地将P(f3 | f1,f2)替换为P(f3),然后再作为一个独立的对象学习。因素(又称很小的表格)。如果遵循该路线,最终将为Bayesian network建模。