有关标准化和扩展的问题

时间:2019-01-15 12:52:07

标签: scikit-learn regression scaling sklearn-pandas

我正在尝试生成一个模型,该模型使用一个分子的几种物理化学特性(包括原子数,环数,体积等)来预测数值Y。我想使用PLS回归,并且我了解标准化在这里非常重要。我正在使用scikit-learn在Python中进行编程。功能的类型和范围会有所不同。有些是int64,而另一些是float。一些特征通常具有较小的值(正值或负值),而其他特征则具有非常大的值。我尝试使用各种缩放器(例如标准缩放器,规范化,最小最大缩放器等)。然而,R2 / Q2仍然很低。我有几个问题:

  1. 通过缩放,某些非常重要的功能是否有可能失去其重要性,从而对解释响应变量的方差贡献不大?
  2. 如果是,如果我(根据专家知识)确定了一些重要功能,是否可以扩展其他功能?还是仅扩展重要功能?
  3. 某些要素虽然不总是相关,但与其他要素(例如-1至10)相比,其值在相似的范围内(例如100-400)。是否可以仅缩放同一范围内的一组特定功能?

2 个答案:

答案 0 :(得分:2)

缩放的整体思想是使模型对特征空间的分析更加健壮。例如,如果您具有25 Kg的{​​{1}}功能,我们知道两者是相同的,但是对于某些算法,它们对度量空间(例如{{ 1}},5000 gm等,它们将更偏重于第二功能,因此必须对这些算法进行缩放。

现在要问您的问题,

  1. 缩放不会影响功能的重要性。如上所述,它有助于更​​好地分析数据。
  2. 不,您不应该这样做,原因如上所述。
  3. 如果要在模型中包括领域知识,则可以将其用作先验信息。简而言之,对于线性模型,这与sensitive相同。它具有很好的功能。如果您认为自己有很多KNN,则可以使用PCA正则化,这会在特征空间上产生regularization效果,除了为无效的特征分配useless-features的权重外,别无其他。这是more-info的链接。

还有一点,某些方法,例如基于L1的模型不需要缩放,最后,它主要取决于您选择的模型。

答案 1 :(得分:1)

  1. 意义不大吗?是。贡献更少?不。
  2. 不,那不行。要么全部要么一无所有。
  3. 不。缩放的思想不是减少/增加变量的显着性/效果。它将所有变量转换为可以解释的通用比例。