เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

จัดกลุ่มหุ้นด้วย KMeans

ในแบบฝึกหัดนี้ จะได้จัดกลุ่มบริษัทโดยใช้การเคลื่อนไหวของราคาหุ้นรายวัน (กล่าวคือ ผลต่างเป็นดอลลาร์ระหว่างราคาปิดและราคาเปิดของแต่ละวันซื้อขาย) โดยมี NumPy array ชื่อ movements ที่บันทึกการเคลื่อนไหวของราคาระหว่างปี 2010 ถึง 2015 (รวบรวมจาก Yahoo! Finance) ซึ่งแต่ละแถวแทนบริษัทหนึ่ง และแต่ละคอลัมน์แทนวันซื้อขายหนึ่งวัน

ราคาหุ้นของแต่ละบริษัทมีระดับที่แตกต่างกัน เพื่อรับมือกับจุดนี้ ให้เพิ่ม Normalizer ไว้ที่ต้น pipeline เพื่อให้ Normalizer แปลงราคาหุ้นของแต่ละบริษัทให้อยู่ในสเกลสัมพัทธ์ก่อนที่การจัดกลุ่มจะเริ่มต้น

ควรทราบว่า Normalizer() แตกต่างจาก StandardScaler() ที่ใช้ในแบบฝึกหัดก่อนหน้า โดย StandardScaler() จะ standardize features (เช่น features ของข้อมูลปลาในแบบฝึกหัดก่อน) ด้วยการลบค่าเฉลี่ยและปรับให้มี unit variance ในขณะที่ Normalizer() จะ rescale แต่ละตัวอย่าง — ในที่นี้คือราคาหุ้นของแต่ละบริษัท — โดยอิสระจากตัวอื่น

KMeans และ make_pipeline ได้รับการนำเข้าให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Unsupervised Learning ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้า Normalizer จาก sklearn.preprocessing
  • สร้าง instance ของ Normalizer ชื่อว่า normalizer
  • สร้าง instance ของ KMeans ชื่อว่า kmeans โดยกำหนดให้มี 10 คลัสเตอร์
  • ใช้ make_pipeline() เพื่อสร้าง pipeline ชื่อว่า pipeline ที่เชื่อมต่อ normalizer และ kmeans เข้าด้วยกัน
  • Fit pipeline กับ array movements

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import Normalizer
____

# Create a normalizer: normalizer
normalizer = ____

# Create a KMeans model with 10 clusters: kmeans
kmeans = ____

# Make a pipeline chaining normalizer and kmeans: pipeline
pipeline = ____

# Fit pipeline to the daily price movements
____
แก้ไขและรันโค้ด