Machine learning: basis

Machine Learning voor tijdreeksgegevens in Python

Chris Holdgraf

Fellow, Berkeley Institute for Data Science

Kijk altijd eerst naar je data

array.shape
(10, 5)
array[:3]
array([[ 0.735528  ,  1.00122818, -0.28315978],
       [-0.94478393,  0.18658748, -0.00241224],
       [-0.74822942, -1.46636618,  0.69835096]]) 
Machine Learning voor tijdreeksgegevens in Python

Kijk altijd eerst naar je data

df.head()
       col1      col2      col3
0  0.735528  1.001228 -0.283160
1 -0.944784  0.186587 -0.002412
2 -0.748229 -1.466366  0.698351
3  1.038589 -0.171248  0.831457
4 -0.161904  0.003972 -0.321933
Machine Learning voor tijdreeksgegevens in Python

Visualiseer je data altijd

Check of het eruitziet zoals je verwacht.

# Met matplotlib
fig, ax = plt.subplots()
ax.plot(...)

# Met pandas
fig, ax = plt.subplots()
df.plot(..., ax=ax)
Machine Learning voor tijdreeksgegevens in Python

Scikit-learn

Scikit-learn is de populairste machine learning-bibliotheek in Python

from sklearn.svm import LinearSVC
Machine Learning voor tijdreeksgegevens in Python

Data voorbereiden voor scikit-learn

  • scikit-learn verwacht een specifieke datastructuur:

    (samples, features)

  • Zorg dat je data minstens tweedimensionaal is

  • Zorg dat de eerste dimensie samples zijn

Machine Learning voor tijdreeksgegevens in Python

Als je data niet goed van vorm is

  • Als de assen zijn verwisseld:
array.T.shape
(10, 3)
Machine Learning voor tijdreeksgegevens in Python

Als je data niet goed van vorm is

  • Als er een as ontbreekt, gebruik .reshape():
array.shape
(10,)
array.reshape(-1, 1).shape
(10, 1)
  • -1 vult die as automatisch met de resterende waarden
Machine Learning voor tijdreeksgegevens in Python

Een model fitten met scikit-learn

# Importeer een support vector classifier
from sklearn.svm import LinearSVC

# Maak het model aan
model = LinearSVC()

# Fit het model op data
model.fit(X, y)

Vaak heeft y de vorm (samples, 1)

Machine Learning voor tijdreeksgegevens in Python

Het model onderzoeken

# Er is één coëfficiënt per invoerkenmerk
model.coef_
array([[ 0.69417875, -0.5289162 ]])
Machine Learning voor tijdreeksgegevens in Python

Voorspellen met een gefit model

# Genereer voorspellingen
predictions = model.predict(X_test)
Machine Learning voor tijdreeksgegevens in Python

Laten we oefenen

Machine Learning voor tijdreeksgegevens in Python

Preparing Video For Download...