擅长:python、mysql、java
<p>我建议:</p>
<ul>
<li><p>对于<code>sex</code>,一个热编码,转换为使用一个布尔值
用于<code>is_female</code>或<code>is_male</code>的var;对于n个类别,需要n-1
一个热编码变量是因为
n与前n-1成线性关系。</p></li>
<li><p>对于<code>vehicles_owned</code>如果你想保持秩序,我会重新映射
从<code>[1,2,3,3+]</code>到<code>[1,2,3,4]</code>的变量并将其视为int变量,
或<code>[1,2,3,3.5]</code>作为浮点变量。</p></li>
<li><p>对于<code>income</code>:您应该把它作为一个float变量。
某些模型(如GBT模型)可能会进行某种类型的装箱
在引擎盖下面。如果你的收入数据正好有一个指数
分布,您可以尝试<code>log</code>使用它。但只是把它转换成
我不推荐你自己特性工程中的垃圾箱。</p></li>
</ul>
<p>对所有这些事情的元建议是建立一个你有信心的交叉验证方案,为你的所有特性工程决策尝试不同的公式,然后遵循你的交叉验证性能度量来做出最终的决策。你知道吗</p>
<p>最后,在使用哪个库/函数之间,我更喜欢pandas的<code>get_dummies</code>,因为它允许您在最终的特征矩阵中保持列名的信息性,例如:<a href="https://stackoverflow.com/a/43971156/1870832">https://stackoverflow.com/a/43971156/1870832</a></p>