1. Learn
  2. /
  3. Courses
  4. /
  5. Unsupervised Learning bằng Python

Connected

Exercise

Phân cụm cổ phiếu bằng KMeans

Trong bài này, bạn sẽ phân cụm các công ty dựa trên biến động giá cổ phiếu hằng ngày (tức là chênh lệch đô-la giữa giá đóng cửa và mở cửa cho mỗi ngày giao dịch). Bạn được cung cấp một mảng NumPy movements gồm các biến động giá hằng ngày từ 2010 đến 2015 (lấy từ Yahoo! Finance), trong đó mỗi hàng tương ứng với một công ty và mỗi cột tương ứng với một ngày giao dịch.

Một số cổ phiếu đắt hơn những cổ phiếu khác. Để tính đến điều này, hãy thêm một Normalizer ở đầu pipeline. Normalizer sẽ biến đổi riêng lẻ giá cổ phiếu của từng công ty về cùng một thang đo tương đối trước khi bắt đầu phân cụm.

Lưu ý Normalizer() khác với StandardScaler(), mà bạn đã dùng ở bài trước. Trong khi StandardScaler() chuẩn hóa các feature (như các đặc trưng của dữ liệu cá ở bài trước) bằng cách trừ trung bình và chia theo độ lệch chuẩn để có phương sai đơn vị, thì Normalizer() lại co giãn lại mỗi mẫu - ở đây là giá cổ phiếu của từng công ty - một cách độc lập với các mẫu khác.

KMeans và make_pipeline đã được import sẵn cho bạn.

Instructions

100 XP
  • Import Normalizer từ sklearn.preprocessing.
  • Tạo một đối tượng Normalizer tên là normalizer.
  • Tạo một đối tượng KMeans tên là kmeans với 10 cụm.
  • Dùng make_pipeline() để tạo một pipeline tên pipeline nối normalizer và kmeans.
  • Fit pipeline với mảng movements.