NMF เรียนรู้หัวข้อของเอกสาร
ในวิดีโอ คุณได้เรียนรู้ว่าเมื่อนำ NMF ไปใช้กับเอกสาร แต่ละ component จะสอดคล้องกับหัวข้อ (topic) ของเอกสาร และ feature ของ NMF จะช่วยสร้างเอกสารขึ้นมาใหม่จากหัวข้อเหล่านั้น ลองตรวจสอบสิ่งนี้ด้วยตัวเองโดยใช้โมเดล NMF ที่สร้างไว้ก่อนหน้านี้จากบทความ Wikipedia
ก่อนหน้านี้ คุณพบว่าค่า feature ที่ 3 ของ NMF มีค่าสูงสำหรับบทความเกี่ยวกับนักแสดง Anne Hathaway และ Denzel Washington ในแบบฝึกหัดนี้ ให้ระบุหัวข้อของ NMF component ที่สอดคล้องกัน
โมเดล NMF ที่สร้างไว้พร้อมใช้งานในชื่อ model ส่วน words คือรายการคำที่ใช้เป็น label ของคอลัมน์ในอาร์เรย์ความถี่ของคำ
เมื่อทำเสร็จแล้ว ลองสังเกตดูว่าบทความของ Anne Hathaway และ Denzel Washington มีหัวข้อร่วมกันอะไรบ้าง!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- Import
pandasในชื่อpd - สร้าง DataFrame ชื่อ
components_dfจากmodel.components_โดยกำหนดcolumns=wordsเพื่อให้คอลัมน์มี label เป็นชื่อคำ - พิมพ์
components_df.shapeเพื่อตรวจสอบขนาดของ DataFrame - ใช้ตัวเข้าถึง
.iloc[]บน DataFramecomponents_dfเพื่อเลือกแถวที่3แล้วกำหนดผลลัพธ์ให้กับcomponent - เรียกใช้เมธอด
.nlargest()ของcomponentแล้วพิมพ์ผลลัพธ์ เพื่อดูคำ 5 คำที่มีค่าสูงสุดสำหรับ component นั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import pandas
import pandas as pd
# Create a DataFrame: components_df
components_df = ____
# Print the shape of the DataFrame
print(components_df.shape)
# Select row 3: component
component = ____
# Print result of nlargest
print(component.nlargest())