Phân cấp cổ phiếu
Ở chương 1, bạn đã dùng k-means để phân cụm các công ty theo biến động giá cổ phiếu. Giờ, bạn sẽ thực hiện phân cụm phân cấp cho các công ty. Bạn được cung cấp một mảng NumPy movements chứa biến động giá, trong đó mỗi hàng tương ứng với một công ty, và một danh sách tên công ty companies. Phân cụm phân cấp của SciPy không tích hợp vào pipeline của sklearn, nên bạn sẽ cần dùng hàm normalize() từ sklearn.preprocessing thay cho Normalizer.
linkage và dendrogram đã được import từ scipy.cluster.hierarchy, và PyPlot đã được import dưới tên plt.
Bài tập này là một phần của khóa học
Unsupervised Learning bằng Python
Hướng dẫn bài tập
- Import
normalizetừsklearn.preprocessing. - Chuẩn hóa biến động giá cho từng cổ phiếu bằng cách dùng hàm
normalize()trênmovements. - Áp dụng hàm
linkage()lênnormalized_movements, dùng liên kết'complete', để tính phân cụm phân cấp. Gán kết quả chomergings. - Vẽ dendrogram cho phân cụm phân cấp, dùng danh sách tên công ty
companieslàmlabels. Ngoài ra, chỉ định thêm các tham sốleaf_rotation=90vàleaf_font_size=6như bạn đã làm ở bài trước.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import normalize
____
# Normalize the movements: normalized_movements
normalized_movements = ____
# Calculate the linkage: mergings
mergings = ____
# Plot the dendrogram
____
plt.show()