8 Nützliche R-Pakete für Data Science, die Sie nicht verwenden (aber sollte!)

Teilen auf Facebook
Teilen auf twittern
Teilen auf verlinktin
Teilen auf Telegramm
Teilen auf WhatsApp

Inhalt

Einführung

Ich bin ein großer Fan von R, es ist kein geheimnis. Ich habe ihm vertraut, seit ich im College Statistik gelernt habe. Eigentlich, R ist immer noch meine bevorzugte Sprache für Machine-Learning-Projekte.

Drei Dinge haben mich hauptsächlich an R gereizt:

  • Leicht zu verstehende und zu verwendende Syntax
  • Das erstaunliche RStudio-Tool
  • R-Pakete!

R bietet eine große Anzahl von Paketen zur Durchführung von Machine Learning-Aufgaben, einschließlich "dplyr"’ zur Datenmanipulation, 'ggplot2’ zur Datenvisualisierung, 'caret’ zum Erstellen von ML-Modellen, etc.

r1-3666963

Es gibt sogar R-Pakete für bestimmte Funktionen, die Kreditrisikobewertung beinhalten, Extraktion von Website-Daten, Ökonometrie, etc. Es gibt einen Grund, warum R bei Statistikern auf der ganzen Welt so beliebt ist: die große Anzahl verfügbarer R-Pakete macht das Leben viel einfacher.

In diesem Artikel, Ich zeige acht R-Pakete, die von Data Scientists unbemerkt geblieben sind, die jedoch unglaublich nützlich sind, um bestimmte Aufgaben des maschinellen Lernens auszuführen. um anzufangen, Ich habe ein Beispiel zusammen mit dem Code jedes Pakets eingefügt.

Creme, Ihre Liebe zu R steht vor einer weiteren Revolution!!

Die R-Pakete, die wir in diesem Artikel behandeln werden

Ich habe diese R-Pakete grob in drei Kategorien unterteilt:

  • Datenvisualisierung
  • Maschinelles Lernen
  • Andere verschiedene R-Pakete
  • Bono: Weitere R-Pakete!

Datenvisualisierung

data-viz-2229716

R ist ein erstaunliches Werkzeug zur Visualisierung von Daten. Die Leichtigkeit, mit der wir mit nur einer oder zwei Zeilen Code alle Arten von Grafiken erstellen können? Wirklich eine Zeitersparnis.

R bietet scheinbar unzählige Möglichkeiten, Ihre Daten zu visualisieren. Auch wenn ich Python für eine bestimmte Aufgabe verwende, Ich gehe zurück zu R, um meine Daten zu untersuchen und zu visualisieren. Ich bin mir sicher, dass die meisten R-Benutzer genauso denken!!

Schauen wir uns einige großartige, aber weniger bekannte R-Pakete für explorative Datenanalysen an.

Dies ist mein Paket für die explorative Datenanalyse. Vom Plotten der Datenstruktur über QQ-Diagramme bis hin zum Erstellen von Berichten für Ihren Datensatz, Dieses Paket macht alles.

Sehen wir uns an einem Beispiel an, was DataExplorer tun kann. Bitte beachten Sie, dass wir unsere Daten im Daten Variable. Jetzt, Wir möchten den Prozentsatz der fehlenden Werte in jedem vorhandenen Feature herausfinden. Dies ist äußerst nützlich, wenn mit massiven Datensätzen gearbeitet wird und die Berechnung der Summe der fehlenden Werte zeitaufwändig sein kann..

Sie können DataExplorer mit dem folgenden Code installieren:

install.pakete("DatenExplorer")

Sehen wir uns nun an, was DataExplorer für uns tun kann:

Bücherei(DatenExplorer)
Daten(Iris)
plot_missing(Iris)

Wir erhalten eine wirklich intuitive Grafik für die fehlenden Werte:

rplot-6515050

Einer meiner Lieblingsaspekte von DataExplorer ist der vollständige Bericht, den wir mit nur einer Codezeile erstellen können:

Bericht erstellen(Iris)

Im Folgenden sind die verschiedenen Arten von Faktoren aufgeführt, die wir in diesem Bericht erhalten:

Bericht-7744929

Sie können auf den vollständigen Bericht zugreifen über dieser Link. Ein SEHR nützliches Paket.

Wie wäre es mit einem "Drag-and-Drop-Plugin"?’ um Graphen in R . zu erzeugen? Korrekt – Ausweichen ist ein Paket, mit dem Sie weiterhin Grafiken erstellen können, ohne sie codieren zu müssen.

logo_squisse-7988113

