【问题标题】:TF-IDF + Multiple Regression Prediction ProblemTF-IDF + 多元回归预测问题
【发布时间】:2019-06-03 10:57:30
【问题描述】:

我有一个包含约 10,000 行车辆的数据集,该数据集在类似于 Craigslist 的门户网站上出售。列包括价格、里程、编号。以前的车主,汽车多久售出(以天为单位),最重要的是描述车辆的文本主体(例如“无事故,定期维修”)。

我想知道包含哪些关键字会导致汽车更快售出。但是,我了解汽车的销售速度还取决于其他因素,尤其是价格和里程。

在 scikit-learn 中运行 TfidfVectorizer 导致预测准确性非常差。不确定我是否应该尝试在回归模型中包含价格、里程等,因为它看起来很复杂。目前正在考虑对足够大的数据的特定部分重复 TF-IDF 回归(也许丰田的价格在 1 万到 2 万美元之间)。

最后的手段是绘制两个直方图,一个包含特定单词/短语的车辆列表,另一个用于不包含特定单词/短语的车辆列表。这里的限制是我选择绘制的单词将基于我的主观意见。

还有其他方法可以找出哪些关键字可能很重要吗?提前致谢。

【问题讨论】:

  • 你在sklearn中使用了哪个分类器?大多数线性分类器应该有一个_coef 属性,它告诉你一些关于特征信息的事情stackoverflow.com/questions/11116697/… 但是如果分类器不是线性的,它就会变得棘手,例如medium.com/usf-msds/…
  • 我使用的是线性回归器。你提出了一个很好的观点——这种关系可能不是线性的。将尝试多项式回归器,看看结果是否有所改善。

标签: python scikit-learn nlp regression prediction


【解决方案1】:

正如您提到的,您只能使用文本正文,这表示文本对汽车销售的影响程度。

尽管该模型的预测准确性非常差,但您可以提前看到特征的重要性,了解推动销售的词是什么。

通过将 ngram_range 参数设置为 (1,2) 在 tfidf 矢量化器中包含短语 这可能会让您了解哪些短语会影响汽车的销售。

如果还建议你将tfidf的norm参数设置为None,看看是否有影响。默认情况下,它应用 l2 范数。

不同之处在于您使用的分类模型。尝试更改模型也是最后的选择。

【讨论】:

  • 感谢您的建议!原始方法(默认 ngram_rangenorm 值)给出的 MSE 为 165.15。鉴于大多数车辆在 10 天内售出,这是巨大的。配置ngram_rangenorm 会返回一个e22 大小的MSE,但重新运行train_test_split 几次会得到155 范围内的数字。我想文本和销售速度之间没有有意义的关系。在数据子集(日本汽车)上重新运行回归器。默认参数给出 171.45; ngram_rangenorm 是 166.57。现在会给其他模型一个机会。
  • 使用的是什么型号?抢夺特征重要性
  • 我正在使用来自 scikit-learn 的 LinearRegression。除了多项式和决策树,还有其他值得尝试的模型吗?另外,如果我的问题太简单,请原谅我 - 你所说的特征重要性是什么意思?谢谢!
  • svm.SVC 可能值得一试。在线性回归的情况下,特征重要性只是模型从数据中学习的系数。 model.coef_ 会给你,并将其与矢量化器的特征名称进行比较。
  • 已接受答案并投票。由于我的代表分数低,我的赞成票没有公开显示。感谢 AI_Learning 的帮助,干杯!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 2015-05-07
  • 2015-07-11
  • 2022-08-19
  • 2017-02-02
  • 2018-10-19
相关资源
最近更新 更多