Klasifikasi dan rekayasa fitur

Machine Learning untuk Data Deret Waktu di Python

Chris Holdgraf

Fellow, Berkeley Institute for Data Science

Selalu visualisasikan data mentah sebelum melatih model

Machine Learning untuk Data Deret Waktu di Python

Visualisasikan data deret waktu Anda!

ixs = np.arange(audio.shape[-1])
time = ixs / sfreq
fig, ax = plt.subplots()
ax.plot(time, audio)

Machine Learning untuk Data Deret Waktu di Python

Fitur apa yang digunakan?

  • Data deret waktu mentah terlalu bising untuk klasifikasi
  • Kita perlu menghitung fitur!
  • Mulai mudah: rangkum data audio Anda
Machine Learning untuk Data Deret Waktu di Python

Machine Learning untuk Data Deret Waktu di Python

Menghitung banyak fitur

print(audio.shape)
# (n_files, time)
(20, 7000) 
means = np.mean(audio, axis=-1)
maxs = np.max(audio, axis=-1)
stds = np.std(audio, axis=-1)

print(means.shape)
# (n_files,)
(20,) 
Machine Learning untuk Data Deret Waktu di Python

Melatih pengklasifikasi dengan scikit-learn

  • Kita baru saja mereduksi himpunan data 2-D (sampel x waktu) menjadi beberapa fitur dari himpunan data 1-D (sampel)
  • Kita dapat menggabungkan tiap fitur, lalu menggunakannya sebagai masukan ke model
  • Jika tiap sampel punya label, kita bisa memakai scikit-learn untuk membuat dan melatih pengklasifikasi
Machine Learning untuk Data Deret Waktu di Python

Menyiapkan fitur Anda untuk scikit-learn

# Import a linear classifier
from sklearn.svm import LinearSVC

# Note that means are reshaped to work with scikit-learn
X = np.column_stack([means, maxs, stds])
y = labels.reshape(-1, 1)
model = LinearSVC()
model.fit(X, y)
Machine Learning untuk Data Deret Waktu di Python

Menilai model scikit-learn Anda

from sklearn.metrics import accuracy_score

# Different input data
predictions = model.predict(X_test)  

# Score our model with % correct
# Manually
percent_score = sum(predictions == labels_test) / len(labels_test)  
# Using a sklearn scorer
percent_score = accuracy_score(labels_test, predictions)  
Machine Learning untuk Data Deret Waktu di Python

Ayo berlatih!

Machine Learning untuk Data Deret Waktu di Python

Preparing Video For Download...