如何使用决策树将类别中的文本分类

时间:2019-05-06 18:03:23

标签: r decision-tree text-classification

我从2个RSS提要中导入了一些文本数据,然后创建了2个文档术语矩阵(DTM)。我一直在研究DTM的各种统计信息,例如最常用的术语等,但是现在我想使用这两个DTM,并且70%的数据训练了一个模型(决策树),该模型将能够识别新闻提要(教育和环境)这两个类别之一,那么我将使用剩余的30%来测试其效果。 我怎样才能做到这一点? 到目前为止,我所做的是:

# Convert Data from DTM  to Dataframe
data_fr1<-as.data.frame(as.matrix(DTM1),stringsAsFactors=False) 
data_fr2<-as.data.frame(as.matrix(DTM2),stringsAsFactors=False) 

class<-c(rep("edu",nrow(data_fr1)))
data_fr1<-cbind(data_fr1, class) # Class1 Label
class<-c(rep("env",nrow(data_fr2)))
data_fr2<-cbind(data_fr2, class) # Class2 label

我将如何从那里出发?在训练模型之前,我应该加入两个数据框吗?我将如何加入他们?如果适用,常用条款会如何处理? 70%的样本用于培训的要求怎么样?加入表格前我应该拿70%吗?

1 个答案:

答案 0 :(得分:0)

如果您有一个RSS代表“ edu”,另一个RSS代表“ env”,是的,您应该加入这两个数据源(并随机排​​列顺序)。然后将数据分成70:30(用于培训和测试)。由于改组,我们假设训练和测试分区包含类似分布的标记数据。

常用术语还可以,它们仍然可以提供信息(只要该术语的信息增益不为零)。例如,

At a certain split of the tree,
  there are 20 examples with term "biology" have the label of "edu", 
  but 180 examples with term "biology" has the label of "env", 
  and 200 examples without the term "biology". 

如果您选择拆分“生物学”,则对于包含“生物学”的200个示例,     您将在训练示例上获得90%的分类精度(如果该拆分是根)。还不错吧? (当然,对于那些没有术语“生物学”的示例,您可能希望继续拆分)