Ошибка типа линейной регрессии Python: аргумент float() должен быть строкой или числом, а не «методом»

#python #pandas #numpy

#python #pandas #numpy

Вопрос:

Я только начал пробовать машинное обучение, и я пытаюсь создать модель, которая может предсказать, считается ли введенная фраза самоубийственной или нет. Это код, который я получил до сих пор:

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model

data = pd.read_csv("Train.csv")
data.head()
data = data[["PHRASE", 'SUICIDAL']]

from sklearn.linear_model import LinearRegression
regr = linear_model.LinearRegression()

train_x = np.array(data["PHRASE"])
train_y = np.array(data["SUICIDAL"])


regr.fit(train_x, train_y)
train_x, train_y = regr.transform()
  

И это ошибка:

Ошибка типа: аргумент float () должен быть строкой или числом, а не «методом»

Есть идеи, в чем дело?

Комментарии:

1. Было бы полезно узнать, какая строка выдает ошибку. Строка from sklearn.linear_model import LinearRegression не нужна, поскольку вы уже импортировали весь linear_model модуль. Возможно, ошибка возникает из-за того, что линейная регрессия импортируется дважды как LinearRegression и как sklearn.LinearRegression .

2. Можете ли вы вставить полный журнал обратной трассировки? Кроме того, было бы здорово, если бы вы предоставили образец данных из вашего csv-файла (если он не является конфиденциальным)

3. @Jacob Я удалил 2-й импорт, но это не сработало. Строка, вызывающая ошибку regr.fit(train_x, train_y) .

4. @Cypherius вот журнал обратной трассировки: [ imgur.com/a/KJr1XeU ] . Я посмотрю, разрешено ли мне получить выборку данных через некоторое время.

5. Что здесь вводится? Возможно, train_y это не числовое значение.