Bases du Machine Learning

Machine Learning for Time Series Data in Python

Chris Holdgraf

Fellow, Berkeley Institute for Data Science

Commencez toujours par examiner vos données

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 for Time Series Data in Python

Commencez toujours par examiner vos données

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 for Time Series Data in Python

Visualisez toujours vos données

Vérifiez que tout ressemble à ce que vous attendez.

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

# Avec pandas
fig, ax = plt.subplots()
df.plot(..., ax=ax)
Machine Learning for Time Series Data in Python

Scikit-learn

Scikit-learn est la bibliothèque de Machine Learning la plus utilisée en Python

from sklearn.svm import LinearSVC
Machine Learning for Time Series Data in Python

Préparer les données pour scikit-learn

  • scikit-learn attend une structure de données précise :

    (samples, features)

  • Assurez-vous que vos données sont au moins bidimensionnelles

  • Assurez-vous que la première dimension correspond aux échantillons

Machine Learning for Time Series Data in Python

Si la forme de vos données n'est pas correcte

  • Si les axes sont inversés :
array.T.shape
(10, 3)
Machine Learning for Time Series Data in Python

Si la forme de vos données n'est pas correcte

  • S'il manque un axe, utilisez .reshape() :
array.shape
(10,)
array.reshape(-1, 1).shape
(10, 1)
  • -1 remplit automatiquement cet axe avec les valeurs restantes
Machine Learning for Time Series Data in Python

Ajuster un modèle avec scikit-learn

# Importer un classificateur à vecteurs de support
from sklearn.svm import LinearSVC

# Instancier le modèle
model = LinearSVC()

# Ajuster le modèle sur des données
model.fit(X, y)

Il est courant que y ait la forme (samples, 1)

Machine Learning for Time Series Data in Python

Examiner le modèle

# Il y a un coefficient par variable d'entrée
model.coef_
array([[ 0.69417875, -0.5289162 ]])
Machine Learning for Time Series Data in Python

Prédire avec un modèle ajusté

# Générer des prédictions
predictions = model.predict(X_test)
Machine Learning for Time Series Data in Python

Passons à la pratique !

Machine Learning for Time Series Data in Python

Preparing Video For Download...