Исправление ошибки типа в модели Sklearn - PullRequest
0 голосов
/ 18 февраля 2019

Я использовал 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 работает отлично.

Я смотрел на этот вопрос , но не мог понять, как применить его к моей проблеме.Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 19 февраля 2019

Я обнаружил, что ответом было то, что где-то в процессе массива weights numpy получал тип данных object, когда он должен был быть int64 для модели sklearn.Таким образом, я добавил следующую строку кода перед построением модели:

weights = weights.astype(np.64)

...