PolynomialFeatures fit_transform 报错值错误

1 投票
1 回答
1162 浏览
提问于 2025-04-28 11:23

我在运行多项式回归的例子时遇到了一个值错误(ValueError):

from sklearn.preprocessing import PolynomialFeatures
import numpy as np

poly = PolynomialFeatures(degree=2)
poly.fit_transform(X)   ==> ERROR

错误信息是:

File "/root/.local/lib/python2.7/site-packages/sklearn/base.py", line 426, in fit_transform
    return self.fit(X, **fit_params).transform(X)

File "/root/.local/lib/python2.7/site-packages/sklearn/preprocessing/data.py", line 473, in fit
  self.include_bias)

File "/root/.local/lib/python2.7/site-packages/sklearn/preprocessing/data.py", line 463, in _power_matrix
  powers = np.vstack(np.bincount(c, minlength=n_features) for c in combn)

File "/usr/lib/python2.7/dist-packages/numpy/core/shape_base.py", line 226, in vstack
  return _nx.concatenate(map(atleast_2d,tup),0)

File "/root/.local/lib/python2.7/site-packages/sklearn/preprocessing/data.py", line 463, in <genexpr>

  powers = np.vstack(np.bincount(c, minlength=n_features) for c in combn)  
  ValueError: The first argument cannot be empty.

我的scikit-learn版本是0.15.2

这个例子来自于: http://scikit-learn.org/stable/modules/linear_model.html#polynomial-regression-extending-linear-models-with-basis-functions

暂无标签

1 个回答

0

在创建PolynomialFeatures类的对象时,你应该把include_bias设置为False,像这样:

poly = PolynomialFeatures(degree=2, include_bias=False)

注意,在这个例子中,最终的矩阵现在没有第一列了。

撰写回答