สำรวจเวกเตอร์ข้อความ ส่วนที่ 2
โดยใช้ฟังก์ชัน return_weights() ที่เขียนไว้ในแบบฝึกหัดก่อนหน้า คราวนี้จะดึงคำที่มีน้ำหนักสูงสุดจากแต่ละเอกสารในเวกเตอร์ข้อความ แล้วสร้างรายการดัชนีคำ เพื่อนำไปกรองเวกเตอร์ข้อความให้เหลือเฉพาะคำสำคัญเหล่านั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python
คำแนะนำการฝึกหัด
- เรียก
return_weights()เพื่อดึงคำที่มีน้ำหนักสูงสุดของเอกสารนั้น - เรียก
set()กับfilter_listที่ได้รับกลับมา เพื่อลบตัวเลขที่ซ้ำกันออก - เรียก
words_to_filterโดยส่งพารามิเตอร์ดังนี้:vocabสำหรับพารามิเตอร์vocab,tfidf_vec.vocabulary_สำหรับพารามิเตอร์original_vocab,text_tfidfสำหรับพารามิเตอร์vectorและ3เพื่อดึงคำที่มีน้ำหนักสูงสุดtop_n3 คำจากแต่ละเอกสาร - สุดท้าย แปลง set
filtered_wordsให้เป็น list เพื่อใช้เป็นตัวกรองสำหรับเวกเตอร์ข้อความ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def words_to_filter(vocab, original_vocab, vector, top_n):
filter_list = []
for i in range(0, vector.shape[0]):
# Call the return_weights function and extend filter_list
filtered = ____(vocab, original_vocab, vector, i, top_n)
filter_list.extend(filtered)
# Return the list in a set, so we don't get duplicate word indices
return ____(filter_list)
# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)
# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]