Esquisse basiert auf dem ggplot2-Paket. Das bedeutet, dass Sie Ihre Daten in der Skimming-Umgebung interaktiv untersuchen können, indem Sie ggplot2-Diagramme erstellen..

Verwenden Sie den folgenden Code zum Installieren und Hochladen Ausweichen auf deiner Maschine:

# From CRAN
install.packages("esquisse")

#Load the package in R
library(esquisse)

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

Sie können das esquisse-Plugin auch über das RStudio-Menü starten. Die Benutzeroberfläche von esquisse sieht so aus:

Skizze-7041823

Ziemlich gut, Wahrheit? Machen Sie weiter und spielen Sie mit verschiedenen Arten von Plots herum: es ist ein augenöffnendes Erlebnis.

Maschinelles Lernen

ml-906920

Ah, Erstellen Sie Modelle für maschinelles Lernen in R. Der heilige Gral, nach dem wir Data Scientists streben, wenn sie neue Machine-Learning-Projekte durchführen. Möglicherweise haben Sie das Caret-Paket verwendet’ vorher Modelle bauen.

Jetzt, Lassen Sie mich Ihnen einige R-Pakete vorstellen, die Ihre Herangehensweise an den Modellerstellungsprozess verändern können.

Einer der Hauptgründe, warum Python R voraus war, waren seine Bibliotheken, die sich auf maschinelles Lernen konzentrieren (como scikit-lernen). Längst, R fehlte diese Fähigkeit. Natürlich könnten Sie verschiedene Pakete verwenden, um verschiedene AA-Aufgaben auszuführen, aber es gab kein einzelnes Paket, das alles konnte. Wir mussten drei verschiedene Bibliotheken aufrufen, um drei verschiedene Modelle zu erstellen.

Nicht ideal.

Und dann kam das MLR-Paket.. Es ist ein erstaunliches Paket, mit dem wir alle Arten von maschinellen Lernaufgaben ausführen können.. MLR enthält alle gängigen maschinellen Lernalgorithmen, die wir in unseren Projekten verwenden.

logo_navbar-8621062

Ich empfehle dringend, den folgenden Artikel zu lesen, um in MLR einzutauchen:

Sehen wir uns an, wie MLR installiert und ein Random-Forest-Modell für das Iris-Dataset erstellt wird:

install.pakete("Mlr")
Bücherei(Mlr)

# Load the dataset
data(Iris)
# create task
task = makeClassifTask(id = "iris", Iris, target = "Spezies")

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

# build model and evaluate
holdout(Lernender, Aufgabe)

# measure accuracy
holdout(Lernender, Aufgabe, Maßnahmen = ACC)

Produktion:

Resample Result
Task: iris
Learner: classif.randomForest
Aggr perf: acc.test.mean=0,9200000          # 92% Richtigkeit - Nicht schlecht!
Laufzeit: 0.0239332

Ein häufiges Problem mit den verschiedenen Funktionen, die in R verfügbar sind (die dasselbe tun) ist, dass sie unterschiedliche Schnittstellen und Argumente haben können. Nehmen wir den Random-Forest-Algorithmus, zum Beispiel. Der Code, den Sie in der zufälliger Wald Paket und die Kollatierungszeichen Das Paket ist anders, Wahrheit?

Als MLR, Pastinake Beseitigt das Problem, auf mehrere Pakete für einen bestimmten Machine Learning-Algorithmus zu verweisen. Bildet erfolgreich das scikit-learn-Paket von Python in R nach.

Schauen wir uns das folgende einfache Beispiel an, um Ihnen eine Vorstellung davon zu geben, wie Pastinake Funktioniert für ein lineares Regressionsproblem:

install.pakete("Pastinake")
Bücherei(Pastinake)

#Load the dataset
data(mtcars)

#Build a linear regression model
fit <- linear_reg("Regression") %>% 
set_engine("lm") %>% 
fit(mpg~.,data=mtcars)
passen #extracts die Koeffizientenwerte an

Produktion:

parsnip model object
Call:
Statistiken::lm(Formel = Formel, Daten = Daten)

Koeffizienten:
(Abfangen)          cyl disp hp drat wt qsec  
   12.30337     -0.11144      0.01334     -0.02148      0.78711     -3.71530      0.82104  
         vs bin getriebe vergaser  
    0.31776      2.52023      0.65541     -0.19942

Ranger ist eines meiner Lieblings-R-Pakete. Ich verwende regelmäßig Random Forests, um Basismodelle zu erstellen, besonders wenn ich an Data Science Hackathons teilnehme.

