Machine Learning per dati di serie temporali in Python
Chris Holdgraf
Fellow, Berkeley Institute for Data Science
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]])
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
Assicurati che appaiano come ti aspetti.
# Con matplotlib
fig, ax = plt.subplots()
ax.plot(...)
# Con pandas
fig, ax = plt.subplots()
df.plot(..., ax=ax)
Scikit-learn è la libreria di machine learning più usata in Python
from sklearn.svm import LinearSVC
scikit-learn si aspetta una struttura dati specifica:
(samples, features)Assicurati che i dati siano almeno bidimensionali
Assicurati che la prima dimensione sia samples
array.T.shape
(10, 3)
.reshape(): array.shape
(10,)
array.reshape(-1, 1).shape
(10, 1)
-1 riempie automaticamente quell'asse con i valori rimanenti# Importa un classificatore a vettori di supporto
from sklearn.svm import LinearSVC
# Istanzia il modello
model = LinearSVC()
# Allena il modello su alcuni dati
model.fit(X, y)
Spesso y ha forma (samples, 1)
# C'è un coefficiente per ogni feature in input
model.coef_
array([[ 0.69417875, -0.5289162 ]])
# Genera le previsioni
predictions = model.predict(X_test)
Machine Learning per dati di serie temporali in Python