Samenvatting boek
Supervised learning
Bij supervised learning wordt er een model gebouwd op de training data, en daarmee
worden worden voorspellingen gedaan over onbekende data die dezelfde eigenschappen
bevat. Over het algemeen geldt hoe complexer het model, hoe complexer de accuraatheid
van de voorspelling. Ook zorgt meer data voor meer zekerheid.
Generalization -> als het model accurate voorspellingen kan maken
Op twee manieren;
- Regression
- Classification
Classification:
- doel is om class labels te voorspellen, die een keuze is een bij voorhand bepaalde
lijst of mogelijkheden.
- Opslitsen in twee manieren;
- Binary classification
- wanneer er exact twee classen zijn ( 1 en 0)
- multiclass classification
- wanneer er meerdere zijn
Regression:
- Doel om een continuous nummer te voorspellen. Ookwel een floating point genoemd.
Verschil Classification & Regression;
- vraag jezelf af of er sprake is van continuïteit in de uitkomst, zo ja dan is het een
regression problem.
Lineaire regression
- vaak gebruikt als start punt voor regression task.
- Regression task zijn populair;
- makkelijk toepasbaar
- leesbaar
Lineaire regression wordt gebruikt bij het voorspellen van dat y aan de hand van x. Met de
aanname dat voor y een lineaire lijn geldt. Dus als je iemands gewicht wilt voorspellen aan
de hand van zijn lengte doe je y = g(X), hierin is g de regression. We gokken hier dus dat de
lijn lineair is. De functie fit maakt op basis van x en y een voorspellende lineaire lijn (in het
plaatje hieronder de gele lijn).
, K-Nearest Neighbors
In de simpele manier, kijken we alleen naar een buur. Dat is namelijk de dichtsbijzijnde punt
in de training data set. Je kan ook een aribitrair nummer aan buren zoeken in een dataset
namelijk k. Daar komt de k van k-nearest neighbors algorithm vandaan. In dit geval wordt er
dan gestemt over welke class het is (meerderheid).
Hoe groter de K hoe
- rechte lijn:
- y = ax + b
- a = de helling
- b = de onderschepping (intercept)
Hoe programmeer je het??
Lineaire regressie
import pandas
import numpy
form sklearn.linear_model import LinearRegression
from skleanr.model_selection import train_test_split
from matplotlib import pyplot as plt
Stap 1: Maak het model op basis van de test data
- X_train, X_test, y_train, y_test = train_test_split(x,y)
Stap 2: Gebruik het lineaire model om te kijken hoe goed het de test data voorspelt
2.1 Maak het model;
- LR= LinearRegression()
- LR.fit(X_train, y_train)
2.1 Test op basis van het model;
- prediction = LR.predict(X_test)
Stap 3: Test hoe accuraat het is.
Supervised learning
Bij supervised learning wordt er een model gebouwd op de training data, en daarmee
worden worden voorspellingen gedaan over onbekende data die dezelfde eigenschappen
bevat. Over het algemeen geldt hoe complexer het model, hoe complexer de accuraatheid
van de voorspelling. Ook zorgt meer data voor meer zekerheid.
Generalization -> als het model accurate voorspellingen kan maken
Op twee manieren;
- Regression
- Classification
Classification:
- doel is om class labels te voorspellen, die een keuze is een bij voorhand bepaalde
lijst of mogelijkheden.
- Opslitsen in twee manieren;
- Binary classification
- wanneer er exact twee classen zijn ( 1 en 0)
- multiclass classification
- wanneer er meerdere zijn
Regression:
- Doel om een continuous nummer te voorspellen. Ookwel een floating point genoemd.
Verschil Classification & Regression;
- vraag jezelf af of er sprake is van continuïteit in de uitkomst, zo ja dan is het een
regression problem.
Lineaire regression
- vaak gebruikt als start punt voor regression task.
- Regression task zijn populair;
- makkelijk toepasbaar
- leesbaar
Lineaire regression wordt gebruikt bij het voorspellen van dat y aan de hand van x. Met de
aanname dat voor y een lineaire lijn geldt. Dus als je iemands gewicht wilt voorspellen aan
de hand van zijn lengte doe je y = g(X), hierin is g de regression. We gokken hier dus dat de
lijn lineair is. De functie fit maakt op basis van x en y een voorspellende lineaire lijn (in het
plaatje hieronder de gele lijn).
, K-Nearest Neighbors
In de simpele manier, kijken we alleen naar een buur. Dat is namelijk de dichtsbijzijnde punt
in de training data set. Je kan ook een aribitrair nummer aan buren zoeken in een dataset
namelijk k. Daar komt de k van k-nearest neighbors algorithm vandaan. In dit geval wordt er
dan gestemt over welke class het is (meerderheid).
Hoe groter de K hoe
- rechte lijn:
- y = ax + b
- a = de helling
- b = de onderschepping (intercept)
Hoe programmeer je het??
Lineaire regressie
import pandas
import numpy
form sklearn.linear_model import LinearRegression
from skleanr.model_selection import train_test_split
from matplotlib import pyplot as plt
Stap 1: Maak het model op basis van de test data
- X_train, X_test, y_train, y_test = train_test_split(x,y)
Stap 2: Gebruik het lineaire model om te kijken hoe goed het de test data voorspelt
2.1 Maak het model;
- LR= LinearRegression()
- LR.fit(X_train, y_train)
2.1 Test op basis van het model;
- prediction = LR.predict(X_test)
Stap 3: Test hoe accuraat het is.