แนะนำศิลปินดนตรี ส่วนที่ 1
ในแบบฝึกหัดนี้และแบบถัดไป จะได้นำความรู้เกี่ยวกับ NMF มาใช้แนะนำศิลปินดนตรียอดนิยม โดยมี sparse array ชื่อ artists ให้แล้ว ซึ่งแต่ละแถวแทนศิลปินและแต่ละคอลัมน์แทนผู้ใช้งาน ค่าในแต่ละช่องคือจำนวนครั้งที่ผู้ใช้งานแต่ละคนฟังศิลปินนั้น
ในแบบฝึกหัดนี้ ให้สร้าง pipeline และแปลง array ให้เป็น NMF features ที่ผ่านการ normalize แล้ว ขั้นตอนแรกใน pipeline คือ MaxAbsScaler ซึ่งแปลงข้อมูลเพื่อให้ผู้ใช้งานทุกคนมีอิทธิพลต่อโมเดลเท่ากัน โดยไม่คำนึงว่าแต่ละคนฟังศิลปินกี่คน ในแบบฝึกหัดถัดไป จะนำ NMF features ที่ได้ไปใช้สำหรับการแนะนำ!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- Import:
NMFจากsklearn.decompositionNormalizerและMaxAbsScalerจากsklearn.preprocessingmake_pipelineจากsklearn.pipeline
- สร้าง instance ของ
MaxAbsScalerชื่อscaler - สร้าง instance ของ
NMFที่มี20components ชื่อnmf - สร้าง instance ของ
Normalizerชื่อnormalizer - สร้าง pipeline ชื่อ
pipelineที่เชื่อมต่อscaler,nmfและnormalizerเข้าด้วยกัน - เรียกใช้เมธอด
.fit_transform()ของpipelineกับartistsแล้วกำหนดผลลัพธ์ให้กับnorm_features
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Perform the necessary imports
from ____ import ____
from ____ import ____, ____
from ____ import ____
# Create a MaxAbsScaler: scaler
scaler = ____
# Create an NMF model: nmf
nmf = ____
# Create a Normalizer: normalizer
normalizer = ____
# Create a pipeline: pipeline
pipeline = ____
# Apply fit_transform to artists: norm_features
norm_features = ____