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

ลำดับชั้นของหุ้น

ในบทที่ 1 คุณได้ใช้ k-means clustering เพื่อจัดกลุ่มบริษัทตามการเคลื่อนไหวของราคาหุ้น ในแบบฝึกหัดนี้ จะลองทำ hierarchical clustering ของบริษัทเหล่านั้นแทน โดยจะมี NumPy array ของการเคลื่อนไหวของราคา movements ให้พร้อมแล้ว โดยแต่ละแถวสอดคล้องกับบริษัทหนึ่ง และมีรายชื่อบริษัท companies ให้ด้วย เนื่องจาก SciPy hierarchical clustering ไม่สามารถใช้งานร่วมกับ sklearn pipeline ได้โดยตรง จึงต้องใช้ฟังก์ชัน normalize() จาก sklearn.preprocessing แทน Normalizer

linkage และ dendrogram ถูก import จาก scipy.cluster.hierarchy ไว้แล้ว และ PyPlot ถูก import เป็น plt แล้วเช่นกัน

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

Unsupervised Learning ใน Python

ดูคอร์ส

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

  • Import normalize จาก sklearn.preprocessing
  • ปรับสเกลการเคลื่อนไหวของราคาสำหรับแต่ละหุ้น โดยใช้ฟังก์ชัน normalize() กับ movements
  • นำฟังก์ชัน linkage() ไปใช้กับ normalized_movements โดยใช้ linkage แบบ 'complete' เพื่อคำนวณ hierarchical clustering แล้วกำหนดผลลัพธ์ให้กับตัวแปร mergings
  • พล็อต dendrogram ของ hierarchical clustering โดยใช้รายชื่อบริษัท companies เป็น labels พร้อมระบุ keyword argument leaf_rotation=90 และ leaf_font_size=6 เช่นเดียวกับแบบฝึกหัดก่อนหน้า

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

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

# Import normalize
____

# Normalize the movements: normalized_movements
normalized_movements = ____

# Calculate the linkage: mergings
mergings = ____

# Plot the dendrogram
____
plt.show()
แก้ไขและรันโค้ด