Cos'è il linguaggio di programmazione R? Introduzione e nozioni di base di R
Cos'è il software R?
R è un linguaggio di programmazione e software libero sviluppato da Ross Ihaka e Robert Gentleman nel 1993. R possiede un ampio catalogo di metodi statistici e grafici. Include algoritmi di apprendimento automatico, regressione lineare, serie temporali, inferenza statistica, per citarne alcuni. La maggior parte delle librerie R sono scritte in R, ma per compiti computazionali pesanti, C, C++ e di FortraSono preferiti n codici.
R non è affidato solo al mondo accademico, ma anche molte grandi aziende utilizzano il linguaggio di programmazione R, tra cui Uber, Google, Airbnb, Facebook e così via.
L'analisi dei dati con R viene eseguita in una serie di passaggi; programmare, trasformare, scoprire, modellare e comunicare i risultati
- Programma: R è uno strumento di programmazione chiaro e accessibile
- Trasformare: R è costituito da una raccolta di librerie progettate specificatamente per la scienza dei dati
- Scopri: Investiga i dati, affina la tua ipotesi e analizzali
- Modello: R fornisce un'ampia gamma di strumenti per acquisire il modello giusto per i tuoi dati
- Comunicare: integra codici, grafici e output in un report con R Markdown o crea app Shiny da condividere con il mondo
A cosa serve R?
- Inferenza statistica
- L'analisi dei dati
- Algoritmo di apprendimento automatico
R per settore
Se analizziamo l’uso di R per settore, vediamo che gli accademici vengono prima. R è un linguaggio per fare statistiche. R è la prima scelta nel settore sanitario, seguita dal governo e dalla consulenza.
Pacchetto R.
Gli usi principali di R sono e saranno sempre: statistica, visualizzazione e apprendimento automatico. L'immagine seguente mostra quale pacchetto R ha ricevuto il maggior numero di domande in Stack Overflow. Nella top 10, la maggior parte sono legati al flusso di lavoro di un data scientist: preparazione dei dati e comunicazione dei risultati.
Tutte le librerie di R, quasi 12k, sono archiviate in CRAN. CRAN è un software gratuito e open source. Puoi scaricare e utilizzare le numerose librerie per esibirti machine Learning o analisi di serie temporali.
Comunicare con R
R ha diversi modi per presentare e condividere il lavoro, tramite un documento Markdown o un'app brillante. Tutto può essere ospitato su Rpub, GitHub o sul sito web dell'azienda.
Di seguito è riportato un esempio di presentazione ospitata su Rpub
Rstudio accetta un ribasso per scrivere un documento. Puoi esportare i documenti in diversi formati:
- Documento:
- HTML
- PDF/Lattice
- Word
- Presentazione del concorso
- HTML
- proiettore PDF
Rstudio ha un ottimo strumento per creare facilmente un'app. Di seguito è riportato un esempio di app con i dati della Banca Mondiale.
Perché usare R?
La scienza dei dati sta plasmando il modo in cui le aziende gestiscono le proprie attività. Senza dubbio, stare lontani dall’Intelligenza Artificiale e dalle Macchine porterà l’azienda al fallimento. La grande domanda è: quale strumento/linguaggio dovresti usare?
Ci sono molti strumenti disponibili sul mercato per eseguire l’analisi dei dati. Imparare una nuova lingua richiede un certo investimento di tempo. L'immagine seguente mostra la curva di apprendimento rispetto alle capacità commerciali offerte da una lingua. La relazione negativa implica che non ci sia pranzo gratis. Se vuoi ottenere la migliore visione dai dati, allora devi dedicare un po' di tempo ad apprendere lo strumento appropriato, che è R.
In alto a sinistra del grafico puoi vedere Excel e PowerBI. Questi due strumenti sono semplici da apprendere ma non offrono eccezionali capacità aziendali, soprattutto in termini di modellazione. Nel mezzo puoi vedere Python e SAS. SAS è uno strumento dedicato per eseguire un'analisi statistica per le aziende, ma non è gratuito. SAS è un software clicca ed esegui. Python, tuttavia, è una lingua con una curva di apprendimento monotona. Python è uno strumento fantastico per implementare l'apprendimento automatico e l'intelligenza artificiale, ma manca di funzionalità di comunicazione. Con una curva di apprendimento identica, R rappresenta un buon compromesso tra implementazione e analisi dei dati.
Quando si tratta di visualizzazione dei dati (DataViz), probabilmente hai sentito parlare di Tableau. Tableau è, senza dubbio, un ottimo strumento per scoprire modelli attraverso grafici e diagrammi. Inoltre, imparare Tableau non richiede molto tempo. Un grosso problema con la visualizzazione dei dati è che potresti non trovare mai uno schema o semplicemente creare un sacco di grafici inutili. Tableau è un ottimo strumento per la visualizzazione rapida dei dati o di Business Intelligence. Quando si tratta di statistiche e di strumenti decisionali, R è più appropriato.
Stack Overflow è una grande comunità per i linguaggi di programmazione. Se hai un problema di codifica o hai bisogno di comprendere un modello, Stack Overflow è qui per aiutarti. Nel corso dell'anno, la percentuale di domande-visualizzazioni è aumentata notevolmente per R rispetto alle altre lingue. Questa tendenza è ovviamente altamente correlata al boom della scienza dei dati, ma riflette la richiesta del linguaggio R per la scienza dei dati.
Nella scienza dei dati, ci sono due strumenti in competizione tra loro. R e Python sono probabilmente il linguaggio di programmazione che definisce la scienza dei dati.
Dovresti scegliere R?
Il data scientist può utilizzare due strumenti eccellenti: R e Python. Potresti non avere il tempo di impararli entrambi, soprattutto se inizi a studiare la scienza dei dati. Apprendimento di modelli statistici e algoritmi è molto più importante che imparare un linguaggio di programmazione. UN linguaggio di programmazione è uno strumento per calcolare e comunicare la tua scoperta. Il compito più importante nella scienza dei dati è il modo in cui gestisci i dati: importazione, pulizia, preparazione, ingegneria delle funzionalità, selezione delle funzionalità. Questo dovrebbe essere il tuo obiettivo principale. Se stai cercando di imparare R e Python allo stesso tempo senza un solido background in statistica, è semplicemente stupido. I data scientist non sono programmatori. Il loro compito è comprendere i dati, manipolarli ed esporre l'approccio migliore. Se stai pensando a quale lingua imparare, vediamo quale è la lingua più adatta a te.
Il pubblico principale della scienza dei dati è il professionista aziendale. Nel business, una grande implicazione è la comunicazione. Esistono molti modi per comunicare: report, web app, dashboard. Hai bisogno di uno strumento che faccia tutto questo insieme.
R è difficile?
Anni fa, la R era una lingua difficile da padroneggiare. Il linguaggio era confuso e non strutturato come gli altri strumenti di programmazione. Per superare questo grosso problema, Hadley Wickham ha sviluppato una raccolta di pacchetti chiamata tidyverse. Le regole del gioco sono cambiate in meglio. La manipolazione dei dati diventa banale e intuitiva. Creare un grafico non era più così difficile.
I migliori algoritmi per l'apprendimento automatico possono essere implementati con R. Pacchetti come Keras e TensorFlow consentono di creare tecniche di apprendimento automatico di fascia alta. R ha anche un pacchetto per eseguire Xgboost, uno dei migliori algoritmi per la competizione Kaggle.
R può comunicare con l'altra lingua. E' possibile chiamare Python, Java, C++ in R. Il mondo dei big data è accessibile anche a R. Puoi connettere R con diversi database come Spark o Hadoop.
Infine, R si è evoluto e ha consentito l'operazione di parallelizzazione per accelerare il calcolo. In effetti, R è stato criticato per aver utilizzato solo una CPU alla volta. Il pacchetto parallelo consente di eseguire attività in diversi core della macchina.
Sommario
In poche parole, R è un ottimo strumento per esplorare e indagare i dati. Analisi elaborate come il clustering, la correlazione e la riduzione dei dati vengono eseguite con R. Questa è la parte più cruciale, senza una buona progettazione e modello di funzionalità, l'implementazione dell'apprendimento automatico non darà risultati significativi.