แผนที่ t-SNE ของตลาดหุ้น
t-SNE สร้างภาพที่มีประสิทธิภาพมากขึ้นเมื่อสามารถระบุ label ให้กับแต่ละตัวอย่างได้ ในแบบฝึกหัดนี้ จะได้ลองนำ t-SNE ไปใช้กับข้อมูลราคาหุ้นของบริษัทต่างๆ scatter plot ของ t-SNE features ที่ได้ พร้อม label ชื่อบริษัท จะกลายเป็นแผนที่ของตลาดหุ้น! ข้อมูลการเคลื่อนไหวของราคาหุ้นแต่ละบริษัทพร้อมให้ใช้งานในรูปแบบ array ชื่อ normalized_movements (ผ่านการ normalize มาให้แล้ว) และรายชื่อบริษัทอยู่ใน list companies นอกจากนี้ได้ import PyPlot (plt) ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- Import
TSNEจากsklearn.manifold - สร้าง TSNE instance ชื่อ
modelโดยกำหนดlearning_rate=50 - เรียกใช้เมธอด
.fit_transform()ของmodelกับnormalized_movementsแล้วเก็บผลลัพธ์ไว้ในtsne_features - เลือกคอลัมน์
0และคอลัมน์1จากtsne_features - สร้าง scatter plot จาก t-SNE features
xsและysพร้อมระบุ keyword argument เพิ่มเติมว่าalpha=0.5 - โค้ดสำหรับ label แต่ละจุดด้วยชื่อบริษัทเขียนไว้ให้แล้วโดยใช้
plt.annotate()กด ส่งคำตอบ เพื่อดูภาพ visualization ได้เลย!
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import TSNE
____
# Create a TSNE instance: model
model = ____
# Apply fit_transform to normalized_movements: tsne_features
tsne_features = ____
# Select the 0th feature: xs
xs = ____
# Select the 1th feature: ys
ys = tsne_features[:,1]
# Scatter plot
____
# Annotate the points
for x, y, company in zip(xs, ys, companies):
plt.annotate(company, (x, y), fontsize=5, alpha=0.75)
plt.show()