擅长:python、mysql、java
<p>为了生成多项式特征,我假设您正在使用<a href="http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html#sklearn.preprocessing.PolynomialFeatures" rel="noreferrer">sklearn.preprocessing.PolynomialFeatures</a></p>
<p>这个方法中有一个论点只考虑相互作用。所以,你可以这样写:</p>
<pre><code>poly = PolynomialFeatures(interaction_only=True,include_bias = False)
poly.fit_transform(X)
</code></pre>
<p>现在只考虑你的交互条件,更高的程度被忽略。新的功能空间变成了[x1,x2,x3,x1*x2,x1*x3,x2*x3]</p>
<p>你可以把你的回归模型放在上面</p>
<pre><code>clf = linear_model.LinearRegression()
clf.fit(X, y)
</code></pre>
<p>生成结果公式<code>y = a*x1 + b*x2 + c*x3 + d*x1*x + e*x2*x3 + f*x3*x1</code></p>
<p><strong>注意:</strong>如果具有高维特征空间,则这将导致<a href="https://en.wikipedia.org/wiki/Curse_of_dimensionality#Machine_learning" rel="noreferrer">curse of dimensionality</a>这可能导致诸如过度拟合/高方差等问题</p>