8 packages R utiles pour la science des données que vous n’utilisez pas (Mais il devrait!)

Contenu

introduction

Soy un gran admirador de R, Ce n’est pas un secret.. Je lui fais confiance depuis que j’ai appris les statistiques à l’université.. En réalité, R sigue siendo mi lenguaje preferido para proyectos de aprendizaje automático.

Tres cosas me atrajeron principalmente a R:

  • La sintaxis fácil de entender y usar
  • La increíble herramienta RStudio
  • Paquetes R!

R ofrece una gran cantidad de paquetes para realizar tareas de aprendizaje automático, que incluyen ‘dplyrpara la manipulación de datos, ‘ggplot2’ pour la visualisation des données, ‘caretpara la construcción de modelos ML, etc.

r1-3666963

Incluso hay paquetes R para funciones específicas, que incluyen puntuación de riesgo crediticio, extracción de datos de sitios web, économétrie, etc. Hay una razón por la que R es querido entre los estadísticos de todo el mundo: la gran cantidad de paquetes R disponibles hace la vida mucho más fácil.

Dans cet article, mostraré ocho paquetes R que han pasado desapercibidos entre los científicos de datos, pero que son increíblemente útiles para realizar tareas específicas de aprendizaje automático. Pour commencer, he incluido un ejemplo junto con el código de cada paquete.

crème, ¡su amor por R está a punto de sufrir otra revolución!

Los paquetes R que cubriremos en este artículo

He dividido ampliamente estos paquetes R en tres categorías:

  • Visualisation de données
  • Apprentissage automatique
  • Otros paquetes R varios
  • Bono: ¡Más paquetes R!

Visualisation de données

data-viz-2229716

R es una herramienta increíble para visualizar datos. ¿La facilidad con la que podemos generar todo tipo de gráficos con solo una o dos líneas de código? Verdaderamente un ahorro de tiempo.

R proporciona aparentemente innumerables formas de visualizar sus datos. Incluso cuando estoy usando Python para una determinada tarea, vuelvo a R para explorar y visualizar mis datos. ¡Estoy seguro de que la mayoría de los usuarios de R sienten lo mismo!

Veamos algunos paquetes R increíbles pero menos conocidos para realizar análisis de datos exploratorios.

Este es mi paquete de referencia para realizar análisis de datos exploratorios. Desde trazar la estructura de los datos hasta gráficos QQ e incluso crear informes para su conjunto de datos, este paquete lo hace todo.

Veamos qué puede hacer DataExplorer con un ejemplo. Considere que hemos almacenado nuestros datos en el Les données variable. À présent, queremos averiguar el porcentaje de valores perdidos en cada característica presente. Esto es extremadamente útil cuando trabajamos con conjuntos de datos masivos y calcular la suma de los valores faltantes puede llevar mucho tiempo.

Puede instalar DataExplorer usando el siguiente código:

install.paquets("DataExplorer")

Ahora veamos qué puede hacer DataExplorer por nosotros:

une bibliothèque(DataExplorer)
Les données(iris)
intrigue_manquante(iris)

Obtenemos una gráfica realmente intuitiva para los valores perdidos:

rplot-6515050

Uno de mis aspectos favoritos de DataExplorer es el informe completo que podemos generar usando solo una línea de código:

Creer un rapport(iris)

A continuación se muestran los diferentes tipos de factores que obtenemos en este informe:

report-7744929

Puede acceder al informe completo a través de ce lien. Un paquete MUY útil.

¿Qué tal un complemento de ‘arrastrar y soltarpara generar gráficos en R? C’est juste – esquivar es un paquete que le permite seguir creando gráficos sin tener que codificarlos.

logo_esquisse-7988113

Esquisse se basa en el paquete ggplot2. Eso significa que puede explorar sus datos de forma interactiva en el entorno de esquisse generando gráficos ggplot2.

Utilice el siguiente código para instalar y cargar esquivar en su máquina:

# From CRAN
install.packages("esquisse")

#Load the package in R
library(esquisse)

esquisse::esquisser() #helps in launching the add-in

También puede iniciar el complemento esquisse a través del menú RStudio. La interfaz de usuario de esquisse se ve así:

esquisse-7041823

Assez bien, vérité? Continúe y juegue con diferentes tipos de tramas: es una experiencia reveladora.

Apprentissage automatique

ml-9006920

Ah, construir modelos de aprendizaje automático en R. El santo grial por el que nos esforzamos los científicos de datos cuando emprendemos nuevos proyectos de aprendizaje automático. Es posible que haya utilizado el paquete ‘caretpara construir modelos antes.

À présent, permítame presentarle algunos paquetes de R que pueden cambiar la forma en que aborda el proceso de construcción de modelos.

Una de las principales razones por las que Python se adelantó a R fue gracias a sus bibliotecas centradas en el aprendizaje automático (como scikit-learn). Pendant très longtemps, R careció de esta habilidad. Seguro que podría usar diferentes paquetes para realizar diferentes tareas de AA, pero no había un solo paquete que pudiera hacerlo todo. Tuvimos que llamar a tres bibliotecas diferentes para construir tres modelos diferentes.

