在Sklearn模型中修复TypeError

时间:2019-02-18 20:05:56

标签: python pandas numpy scikit-learn typeerror

我已经多次使用sklearn的{​​{1}}。但是,这次我在拟合模型时遇到此错误:

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) 的情况下拟合模型效果很好。

我查看了此question,但不知道如何将其应用于我的问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我发现答案是,weights模型中的object numpy数组需要为int64时,其数据类型为sklearn。因此,在构建模型之前,我添加了以下代码行:

weights = weights.astype(np.64)