Hier ist eine Frage: Wie oft sind Sie auf eine langsame Zufallswaldberechnung für große Datensätze in R . gestoßen?? Es passiert zu oft auf meiner alten Maschine.

Pakete als Caret, Random- und RF-Forests brauchen lange, um die Ergebnisse zu berechnen. Das 'Ranger-Paket’ beschleunigt unseren Modellierungsprozess für den Random-Forest-Algorithmus. Hilft Ihnen, schnell eine große Anzahl von Bäumen in kürzerer Zeit zu erstellen.

Codieren eines Random-Forest-Modells mit Ranger:

install.pakete("Förster")

#Load the Ranger package
require(Förster) 
Förster(Arten ~ ., Daten = Iris,Anzahl.Bäume=100,mtry=3)

 
Zug.idx <- Stichprobe(jetzt(Iris), 2/3 * jetzt(Iris)) 
iris.train <- Iris[Zug.idx, ] 
iris.test <- Iris[-Zug.idx, ] 
rg.iris <- Förster(Arten ~ ., Daten = iris.train) 
pred.iris <- Vorhersagen(rg.iris, Daten = iris.test) 

#Build a confusion matrix
table(iris.test$Spezies, pred.iris$Vorhersagen)

Produktion:

             setosa versicolor virginica
  setosa         16          0         0
  versicolor      0         16         2
  Virginia       0          0        16

Eine beeindruckende Leistung. Sie sollten Ranger an komplexeren Datensätzen testen und sehen, wie viel schneller Ihre Berechnungen werden.

Erschöpft, während Sie Ihr lineares Regressionsmodell auf verschiedenen Datenelementen ausführen und die Bewertungsmetriken für jedes Modell berechnen? das schnurren Paket kommt zu Ihrer Rettung.

Sie können auch verallgemeinerte lineare Modelle erstellen (glm) für verschiedene Datenelemente und berechnen Sie p-Werte für jedes Feature in Listenform. Die Vorteile von schnurren sind unendlich!

Sehen wir uns ein Beispiel an, um die Funktionalität zu verstehen. Wir werden hier ein lineares Regressionsmodell erstellen und die R-Quadrat-Werte unterteilen:

#Zuerst, read in the data mtcars
data(mtcars)

mtcars %>%
   Teilt(.$Zyl) %>% #selecting cylinder to create three sets of data using the cyl values
   map(~ lm(mpg ~ wt, Daten = .)) %>%
   Karte(Zusammenfassung) %>%
   map_dbl("r.squared")

Produktion

    4         6         8 
0.5086326 0.4645102 0.4229655

Dann, Haben Sie beobachtet?? In diesem Beispiel wird Folgendes verwendet: schnurren um ein ziemlich realistisches Problem zu lösen:

  • Aufteilen eines Datenrahmens in Teile
  • Passen Sie ein Modell an jedes Stück an
  • Zusammenfassung berechnen
  • Schließlich, extrahiere die R-Quadrat-Werte

Das spart uns viel Zeit, Wahrheit? Anstatt drei verschiedene Modelle und drei Befehle auszuführen, um eine Teilmenge des R-Quadrat-Werts zu erstellen, Wir verwenden nur eine Codezeile.

Dienstprogramme: Andere tolle R-Pakete

Schauen wir uns einige andere Pakete an, die nicht unbedingt unter den Begriff „Maschinelles Lernen“ fallen.. Ich habe sie für die Arbeit mit R im Allgemeinen als nützlich empfunden.

Die Stimmungsanalyse ist eine der beliebtesten Anwendungen des maschinellen Lernens. Es ist eine unausweichliche Realität in der heutigen digitalen Welt. Und Twitter ist ein Hauptziel, um Tweets zu extrahieren und Modelle zu erstellen, um die Stimmung zu verstehen und vorherzusagen..

Jetzt, es gibt einige R-Pakete zu extrahieren / kratze Tweets und führe eine Sentimentanalyse durch. Das „Rtweet-Paket“’ macht das gleiche. Dann, Wie unterscheidet es sich von den anderen Paketen da draußen??

Logo-8844413

'rtweet'’ hilft Ihnen auch, die Trends von Rs eigenen Tweets zu überprüfen. Beeindruckend!

# rtweet von CRAN installieren
install.pakete("rtweet")

# rtweet-Paket laden
Bücherei(rtweet)

Alle Benutzer müssen autorisiert sein, mit der Twitter-API zu interagieren. Um eine Autorisierung zu erhalten, folge den Anweisungen unten:

1.Erstelle eine Twitter-App

2. Erstellen und speichern Sie Ihr Zugriffstoken

