Hoorcolleges toegevoegd

This commit is contained in:
2022-01-29 18:02:36 +01:00
parent 913b69a021
commit 4e0fb1d33e
2 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,58 @@
## Hoorcollege
Data types:
* **Structured** - Data met een voorgedefinieerd model zoals databases, tabellen en spreadsheets.
* **Unstructured** - Data zonder een voorgedefinieerde structuur en daarom lastig op te slaan is in tabellen zoals afbeeldingen, geluid, video en tekst.
* **Big Data** - Een dataset welke zeer grote hoeveelheid data bevat en niet in memory van een enkele machine kan passen.
Veel voorkomende data bronnen \& formaten:
* CSV
* XML
* SQL
* JSON
* Protocol Buffers
* APIs
### Variabelen / Features
De variabelen die als input dienen om een andere variabel te voorspellen noemen we de 'independant variables'. De waarde welke voorsped wordt de 'dependant variabel'.
Afhankelijke en onafhankelijke variabelen:
* **Independant Variables** - Variabelen welke gebruikt worden om een ander variabel te voorspellen. Wordt ook wel *input variables* of *features* genoemd.
* **Dependant Variables** - Een eigenschap welke voorspel wordt. Wordt ook wel *output attribute* of *label* genoemd
Continu en discreet:
* **Continuous** - Continue variabelen kunnen oneindig mogelijkheden bevatten.
* **Discrete** - Kunnen slechts een beperkt aantal mogelijkheden bevatten.
Type features:
* **Numerical** - Representeerd een kwantitatieve eenheid. Kan *Continuous* of *Discrete* zijn.
* **Catagorische** - kwalitatieve data zonder wiskundige betekenis. Bijv. Yes/no of Country
* **Ordinal** - Categorische data met een wiskundige betekenis. Zoals een rating van n-sterren op een boek (1 is dus slechter dan 2).
### errors/problems
* **Errors** - Informatie die verloren is gegaan (en niet kan worden hersteld) door bijvoorbeeld electriciteits storing of een server die crashed.
* **Artifiacts** - Systemetische problemen die veroorzaakt zijn in het data cleaning process. Deze problemen kunnen gecorrigeerd worden maar moeten eerst ontdekt worden.
### Data compatibility
Wanneer variabelen met elkaar vergelijkt worden moet ervoor worden gezorgd dat deze *vergelijkbaar* zijn met elkaar, bijvoorbeeld;
* Units (metric / imperial)
* Numbers (decimals / integers)
* Names (John Smith / Smith, John)
* Time/dates (UNIX / UTC / GMT)
* Currency (Type, inflation adjusted, dividends)
### Data Imputation
Het omgaan met missende waardes (`NaN`).
* Drop records met missende gegevens
* **Heuristic-Based** - Maak een schatting gebasseerd op kennis van het domein
* **Mean Value** - Vervang missende data met een gemiddelde
* **Random** - Vervang met Random waarde
* **Interpolation** - Gebruik een methode zoals lineare regressie om de waarde van missende gegevens te voorspellen

View File

@ -0,0 +1,41 @@
## Hoorcollege
### Statistical Analysis
Bij statistische analyze wordt slechts een kleinere *sample* van een *populatie* geobserveerd. Middels statistische inferentie kunnen we deduceren wat de eigenschappen van de *populatie* zijn gegeven dat we een *sample* hebben geobserveerd.
### Regression Analysis
Regressie modelering wordt gebruikt voor *predictive modelling* en onderzoekt een relatie tussen de afhankelijke (target) en onafhankelijke (predictor) variabelen.
Dit helpt dus bij het begrijpen van hoe de dependant variabelen verandert naarmate één van de onafhankelijke variabelen wordt aangepast (terwijl eventuele andere variabelen hetzelfde blijven).
Binnen *Regression Analysis* kennen we de volgende variabelen:
* De onbekende parameters $\beta_i$
* De onafhankelijke variabelen $x_i$
* De afhankelijke variabelen $y$
Regressie types:
* **Linear Regression** - Vindt een relatie tussen afhankelijke en een of meer onafhankelijk variabelen door een rechte lijn te trekken (de *best fit* lijn)
* **Logistic Regression** - Wordt gebruikt om de probability te vinden van een 'Success' event. Kan worden gebruikt wanneer de dependant variabelen binair is.
* **Polynomial Regression** - Wanneer de beste lijn niet recht is
Formeel gezien wat een model doet: $Y = f(\textbf{X}) + \epsilon$
* Waar $\textbf{X} = (X_{1}, X_{2} ...X_p)$ representeerd de input variabelen (onafhankelijke)
* $\epsilon$ Representeerd random error, bestaat uit:
* *Reducible Error*: Error die potentieel verkleind kan worden door een leertechniek toe te passen dat $f$ beter schat.
* *Irreducible Error*: Error dat niet verkleind kan worden onafhankelijk van hoe goed we $f$ inschatten. Dit type is onbekend en onmeetbaar.
* $Y$ representeerd de output variabelen (afhankelijke)
*Statistical Learning* bevat methodes om deze $f(\textbf{X})$ in te schatten.
Waarom proberen we $f(\textbf{X})$ te schatten?
* **Prediction** - Wanneer we een goede estimate hebben van $\hat{f}(\textbf{X}$ kunnen we deze gebruiken om voorspellingen te maken op nieuwe data. We gebruiken $\hat{f}$ als een *black box*. We geven er niet om hoe of waarom het werkt, zolang de uitkomst redelijk accuraat is.
* **Inferentie** - We willen begrijpen wat de relatie is tussen $\textbf{X}$ en $Y$. We behandelijk $\hat{f}$ niet langer als een *black box*. We willen begrijpen hoe $Y$ verandert ten opzichte van $\textbf{X}$
* *underfitting* - Betekent dat er een hoge *bias* is en het model niet helemaal klopt
* *Overfitting* - Betekent dat het model te veel is afgestemd op de trainingsset