Những điều cơ bản về Machine Learning

Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Chris Holdgraf

Fellow, Berkeley Institute for Data Science

Luôn bắt đầu bằng cách xem dữ liệu của bạn

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 cho Dữ liệu Chuỗi thời gian bằng Python

Luôn bắt đầu bằng cách xem dữ liệu của bạn

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 cho Dữ liệu Chuỗi thời gian bằng Python

Luôn trực quan hóa dữ liệu

Hãy chắc chắn nó trông đúng như bạn mong đợi.

# Dùng matplotlib
fig, ax = plt.subplots()
ax.plot(...)

# Dùng pandas
fig, ax = plt.subplots()
df.plot(..., ax=ax)
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Scikit-learn

Scikit-learn là thư viện machine learning phổ biến nhất trong Python

from sklearn.svm import LinearSVC
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Chuẩn bị dữ liệu cho scikit-learn

  • scikit-learn yêu cầu dữ liệu có cấu trúc:

    (samples, features)

  • Đảm bảo dữ liệu ít nhất hai chiều

  • Đảm bảo chiều đầu là samples

Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Khi dữ liệu không đúng hình dạng

  • Nếu các trục bị hoán đổi:
array.T.shape
(10, 3)
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Khi dữ liệu không đúng hình dạng

  • Nếu thiếu một trục, dùng .reshape():
array.shape
(10,)
array.reshape(-1, 1).shape
(10, 1)
  • -1 sẽ tự động điền trục đó bằng giá trị còn lại
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Fit mô hình với scikit-learn

# Import bộ phân loại vector hỗ trợ
from sklearn.svm import LinearSVC

# Khởi tạo mô hình
model = LinearSVC()

# Fit mô hình trên dữ liệu
model.fit(X, y)

Thường thì y có dạng (samples, 1)

Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Khám phá mô hình

# Mỗi đặc trưng đầu vào có một hệ số
model.coef_
array([[ 0.69417875, -0.5289162 ]])
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Dự đoán với mô hình đã fit

# Tạo dự đoán
predictions = model.predict(X_test)
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Cùng luyện tập nào!

Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python

Preparing Video For Download...