Für eine detaillierte Schritt-für-Schritt-Anleitung zur Twitter-Authentifizierung, folge diesem Link hier.

Sie können nach Tweets mit bestimmten Hashtags einfach über die unten genannte Codezeile suchen. Versuchen wir, alle Tweets mit dem Hashtag #avengers zu durchsuchen, da Infinity War zur Veröffentlichung bereit ist.

#1000 Tweets mit Hashtag Avengers 

twittert <- search_tweets(
  "#Rächer", n = 1000, include_rts = FALSCH)

Sie können sogar auf die Benutzer-IDs von Personen zugreifen, die einer bestimmten Seite folgen. Sehen wir uns ein Beispiel an:

## Holen Sie sich Benutzer-IDs von Konten nach Marvel

marvel_flw <- get_followers("Wunder", n = 20000)

Mit diesem Paket können Sie noch viel mehr machen. Probieren Sie es aus und vergessen Sie nicht, die Community zu aktualisieren, wenn Sie etwas Aufregendes finden.

Liebst du es, in R und Python zu programmieren?, aber Sie möchten mit RStudio fortfahren? Retikulieren ist die Antwort! Das Paket löst dieses wichtige Problem, indem es eine Python-Schnittstelle in R . bereitstellt. Sie können problemlos wichtige Python-Bibliotheken wie numpy verwenden!, Pandas und Matplotlib in R!

Sie können Ihren Fortschritt mit Daten auch einfach mit nur einer Codezeile von Python nach R und von R nach Python übertragen. Ist es nicht erstaunlich? Sehen Sie sich den folgenden Codeblock an, um zu sehen, wie einfach es ist, Python in R auszuführen.

repl_python-4016343

Bevor Sie mit der direkten Installation von Netzen in R . fortfahren, Sie müssen zuerst TensorFlow und Keras . installieren.

install.pakete("Tensorfluss")
install.pakete("schwer")

Bücherei(Tensorfluss)
Bücherei(schwer)
install_hard()
install.pakete("vernetzen")
Bücherei(vernetzen)

Und du bist bereit zu gehen! Führen Sie die Befehle aus, die ich oben im Screenshot bereitgestellt habe, und testen Sie Ihre Data-Science-Projekte auf ähnliche Weise.

ERSTE

Hier sind zwei weitere R-Dienstprogrammpakete für alle Ihre Programmier-Nerds!!

Aktualisieren Sie Ihre R-Pakete einzeln? Es kann eine mühsame Aufgabe sein, besonders wenn mehrere Pakete im Spiel sind.

Das 'InstallR’ ermöglicht es Ihnen, R und alle seine Pakete mit einem einzigen Befehl zu aktualisieren! Anstatt die neueste Version jedes Pakets zu überprüfen, wir können InstallR verwenden, um alle Pakete auf einmal zu aktualisieren.

# Installieren/Laden des Pakets:
Wenn(!benötigen(Installateur)) {
install.pakete("Installateur"); benötigen(Installateur)} #Belastung / installieren+installer laden
 
# mit dem paket:
updateR() # Dadurch wird der Aktualisierungsprozess Ihrer R-Installation gestartet. 
# Es wird nach neueren Versionen gesucht, und wenn einer verfügbar ist, führt Sie durch die Entscheidungen, die Sie treffen müssen

Welches Paket verwenden Sie, um Bibliotheken von GitHub zu installieren?? Die meisten von uns vertrauen dem „devtools-Paket“’ längst. Es schien der einzige Weg zu sein. Aber es gab eine Warnung: Wir mussten uns den Namen des Entwicklers merken, um ein Paket zu installieren:

install_github("DeveloperName/PackageName")

Mit dem Paket 'githubinstall', Der Name des Entwicklers ist nicht mehr erforderlich.

install.pakete("githubinstall")

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

#githubinstall("AnomalieErkennung")
Das Paket bietet auch einige nützliche Funktionen für R-Pakete, die auf GitHub gehostet werden. Ich schlug vor, die Paketdokumentation zu konsultieren (oben verlinkt) für weitere Details.

Abschließende Anmerkungen

Dies ist keineswegs eine vollständige Liste. Es gibt viele andere R-Pakete, die nützliche Funktionen haben, aber die meisten haben sie übersehen.

Kennen Sie Pakete, die ich in diesem Artikel verpasst habe?? Oder haben Sie eines der oben genannten Elemente für Ihr Projekt verwendet?? Ich würde mich freuen, von Ihnen zu hören!! Verbinden Sie sich mit mir im Kommentarbereich unten und lassen Sie uns über R sprechen!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.