【问题标题】:prediction on text data using R使用 R 对文本数据进行预测
【发布时间】:2017-11-27 04:57:13
【问题描述】:

我的数据框中有两列:文本和类别

示例文本:真实文本数据要大得多。两列用|分隔

Text|Category
I want to get financial advise|financial advise
can I get my loan approved?| loan query
how many years of credit history required?|credit card query

我想分析文本列并预测类别。 在真实数据中,这样的类别有 100 多个。这样做的最佳方法是什么?我是用 R 语言做的。

【问题讨论】:

  • 请阅读(1)我如何提出一个好问题,(2)如何创建 MCVE 以及(3)如何在 R 中提供一个最小的可重现示例。然后编辑和改进你的相应地提问。即,从你的实际问题中抽象出来......

标签: r text analytics


【解决方案1】:

您的任务可以拆分为子任务:

  1. 将“类别”变量值转换为整数。

  2. 使用"tidy text" 方法将“文本”变量处理为简单值。

  3. 应用其中一种模型进行多类分类,例如像这样Multiclass Classification with XGBoost in R

这是解决您的任务的非常通用的方法。

【讨论】:

  • XGBoost 是否能够处理因变量中的 100 个级别?此外,如果您将级别转换为 1、2、3、4 等数字,则 RandomForest 等算法将开始进行预测十进制数字,在这种情况下没有意义,因为预测值应该是表示级别的数字。
  • xgboost 可以处理 100 多个级别。您可以将变量值编码/编码为分类/数字格式。这是标准做法。也很高兴在我的回答中有“+1”:)
  • Andrii,如果我的因变量有 100 个级别,名称为 'big'、'medium'、'large'、'xralarge' 等,那么您建议先分配一个数字(数值数据类型),然后训练 XGBoost 模型来预测这些数字。我不确定这会只生成数字(不带小数)或带小数的数字作为预测。如果我直接在这 100 个关卡上训练 XGBoost 而没有任何转换呢?正如你所说,它可以处理很多关卡,那么它应该可以毫无问题地与我现有的 100 个关卡一起工作。如果我错了,请纠正我。
  • 我是新用户,所以我对答案的支持没有在这里得到体现。这就是它的工作原理吗?我非常感谢答案,只是不知道该怎么做。很快就会弄清楚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 2013-07-20
  • 1970-01-01
  • 2019-03-25
  • 2014-07-06
  • 2014-12-24
相关资源
最近更新 更多