Bắt đầu ngayBắt đầu miễn phí

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.

linkagedendrogram đã đượ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

Xem khóa học

Hướng dẫn bài tập

  • Import normalize từ 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ên movements.
  • Áp dụng hàm linkage() lên normalized_movements, dùng liên kết 'complete', để tính phân cụm phân cấp. Gán kết quả cho mergings.
  • Vẽ dendrogram cho phân cụm phân cấp, dùng danh sách tên công ty companies làm labels. Ngoài ra, chỉ định thêm các tham số leaf_rotation=90leaf_font_size=6 như 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()
Chỉnh sửa và Chạy Mã