如何对 python 中的字符串列进行线性回归?

How to make linear regression to String column in python?

我有一个包含 2 列的 csv 文件。一列有字符串毒性评论,另一列有浮点毒性值 0 到 1。(当毒性值接近 1 时,评论变得更加有毒)。

我想做线性回归以正确预测毒性值的数量。

为此,我首先将“评论”(字符串)列转换为整数:

train['comment']= pd.to_numeric(train['comment'], errors='coerce').fillna(0).astype(np.int64)

然后,我写了线性回归的代码:

linX = train.iloc[:, 0].values.reshape(-1,1)
linY = train.iloc[:, 1].values.reshape(-1,1)

lr = LinearRegression()
lr.fit(linX, linY)
Y_pred = lr.predict(linX)

plt.scatter(linX,linY)
plt.plot(linX,Y_pred, color='red')

这很有效,但我认为我做的不对。因为回归 table 对我来说似乎不正确:

我无法解决问题。我的问题是 ;

我的线性回归代码对这个问题正确吗?

我应该将“毒性”列与 0 值分开吗?

我不确定使用下面的代码将字符串转换为数值是否会 return 您正在寻找的结果。

pd.to_numeric(train['comment'], errors='coerce') 

这段代码只改变字符串注释的变量类型。字符串注释无法转换为整数。 coerce 可选参数导致将字符串转换为 NaN 值,并使用 fillna 将 NaN 值转换为零。

要使用机器学习技术解决文本分类问题,您需要使用 TF-IDF.

等技术预处理数据