Text mining: uso de los algoritmos knn() y train() para la clasificación de documentos.
El objetivo es clasificar un conjunto de artículos de Reuters correspondientes a distintas temáticas: acquire, crude, earn, grain, interest, money-fx, ship y trade. Se trata de temáticas relacionadas con inversiones financieras y fondos de inversión.
Se utiliza un sistema de clasificación de documentos que se basa en el algoritmo de aprendizaje automático K-NN.
Para mostrar el funcionamiento del algoritmo de clasificación se utiliza un 70% de los artículos para entrenar el modelo de aprendizaje. Dicho algoritmo se aplica sobre el 30% de artículos restantes con el objetivo de predecir su temática.
Los datos están en el dataset data_reuter.txt. Este dataset contiene dos campos: el tipo de temática (en total hay 8) y el artículo relacionado. Entre las 8 temáticas se seleccionan 2 para realizar el análisis.
Se carga el dataset.
data = read.csv('data_reuter.txt', header= FALSE, sep='\t')
En R, por defecto, las columnas con carácteres no numéricos son tratadas como factores, para evitarlo:
options(stringsAsFactors = FALSE)
Se muestra el número total de filas.
nrow(data)
Se muestra en una tabla la primera fila.
table(data$V1)
Se seleccionan dos temáticas.
data2<-data[which(data$V1 %in% c("ship","crude")),]
data2