pkgs <- c("tidyverse", "randomForest", "rpart", "rpart.plot",
"rsample", "fairness", "DALEX", "fairmodels", "xgboost",
"mgcv", "splines", "Ecdat",
"ipred", "pROC", "caret", "forcats", "gtsummary", "janitor",
"gbm", "dendextend", "directlabels", "GGally")
install.packages(pkgs)SOS2901 Maskinlæring for samfunnsvitere
Oppgaver til hver undervisningsuke
Introduksjon
Dette dokumentet gir en oversikt over hva vi skal dekke i løpet av semesteret. Det lages delvis underveis, så det vil bli oppdateringer innimellom. Det vil kunne skje endringer i dokumentet underveis gjennom hele semesteret.
Hvert kapittel starter med en introduksjon til temaet og et empirisk eksempel. Datasettene vil dere finne i rommet i Canvas. Last de ned til egen maskin for å jobbe med dem.
Undervisningsvideoer
Det finnes noen undervisningsvideoer fra noen år tilbake. Disse dekker omtrent de vi går gjennom i undervisningen, men er ikke nødvendigvis helt oppdaterte. Dere har tilgang til disse videoene på denne lenken
Hva vi forutsetter av forkunnskaper
Dette kurset forutsetter at man har grunnleggende ferdigheter i kvantitative metoder og har brukt R før. Hvis du vet du trenger det: frisk opp litt fra tidligere kurs.
Når det er sagt, så er det begrenset hvor mye man må kunne fra før hvis du er motivert til å jobbe med stoffet skal du nok få til dette. Det blir mye nytt uansett.
Hvis du trenger oppfriskning av hvordan R fungerer, så er Wickham & Grolemunds bok “R for data science” et utmerket oppslagsverk. Men merk at vi i begrenset grad vil bruke “Tidyverse” til annet enn datahåndtering og noe grafikk.
R og Rstudio
Installasjon
Du må installere både R og Rstudio på din datamaskin. Hvis du har Windows-maskin trenger du også installere Rtools. Hvis du har Mac OS X kan det hende du må installere XQuartz.
Se ellers video fra SICSS
Pakker
R er basert på bruk av “pakker” som må installeres for å få tilgang til funksjoner vi skal bruke. Disse installeres med bruk av kommandoen install.packages(). F.eks. kan man installere pakken Tidyverse med følgende: install.packages("tidyverse").
For å installere flere pakker kan man kjøre install.packages() flere ganger, men det er enklere å liste opp alle pakkene i et objekt og så kjøre install.packages() på dette objektet. Noe slikt:
Vi skal i hvert fall bruke de pakkene som installeres med følgende kode:
Det kan hende vi kommer til å bruke flere etterhvert.
Men for at du skal kunne bruke pakkene må du aktivere dem i R ved library(). Dette må du gjøre hver gang du starter opp R. Hvert kapittel starter med en oversikt over hvilke pakker som brukes i det kapittelet.
Oversikt over pakker brukt i heftet
Tabellen under gir en oversikt over alle pakkene vi bruker, med en kort forklaring og de viktigste funksjonene.
| Pakke | Beskrivelse | Viktige funksjoner | Kapittel |
|---|---|---|---|
tidyverse |
Samling av pakker for datahåndtering og grafikk | mutate(), select(), filter(), ggplot(), glimpse() |
Alle |
rsample |
Splitting av data i training/testing | initial_split(), training(), testing() |
Alle supervised-kapitler |
mgcv |
Generaliserte additive modeller (GAM) | gam(), s() |
Lineær regresjon |
splines |
Spline-funksjoner for fleksibel regresjon | bs() |
Lineær regresjon |
Ecdat |
Datasett for økonometri (Clothing-data) | data(Clothing) |
Lineær regresjon |
pROC |
ROC-kurver og AUC-beregning | roc(), auc() |
Logistisk regresjon |
caret |
Confusion matrix og modellevaluering | confusionMatrix() |
Logistisk regresjon, CART, Bagging, Random forest, Boosting |
rpart |
Klassifikasjonstrær (CART) | rpart(), prune() |
CART, Bagging |
rpart.plot |
Plotting av klassifikasjonstrær | rpart.plot(), rpart.rules() |
CART, Bagging |
ipred |
Bagging av klassifikasjonstrær | bagging() |
Bagging |
forcats |
Rekoding og håndtering av factor-variable | fct_lump(), fct_recode() |
Bagging |
randomForest |
Random forest-algoritmen | randomForest(), varImpPlot(), partialPlot() |
Random forest |
fairness |
Mål på rettferdighet/bias | acc_parity(), fnr_parity(), fpr_parity() |
Boosting |
gbm |
Gradient boosting | gbm(), gbm.perf() |
Boosting |
DALEX |
Forklarbare modell-objekter (explainers) | explain() |
Fairness |
fairmodels |
Fairness-sjekk og visualisering | fairness_check(), fairness_heatmap() |
Fairness |
gtsummary |
Pene sammendragstabeller | tbl_cross(), tbl_summary() |
Boosting |
janitor |
Datarensing | clean_names() |
Diverse |
dendextend |
Dendrogram-visualisering | Unsupervised | |
directlabels |
Direkte labels i plot | Unsupervised | |
GGally |
Utvidelser til ggplot2, scatterplotmatriser | ggpairs() |
Unsupervised |