So *_*o S 4 python numpy data-analysis python-3.x scikit-learn
在对词袋实现线性回归模型期间,python 返回了非常大/非常低的值。train_data_features包含训练数据中的所有单词。训练数据包含大约 400 条评论,每条评论少于 500 个字符,排名在 0 到 5 之间。之后,我为每个文档创建了一个词袋。在尝试对所有词袋的矩阵进行线性回归时,
from sklearn import linear_model
clf = linear_model.LinearRegression()
clf.fit(train_data_features, train['dim_hate'])
coef = clf.coef_
words = vectorizer.get_feature_names()
for i in range(len(words)):
print(str(words[i]) + " " + str(coef[i]))
Run Code Online (Sandbox Code Playgroud)
结果似乎很奇怪(只是 4000 中的 3 个示例)。它显示了为单词创建的回归函数的因素。
btw -0.297473967075
land 54662731702.0
landesrekord -483965045.253
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为目标变量在 0 到 5 之间,但因子是如此不同。他们中的大多数都有非常高/低的数字,我只期待像btw.
你有什么想法,为什么结果是这样的?
检查数据集中的相关特征。
如果您的特征高度相关,您可能会遇到问题。例如,每个客户的费用 -
jan_expenses, feb_expenses, mar_expenses, Q1_expenses
Q1 特征是 1 月到 3 月的总和,因此当你尝试拟合时,你的系数会变得“疯狂”,因为它将很难找到最能描述每月特征和 Q 特征的线。尝试删除高度相关的特征并重新运行。
(顺便说一句,岭回归也为我解决了这个问题,但我很好奇为什么会发生这种情况,所以我挖了一下)
| 归档时间: |
|
| 查看次数: |
5996 次 |
| 最近记录: |