Trọng số là bằng chứng
Thuộc phần Học có giám sát trong hành trình Machine Learning của Coddy. Bài học 18 trên 58.
Điều gì khiến khách ghé thăm cửa hàng quyết định mua hàng? Chuẩn hóa các đặc trưng để mỗi trọng số tính theo độ lệch chuẩn, rồi đọc các trọng số như bằng chứng:
X_scaled = StandardScaler().fit_transform(visits)
model = LogisticRegression(max_iter=1000)
model.fit(X_scaled, bought)
print(np.round(model.coef_[0], 2)) # một hàng trọng sốLệnh này in các trọng số theo thứ tự của các cột:
[ 0.87 0.12 -0.3 -0.72]Dấu cho biết hướng: số dương đẩy về phía lớp 1, tức là mua; số âm đẩy ra xa. Độ lớn cho biết cường độ.
Việc chuẩn hóa giúp so sánh các độ lớn: nếu không chuẩn hóa, giá tính bằng xu sẽ có trọng số nhỏ hơn 100 lần so với giá tính bằng đô la.
Thử thách
Trung bìnhMột ứng dụng học ngôn ngữ muốn biết những thói quen nào gắn liền với việc duy trì streak 30 ngày hoặc hoàn thành một khóa học. learners.csv chứa sáu đặc trưng và cả hai nhãn; chương trình đọc nhãn cần nghiên cứu. Phần code ban đầu chia và chuẩn hóa dữ liệu.
- Huấn luyện một mô hình
LogisticRegressiontrên các hàng huấn luyện đã chuẩn hóa. - In ra từng trọng số, từ lớn nhất đến nhỏ nhất (2 chữ số thập phân), kèm theo chiều tác động.
- In ra bằng chứng mạnh nhất, dù theo hướng nào.
Với một ứng dụng khác:
friends: 1.02, pushes toward yes
reminder_on: 0.42, pushes toward yes
age: 0.06, pushes toward yes
daily_goal_min: -0.11, pushes toward no
lessons_week1: -0.2, pushes toward no
night_owl: -0.64, pushes toward no
Strongest evidence: friendsTự làm thử
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
learners = pd.read_csv("learners.csv")
features = ["daily_goal_min", "friends", "reminder_on", "lessons_week1", "night_owl", "age"]
label = input() # kept_streak hoặc finished_course
X_train, X_test, y_train, y_test = train_test_split(learners[features], learners[label], test_size=0.25, random_state=0)
scaler = StandardScaler()
X_train_s = scaler.fit_transform(X_train)
# Viết code của bạn bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Học có giám sát
1Mô hình đầu tiên của bạn
Học từ ví dụTập huấn luyện và tập kiểm traHuấn luyện và dự đoánChấm điểm mô hìnhÔn tập: Bộ sắp xếp hạt giống4Hồi quy logistic
Dự đoán có hoặc khôngNgưỡng quyết địnhTrọng số là bằng chứngNhiều lớpÔn tập: Bộ lọc thư rác2Láng giềng gần nhất
Cách k-NN đưa ra quyết địnhChọn kRanh giới quyết địnhChuẩn hóa dữ liệu cho láng giềngÔn tập: láng giềng với dữ liệu rượu vang5Đánh giá bộ phân loại
Ma trận nhầm lẫnĐộ chính xác và độ thu hồiĐiểm F1Các lớp mất cân bằngĐường cong ROCÔn tập: Bài kiểm tra sàng lọc11Dự án: Các loài chim cánh cụt
Làm quen với chim cánh cụtChuẩn bị dữ liệuChọn mô hìnhTinh chỉnh mô hình tốt nhấtĐưa mô hình vào sử dụng3Hồi quy tuyến tính
Dự đoán các con sốNhiều đặc trưngĐo lường sai sốBiểu đồ phần dưÔn tập: Thuê xe đạp6Cây quyết định
Cây đặt câu hỏiĐọc câyĐộ sâu của câyTầm quan trọng của đặc trưngÔn tập: quyết định cho vay9Các mô hình tổ hợp
Rừng ngẫu nhiênVì sao rừng hoạt động hiệu quảTăng cường độ dốcÔn tập: Người kiểm lâm rừng12Thử thách cuối cùng
Tiến triển của bệnh tiểu đườngPhê duyệt tín dụngChữ số viết tayKhách hàng rời bỏTự luyện tập: Trình biên dịch Python online