【发布时间】:2019-07-12 06:27:22
【问题描述】:
我已经多次使用sklearn 的linear_model.Ridge()。但是,这次我在拟合模型时遇到了这个错误:
TypeError: ufunc 'subtract' output (typecode 'O') could not be coerced to provided output parameter (typecode 'd') according to the casting rule ''same_kind''
我认为该错误与 sample_weights 数据类型有关。下面是我的代码。
X = df[['X']]
Y = df[['Y']]
weights = df[['Wgt']]
weights = weights.values
weights = weights.ravel()
lr_rg = linear_model.Ridge(alpha=2700)
lr_rg.fit(X, Y, sample_weight=weights)
权重设置有问题吗?我之前为模型做过类似的设置,从来没有遇到过任何麻烦。在没有sample_weights 的情况下拟合模型效果很好。
我查看了这个question,但不知道如何将其应用于我的问题。任何帮助将不胜感激。
【问题讨论】:
-
你能提供一个可重现的例子吗?权重是什么样的?
-
@MaximeKan 权重只是一个 numpy 数组。
X和Y都是 pandas 数据帧。linear_model.Ridge()的文档调用这些数据类型,所以我对类型错误感到困惑。
标签: python pandas numpy scikit-learn typeerror