Pas idéal.

Y luego llegó el paquete MLR. Es un paquete increíble que nos permite realizar todo tipo de tareas de aprendizaje automático. MLR incluye todos los algoritmos populares de aprendizaje automático que usamos en nuestros proyectos.

logo_navbar-8621062

Recomiendo encarecidamente leer el siguiente artículo para profundizar en MLR:

Veamos cómo instalar MLR y construir un modelo de bosque aleatorio en el conjunto de datos de iris:

install.paquets("mlr")
une bibliothèque(mlr)

# Load the dataset
data(iris)
# create task
task = makeClassifTask(id = ”iris”, iris, target = ”Species”)

# create learner
learner = makeLearner(”classif.randomForest”)

# build model and evaluate
holdout(learner, tâche)

# measure accuracy
holdout(learner, tâche, measures = acc)

Production:

Resample Result
Task: iris
Learner: classif.randomForest
Aggr perf: acc.test.mean=0.9200000          # 92% précision - not bad!
Durée: 0.0239332

Un problema común con las diferentes funciones disponibles en R (que hacen lo mismo) es que pueden tener diferentes interfaces y argumentos. Tomemos el algoritmo de bosque aleatorio, par exemple. El código que usaría en el forêt aléatoire paquete y el signo de intercalación el paquete es diferente, vérité?

Como MLR, chirivía elimina el problema de hacer referencia a varios paquetes para un determinado algoritmo de aprendizaje automático. Imita con éxito el paquete scikit-learn de Python en R.

Veamos el siguiente ejemplo simple para darle una idea de cómo chirivía funciona para un problema de regresión lineal:

install.paquets("parsnip")
une bibliothèque(parsnip)

#Load the dataset
data(mtcars)

#Build a linear regression model
fit <- linear_reg("regression") %>% 
set_engine("lm") %>% 
ajuster(mpg~.,data=mtcars)
fit #extracts the coefficient values

Production:

parsnip model object
Call:
Statistiques::lm(formula = formula, données = données)

Coefficients:
(Intercepter)          cyl         disp           hp         drat           wt         qsec  
   12.30337     -0.11144      0.01334     -0.02148      0.78711     -3.71530      0.82104  
         vs           am         gear         carb  
    0.31776      2.52023      0.65541     -0.19942

Ranger es uno de mis paquetes R favoritos. Utilizo regularmente bosques aleatorios para crear modelos de línea de base, especialmente cuando participo en hackatones de ciencia de datos.

Aquí hay una pregunta: ¿cuántas veces ha encontrado un cálculo de bosque aleatorio lento para grandes conjuntos de datos en R? Sucede con demasiada frecuencia en mi vieja máquina.

Los paquetes como el símbolo de intercalación, los bosques aleatorios y rf requieren mucho tiempo para calcular los resultados. El paquete ‘Rangeracelera nuestro proceso de construcción de modelos para el algoritmo de bosque aleatorio. Le ayuda a crear rápidamente una gran cantidad de árboles en menos tiempo.

Codifiquemos un modelo de bosque aleatorio usando Ranger:

install.paquets("ranger")

#Load the Ranger package
require(ranger) 
ranger(Species ~ ., data = iris,num.trees=100,mtry=3)

 
train.idx <- échantillon(maintenant(iris), 2/3 * maintenant(iris)) 
iris.train <- iris[train.idx, ] 
iris.test <- iris[-train.idx, ] 
rg.iris <- ranger(Species ~ ., data = iris.train) 
pred.iris <- prédire(rg.iris, data = iris.test) 

#Build a confusion matrix
table(iris.test$Species, pred.iris$predictions)

Production:

             setosa versicolor virginica
  setosa         16          0         0
  versicolor      0         16         2
  virginique       0          0        16

Una actuación bastante impresionante. Debería probar Ranger en conjuntos de datos más complejos y ver cuánto más rápidos se vuelven sus cálculos.

¿Agotado mientras ejecuta su modelo de regresión lineal en diferentes partes de datos y calcula las métricas de evaluación para cada modelo? Les ronroneo paquete viene a su rescate.

También puede crear modelos lineales generalizados (glm) para diferentes piezas de datos y calcular valores p para cada característica en forma de lista. Las ventajas de ronroneo sont infinis!

Veamos un ejemplo para entender su funcionalidad. Construiremos un modelo de regresión lineal aquí y subconjuntaremos los valores de R-cuadrado:

#D'abord, read in the data mtcars
data(mtcars)

mtcars %>%
   diviser(.$cylindre) %>% #selecting cylinder to create three sets of data using the cyl values
   map(~ lm(mpg ~ wt, données = .)) %>%
   carte(sommaire) %>%
   map_dbl("r.squared")

Production

    4         6         8 
0.5086326 0.4645102 0.4229655

Ensuite, ¿observaste? Este ejemplo usa ronroneo para resolver un problema bastante realista:

  • Dividir un marco de datos en pedazos
  • Ajusta un modelo a cada pieza
  • Calcular el resumen
  • Finalement, extrae los valores de R-cuadrado

