如何对 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.
等技术预处理数据
我有一个包含 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.
等技术预处理数据