对于这种分类方法,是否有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)
答案 0 :(得分: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)
我最近在一些较新的实现中进行了测试,尤其是在最高still holds up pretty well and will maybe find a new home at some point的情况下。
第二,对于文本分类和机器学习,有许多替代方法。对于机器学习本身,caret
包(manual)不错,可以处理一些文本分类。但是,请记住it is not optimized for text。 quanteda.classifiers是一个非常酷的新软件包,有望很快进入CRAN,而quanteda
本身已经实现了朴素贝叶斯(Tutorial)。
第三,还有很多其他我不知道的软件包,我也不敢建议任何软件包都比其他软件包更适合您想要做的事情。不久前,我发现此线程讨论了一些选项:https://github.com/bnosac/ruimtehol/issues/11。