Usare Tidyverse
Tidyverse è una raccolta di pacchetti R che i data scientist usano comunemente nelle analisi dei dati quotidiane. Include pacchetti per l'importazione dei dati (readr
), la visualizzazione dei dati (ggplot2
), la manipolazione dei dati (dplyr
, tidyr
), la programmazione funzionale (purrr
) e la compilazione di modelli (tidymodels
) e così via. I pacchetti in tidyverse
sono progettati per lavorare insieme senza problemi e seguire un set coerente di principi di progettazione.
Microsoft Fabric distribuisce la versione stabile più recente di tidyverse
con ogni versione di runtime. Importare e iniziare a usare i pacchetti R familiari.
Prerequisiti
Ottenere una sottoscrizione di Microsoft Fabric. In alternativa, iscriversi per ottenere una versione di valutazione gratuita di Microsoft Fabric.
Accedere a Microsoft Fabric.
Usare il commutatore esperienza sul lato sinistro della home page per passare all'esperienza di data science di Synapse.
Aprire o creare un notebook. Per informazioni su come, vedere Come usare i notebook di Microsoft Fabric.
Impostare l'opzione del linguaggio su SparkR (R) per modificare il linguaggio primario.
Collegare il notebook a una lakehouse. Sul lato sinistro selezionare Aggiungi per aggiungere una lakehouse esistente o per creare una lakehouse.
Carico tidyverse
# load tidyverse
library(tidyverse)
Importazione dei dati
readr
è un pacchetto R che fornisce strumenti per la lettura di file di dati rettangolari, ad esempio CSV, TSV e file a larghezza fissa. readr
offre un modo rapido e intuitivo per leggere file di dati rettangolari, ad esempio fornire funzioni read_csv()
e read_tsv()
per leggere rispettivamente i file CSV e TSV.
Creare prima un data.frame R, scriverlo in lakehouse usando readr::write_csv()
e leggerlo di nuovo con readr::read_csv()
.
Nota
Per accedere ai file Lakehouse usando readr
, è necessario usare il percorso dell'API File. In Lakehouse Explorer fare clic con il pulsante destro del mouse sul file o sulla cartella a cui si vuole accedere e copiare il percorso dell'API File dal menu contestuale.
# create an R data frame
set.seed(1)
stocks <- data.frame(
time = as.Date('2009-01-01') + 0:9,
X = rnorm(10, 20, 1),
Y = rnorm(10, 20, 2),
Z = rnorm(10, 20, 4)
)
stocks
Scrivere quindi i dati in lakehouse usando il percorso dell'API File.
# write data to lakehouse using the File API path
temp_csv_api <- "/lakehouse/default/Files/stocks.csv"
readr::write_csv(stocks,temp_csv_api)
Leggere i dati da lakehouse.
# read data from lakehouse using the File API path
stocks_readr <- readr::read_csv(temp_csv_api)
# show the content of the R date.frame
head(stocks_readr)
Ordinare i dati
tidyr
è un pacchetto R che fornisce strumenti per l'uso di dati disordinati. Le funzioni principali in tidyr
sono progettate per aiutare a rimodellare i dati in un formato ordinato. I dati ordinati hanno una struttura specifica in cui ogni variabile è una colonna e ogni osservazione è una riga, che semplifica l'uso dei dati in R e altri strumenti.
Ad esempio, la gather()
funzione in tidyr
può essere usata per convertire dati wide in dati lunghi. Ecco un esempio:
# convert the stock data into longer data
library(tidyr)
stocksL <- gather(data = stocks, key = stock, value = price, X, Y, Z)
stocksL
Programmazione funzionale
purrr
è un pacchetto R che migliora il toolkit di programmazione funzionale di R fornendo un set completo e coerente di strumenti per l'uso di funzioni e vettori. Il punto migliore per iniziare purrr
è la famiglia di map()
funzioni che consentono di sostituire molti cicli for con codice più conciso e più facile da leggere. Ecco un esempio di utilizzo map()
di per applicare una funzione a ogni elemento di un elenco:
# double the stock values using purrr
library(purrr)
stocks_double = map(stocks %>% select_if(is.numeric), ~.x*2)
stocks_double
Manipolazione dei dati
dplyr
è un pacchetto R che fornisce un set coerente di verbi che consentono di risolvere i problemi di manipolazione dei dati più comuni, ad esempio la selezione di variabili in base ai nomi, la selezione dei case in base ai valori, la riduzione di più valori a un singolo riepilogo e la modifica dell'ordinamento delle righe e così via. Ecco alcuni esempi:
# pick variables based on their names using select()
stocks_value <- stocks %>% select(X:Z)
stocks_value
# pick cases based on their values using filter()
filter(stocks_value, X >20)
# add new variables that are functions of existing variables using mutate()
library(lubridate)
stocks_wday <- stocks %>%
select(time:Z) %>%
mutate(
weekday = wday(time)
)
stocks_wday
# change the ordering of the rows using arrange()
arrange(stocks_wday, weekday)
# reduce multiple values down to a single summary using summarise()
stocks_wday %>%
group_by(weekday) %>%
summarize(meanX = mean(X), n= n())
Effetto di visualizzazione dei dati
ggplot2
è un pacchetto R per creare grafica in modo dichiarativo, in base alla grammatica della grafica. Si forniscono i dati, si spiega ggplot2
come eseguire il mapping delle variabili all'estetica, alle primitive grafiche da usare e ai dettagli. Di seguito sono riportati alcuni esempi.
# draw a chart with points and lines all in one
ggplot(stocksL, aes(x=time, y=price, colour = stock)) +
geom_point()+
geom_line()
# draw a boxplot
ggplot(stocksL, aes(x=time, y=price, colour = stock)) +
geom_boxplot()
Compilazione di modelli
Il tidymodels
framework è una raccolta di pacchetti per la modellazione e l'apprendimento automatico usando tidyverse
i principi. Include un elenco di pacchetti principali per un'ampia gamma di attività di compilazione di modelli, ad esempio rsample
per la suddivisione dei campioni di set di dati di training/test, parsnip
per la specifica del modello, recipes
per la pre-elaborazione dei dati, workflows
per l'ottimizzazione dei flussi di lavoro di modellazione, tune
per l'ottimizzazione degli iperparametri, yardstick
per la valutazione del modello, broom
per l'associazione degli output del modello e dials
per la gestione dei parametri di ottimizzazione. Per altre informazioni sui pacchetti, visitare il sito Web tidymodels. Di seguito è riportato un esempio di compilazione di un modello di regressione lineare per stimare le miglia per gallone di un'automobile in base al suo peso (wt):
# look at the relationship between the miles per gallon (mpg) of a car and its weight (wt)
ggplot(mtcars, aes(wt,mpg))+
geom_point()
Dal grafico a dispersione, la relazione sembra approssimativamente lineare e la varianza sembra costante. Si proverà ora a modellare questa operazione usando la regressione lineare.
library(tidymodels)
# split test and training dataset
set.seed(123)
split <- initial_split(mtcars, prop = 0.7, strata = "cyl")
train <- training(split)
test <- testing(split)
# config the linear regression model
lm_spec <- linear_reg() %>%
set_engine("lm") %>%
set_mode("regression")
# build the model
lm_fit <- lm_spec %>%
fit(mpg ~ wt, data = train)
tidy(lm_fit)
Applicare il modello di regressione lineare per la stima nel set di dati di test.
# using the lm model to predict on test dataset
predictions <- predict(lm_fit, test)
predictions
Si esaminerà ora il risultato del modello. È possibile disegnare il modello come grafico a linee e i dati di verità sul terreno di prova come punti nello stesso grafico. Il modello ha un aspetto ottimale.
# draw the model as a line chart and the test data groundtruth as points
lm_aug <- augment(lm_fit, test)
ggplot(lm_aug, aes(x = wt, y = mpg)) +
geom_point(size=2,color="grey70") +
geom_abline(intercept = lm_fit$fit$coefficients[1], slope = lm_fit$fit$coefficients[2], color = "blue")
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per