我已经多次使用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,但不知道如何将其应用于我的问题。任何帮助将不胜感激。
答案 0 :(得分:0)
我发现答案是,weights
模型中的object
numpy数组需要为int64
时,其数据类型为sklearn
。因此,在构建模型之前,我添加了以下代码行:
weights = weights.astype(np.64)