【问题标题】:rtexttools package alternative for R version 3.5.2 or newest R versionR 版本 3.5.2 或最新 R 版本的 rtexttools 包替代方案
【发布时间】:2020-03-31 12:53:19
【问题描述】:

对于这种分类方法,rtexttools 或其他软件包是否有替代品,因为这些软件包已被删除,还有 maxent 和 glmnet,它们依赖于 rtexttools,反之亦然;这是我试图应用和分类的脚本

library(maxent)
library(openxlsx)
library(RTextTools)
library(readxl)
library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")
library("tidyverse")
library(purrrlyr)
library(text2vec)
library(caret)
library(glmnet)
library(ggrepel)
library(arm)

cas = read_excel("C:/Users/Desktop/Modelo JUN19/Copia de Data Final Entrenamiento - ML DS CAS - 21-06-2019 - REV01.xlsx")

datos=data.frame(clase=cas$servicio,text=cas$a_subject)




trainIndex <- createDataPartition(datos$clase, p = 0.8, 
                                  list = FALSE,times = 1)

data_train=datos[trainIndex,]
data_test=datos[-trainIndex,]

matrix_train <- create_matrix(data_train$text,language="spanish",stemWords=FALSE)

matrix_test <- create_matrix_test(data_test$text,language="spanish",stemWords=FALSE,
                                  originalMatrix=matrix_train )


container_train <- create_container(matrix_train,data_train$clase,
                                    trainSize=1:length(data_train$clase),virgin=FALSE)



container_test <- create_container(matrix_test,labels=rep(0,length(data_test$clase)),
                                   trainSize=1:length(data_test$clase),
                                   virgin=FALSE)


##################### SVM
#lineal
t_svm_lineal <- Sys.time()  
model_SVM_lineal <- train_model(container_train, "SVM", kernel="linear")
print(difftime(Sys.time(), t_svm_lineal, units = 'mins'))
#Clasificación según el modelo
clas_svm_lineal_train <- classify_model(container_train, model_SVM_lineal )
clas_svm_lineal_test <- classify_model(container_test, model_SVM_lineal )
# tasa acertado
aceptacion_svm_lineal_train=summary(as.character(data_train$clase)==as.character(clas_svm_lineal_train$SVM_LABEL))
aceptacion_svm_lineal_test=summary(as.character(data_test$clase)==as.character(clas_svm_lineal_test$SVM_LABEL))
#Resumen de las categorias
summary(clas_svm_lineal_train$SVM_LABEL)
table(clas_svm_lineal_train$SVM_LABEL,data_train$clase)
table(clas_svm_lineal_test$SVM_LABEL,data_test$clase)

【问题讨论】:

    标签: r machine-learning nlp


    【解决方案1】:

    首先,这些软件包不再位于 CRAN 上,但您仍然可以根据需要使用它们。最简单的方法是从存档中安装它们:

    install.packages("https://cran.r-project.org/src/contrib/Archive/maxent/maxent_1.3.3.1.tar.gz", type = "source", repos = NULL)
    install.packages("https://cran.r-project.org/src/contrib/Archive/RTextTools/RTextTools_1.4.2.tar.gz", type = "source", repos = NULL)
    

    我最近针对一些更现代的实现进行了测试,尤其是 maxent still holds up pretty well and will maybe find a new home at some point

    其次,文本分类和机器学习有许​​多替代方案。对于机器学习本身来说,caret 包(manual)还不错,可以处理一些文本分类。但是,请记住it is not optimized for textquanteda.classifiers 是一个非常酷的新软件包,有望很快进入 CRAN,而 quanteda 本身已经实现了朴素贝叶斯 (Tutorial)。

    第三,还有很多我不知道的其他包,我不敢建议任何一个包比其他任何包更适合你想做的任何事情。我不久前发现了这个讨论一些选项的线程:https://github.com/bnosac/ruimtehol/issues/11

    【讨论】:

    • 我刚刚用 Rtextools 代替了插入符号和 quanteda,但现在我遇到了函数 create_matrix 的问题,它向我发出以下错误:> matrix_train
    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 2017-02-13
    • 2018-02-27
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多