ปรับสเกลก่อน แล้วจึงปรับ PCA
เหตุใดการทำมาตรฐานจึงสำคัญในขั้นตอนนี้
ปรับสเกลก่อน แล้วจึงปรับ PCA เป็นบทเรียน Data Science Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Data Science Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน
PCA ใส่ใจกับมาตราส่วน
PCA มุ่งหาความแปรปรวนที่มากที่สุด แต่ความแปรปรวนขึ้นอยู่กับหน่วย คุณลักษณะที่มีตัวเลขขนาดใหญ่อาจครอบงำผลลัพธ์เพียงเพราะมาตราส่วนของมัน
กับดักของหน่วย
ลองนึกถึงเงินเดือนที่เป็นดอลลาร์วางคู่กับอายุที่เป็นปี เงินเดือนเปลี่ยนแปลงเป็นหลักพัน ดังนั้น PCA จะมองว่าสำคัญกว่ามากอย่างไม่เป็นธรรม
ทำให้เป็นมาตรฐานก่อน
วิธีแก้คือการทำให้เป็นมาตรฐาน: ปรับมาตราส่วนของทุกคุณลักษณะให้มีค่าเฉลี่ยเป็นศูนย์และมีความแปรปรวนเป็นหนึ่ง เพื่อให้ทุกคุณลักษณะเริ่มต้นอย่างเท่าเทียมกัน
ใช้ StandardScaler
ใน scikit-learn StandardScaler จะจัดข้อมูลให้อยู่กึ่งกลางและปรับมาตราส่วนของคอลัมน์ก่อนที่ PCA จะนำไปใช้
from sklearn.preprocessing import StandardScaler
Xs = StandardScaler().fit_transform(X)จากนั้นฝึก PCA
เรียกใช้ PCA กับข้อมูลที่ปรับมาตราส่วนแล้ว ไม่ใช่ข้อมูลดิบ ตอนนี้แต่ละองค์ประกอบจะสะท้อนโครงสร้างจริง ไม่ใช่หน่วยที่มีสัดส่วนไม่สมดุล
from sklearn.decomposition import PCA
scores = PCA(n_components=2).fit_transform(Xs)การจัดให้อยู่กึ่งกลางก็สำคัญ
PCA สมมติว่าข้อมูลมีจุดกึ่งกลางอยู่ที่ศูนย์ การทำให้เป็นมาตรฐานจัดการเรื่องนี้ด้วยการลบค่าเฉลี่ยของแต่ละคอลัมน์ ทำให้แกนต่าง ๆ ผ่านจุดศูนย์กลางของข้อมูล
เชื่อมเข้าด้วยกันในไปป์ไลน์
ครอบตัวปรับมาตราส่วนและ PCA ไว้ใน ไปป์ไลน์ เพื่อให้การปรับมาตราส่วนเกิดขึ้นก่อนเสมอ และไม่รั่วไหลข้ามการแบ่งข้อมูล
from sklearn.pipeline import make_pipeline
pipe = make_pipeline(StandardScaler(), PCA(2))ฝึกด้วยข้อมูลฝึกเท่านั้น
ฝึกตัวปรับมาตราส่วนด้วยข้อมูลฝึก จากนั้นนำกลับมาใช้กับข้อมูลทดสอบ การฝึกด้วยข้อมูลทั้งหมดทำให้ข้อมูลรั่วไหลและทำให้คะแนนสูงเกินจริง
กรณีที่อาจข้ามได้
หากทุกคุณลักษณะใช้หน่วยและช่วงเดียวกันอยู่แล้ว การปรับมาตราส่วนจะสำคัญน้อยลง หากไม่แน่ใจ ให้ทำให้เป็นมาตรฐานไว้ก่อน เพราะแทบไม่ก่อให้เกิดผลเสีย
สังเกตความแตกต่าง
เรียกใช้ PCA กับข้อมูลที่มีหน่วยผสมทั้งแบบปรับมาตราส่วนและไม่ปรับ คุณจะเห็นว่าความแปรปรวนที่อธิบายได้และองค์ประกอบอันดับต้น ๆ แตกต่างกันอย่างชัดเจน
มีตัวเลือกที่ทนทาน
หากมีค่าผิดปกติรุนแรง ให้พิจารณาใช้ RobustScaler ซึ่งใช้ค่ามัธยฐานและควอร์ไทล์ ทำให้จุดที่สุดขั้วมีอิทธิพลต่อ PCA น้อยลง
from sklearn.preprocessing import RobustScalerตรวจสอบอย่างรวดเร็ว
มีขั้นตอนหนึ่งที่มักอยู่ก่อน PCA แทบทุกครั้ง
สรุปทบทวน
PCA ไวต่อมาตราส่วน ดังนั้นควรทำให้เป็นมาตรฐานก่อน ฝึกด้วยข้อมูลฝึกเท่านั้น และใช้ไปป์ไลน์เพื่อรักษาลำดับขั้นตอนให้ปลอดภัย 🎯
คำถามที่พบบ่อย
บทเรียน “ปรับสเกลก่อน แล้วจึงปรับ PCA” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ปรับสเกลก่อน แล้วจึงปรับ PCA” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Data Science Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ปรับสเกลก่อน แล้วจึงปรับ PCA”
เหตุใดการทำมาตรฐานจึงสำคัญในขั้นตอนนี้ คุณปฏิบัติ Data Science Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Data Science Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Data Science Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ปรับสเกลก่อน แล้วจึงปรับ PCA” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Data Science Academy นี้ได้ไหม
ได้ บทเรียน Data Science Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คำสาปของคุณลักษณะที่มากเกินไป
- PCA ค้นหาองค์ประกอบได้อย่างไร
- ปรับสเกลก่อน แล้วจึงปรับ PCA
- เลือกองค์ประกอบด้วยกราฟ Scree