Nos ahorra mucho tiempo, vérité? En lugar de ejecutar tres modelos diferentes y tres comandos para crear un subconjunto del valor R cuadrado, solo usamos una línea de código.

Utilitaires: Otros paquetes R impresionantes

Veamos algunos otros paquetes que no necesariamente caen bajo el paraguas del ‘aprendizaje automático’. Los he encontrado útiles en términos de trabajar con R en general.

El análisis de sentimientos es una de las aplicaciones más populares del aprendizaje automático. Es una realidad ineludible en el mundo digital actual. Y Twitter es un objetivo principal para extraer tweets y crear modelos para comprender y predecir el sentimiento.

À présent, hay algunos paquetes R para extraer / raspar Tweets y realizar análisis de opiniones. El paquete ‘rtweethace lo mismo. Ensuite, ¿en qué se diferencia de los otros paquetes que existen?

logo-8844413

‘rtweettambién le ayuda a comprobar las tendencias de los tweets de la propia R. Impressionnant!

# install rtweet from CRAN
install.paquets("rtweet")

# load rtweet package
une bibliothèque(rtweet)

Todos los usuarios deben estar autorizados para interactuar con la API de Twitter. Para obtener la autorización, siga las instrucciones a continuación:

1.Haz una aplicación de Twitter

2. Crea y guarda tu token de acceso

Para obtener un procedimiento detallado paso a paso para obtener la autenticación de Twitter, siga este enlace ici.

Puede buscar tweets con ciertos hashtags simplemente por la línea de código que se menciona a continuación. Intentemos buscar todos los tweets con el hashtag #avengers ya que Infinity War está listo para su lanzamiento.

#1000 tweets with hashtag avengers 

tweets <- search_tweets(
  "#avengers", m = 1000, include_rts = FALSE)

Incluso puede acceder a los ID de usuario de las personas que siguen una determinada página. Voyons un exemple:

## get user IDs of accounts following marvel

marvel_flw <- get_followers("marvel", m = 20000)

Puede hacer mucho más con este paquete. Pruébelo y no olvide actualizar la comunidad si encuentra algo emocionante.

¿Te encanta codificar en R y Python, pero quieres seguir con RStudio? ¡Reticular es la respuesta! El paquete resuelve este problema importante al proporcionar una interfaz Python en R. ¡Puede usar fácilmente las principales bibliotecas de Python como numpy, pandas y matplotlib dentro de R!

También puede transferir su progreso con datos fácilmente de Python a R y de R a Python con solo una línea de código. N'est-ce pas incroyable? Consulte el bloque de código a continuación para ver lo fácil que es ejecutar Python en R.

repl_python-4016343

Antes de continuar con la instalación directa de reticulate en R, primero deberá instalar TensorFlow y Keras.

install.paquets("tensorflow")
install.paquets("dur")

une bibliothèque(tensorflow)
une bibliothèque(dur)
install_keras()
install.paquets("reticulate")
une bibliothèque(reticulate)

¡Y estás listo para irte! Ejecute los comandos que proporcioné anteriormente en la captura de pantalla y pruebe sus proyectos de ciencia de datos de manera similar.

AVANT

¡Aquí hay otros dos paquetes de utilidades R para todos sus nerds de programación!

¿Actualiza sus paquetes R individualmente? Puede ser una tarea tediosa, especialmente cuando hay varios paquetes en juego.

¡El paquete ‘InstallRle permite actualizar R y todos sus paquetes usando un solo comando! En lugar de verificar la última versión de cada paquete, podemos usar InstallR para actualizar todos los paquetes de una vez.

# installing/loading the package:
si(!Exige(installr)) {
install.paquets("installr"); Exige(installr)} #charge / install+load installr
 
# using the package:
updateR() # this will start the updating process of your R installation. 
# It will check for newer versions, and if one is available, will guide you through the decisions you'd need to make

¿Qué paquete usas para instalar bibliotecas desde GitHub? La mayoría de nosotros confiamos en el paquete ‘devtoolsdurante mucho tiempo. Parecía ser la única forma. Pero había una advertencia: necesitábamos recordar el nombre del desarrollador para instalar un paquete:

install_github("DeveloperName/PackageName")

Con el paquete ‘githubinstall’, el nombre del desarrollador ya no es necesario.

install.paquets("githubinstall")

#Install any GitHub package by supplying the name
githubinstall("PackageName")

#githubinstall("AnomalyDetection")
El paquete también proporciona algunas funciones útiles para los paquetes R alojados en GitHub. Sugerí consultar la documentación del paquete (vinculada arriba) para obtener más detalles.

Remarques finales

Ce n'est en aucun cas une liste exhaustive. Hay muchos otros paquetes de R que tienen funciones útiles, pero la mayoría los ha pasado por alto.

¿Conoce algún paquete que me haya perdido en este artículo? ¿O ha utilizado alguno de los mencionados anteriormente para su proyecto? ¡Me encantaría saber de ti! ¡Conéctese conmigo en la sección de comentarios a continuación y hablemos de R!

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.