Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - จะใช้คุณสมบัติ Scaling ได้อย่างไรและที่ไหน


เป็นขั้นตอนของการประมวลผลข้อมูลล่วงหน้าซึ่งนำไปใช้กับตัวแปรอิสระหรือคุณสมบัติของข้อมูล โดยทั่วไปจะช่วยทำให้ข้อมูลเป็นปกติในช่วงที่กำหนด

เหตุใดจึงต้องปรับขนาด

โดยส่วนใหญ่ ชุดข้อมูลของคุณจะมีคุณลักษณะที่แตกต่างกันอย่างมากในขนาด หน่วย และช่วง แต่เนื่องจากอัลกอริธึมแมชชีนเลิร์นนิงส่วนใหญ่ใช้ระยะห่างแบบยุคลิเดียนระหว่างจุดข้อมูลสองจุดในการคำนวณ นี่จึงเป็นปัญหา

หากปล่อยไว้ตามลำพัง อัลกอริธึมเหล่านี้จะพิจารณาเฉพาะขนาดของคุณลักษณะที่ละเลยหน่วยเท่านั้น ผลลัพธ์ที่ได้จะแตกต่างกันอย่างมากระหว่างหน่วยที่ต่างกัน 5 กก. และ 5,000 กรัม

คุณลักษณะที่มีขนาดสูงจะมีน้ำหนักในการคำนวณระยะทางมากกว่าคุณลักษณะที่มีขนาดต่ำมาก

ในการระงับผลกระทบนี้ เราต้องทำให้คุณลักษณะทั้งหมดมีขนาดเท่ากัน สามารถทำได้โดยการปรับขนาด

วิธีการปรับขนาดคุณลักษณะ

  • การกำหนดมาตรฐาน − มาตรฐานแทนที่ค่าด้วยคะแนน Z
  • $$x^{\prime}=\frac{x\:-\:\bar{x}}{\sigma}$$$ ซึ่งกระจายคุณสมบัติด้วยค่าเฉลี่ย μ =0 และค่าเบี่ยงเบนมาตรฐาน σ =1 sklearn.preprocessing.scale ช่วยให้เรานำมาตรฐานไปใช้ใน python
  • หมายถึงการทำให้เป็นมาตรฐาน
  • $$x^{\prime}=\frac{x\:-\:mean(x)}{\max(x)\:-\:\min(x)}$$

    การแจกแจงนี้จะมีค่าระหว่าง -1 ถึง 1 ด้วย μ=0 มาตรฐาน และ Mean Normalization สามารถใช้กับอัลกอริธึมที่ถือว่าข้อมูลเป็นศูนย์ เช่น Principal Component Analysis(PCA) .

  • การปรับขนาดต่ำสุด-สูงสุด
  • $$x^{\prime}=\frac{x\:-\:\min(x)}{\max(x)\:-\:\min(x)}$$

    มาตราส่วนนี้ทำให้ค่าระหว่าง 0 ถึง 1

  • เวกเตอร์หน่วย
  • $$x^{\prime}=\frac{x}{\lVert\:x\:\rVert}$$

    การปรับขนาดเสร็จสิ้นโดยพิจารณาจากเวกเตอร์ของจุดสนใจทั้งหมดว่ามีความยาวหน่วยการปรับขนาดต่ำสุด-สูงสุด และ เวกเตอร์หน่วย เทคนิคสร้างค่าของช่วง [0,1] เมื่อต้องรับมือกับคุณสมบัติที่มีขอบเขตตายตัว สิ่งนี้ค่อนข้างมีประโยชน์ ตัวอย่างเช่น เมื่อต้องจัดการกับข้อมูลภาพ สีสามารถอยู่ในช่วงตั้งแต่ 0 ถึง 255

ควรปรับขนาดเมื่อใด

หลักการง่ายๆ ที่ควรทำตามนี้คืออัลกอริธึมที่คำนวณระยะทางหรือถือว่าเป็นเรื่องปกติ ปรับขนาดคุณลักษณะของคุณ

ตัวอย่างของอัลกอริธึมที่การปรับขนาดคุณลักษณะมีความสำคัญ -

  • เพื่อนบ้านที่ใกล้ที่สุด k ที่มีการวัดระยะทางแบบยุคลิดมีความไวต่อขนาดและด้วยเหตุนี้จึงควรปรับขนาดเพื่อให้คุณลักษณะทั้งหมดชั่งน้ำหนักเท่ากัน

  • การปรับขนาดเป็นสิ่งสำคัญ ในขณะที่ทำการวิเคราะห์องค์ประกอบหลัก (PCA) PCA พยายามรับคุณลักษณะที่มีความแปรปรวนสูงสุด และความแปรปรวนสูงสำหรับคุณลักษณะที่มีลำดับความสำคัญสูง สิ่งนี้ทำให้ PCA บิดเบือนไปในด้านคุณลักษณะขนาดใหญ่

  • เราสามารถเร่งความเร็วการไล่ระดับสีโดยการปรับขนาด เนื่องจาก θ จะลงมาอย่างรวดเร็วในช่วงขนาดเล็กและช้าๆ ในช่วงขนาดใหญ่ และจะแกว่งลงมาอย่างไม่มีประสิทธิภาพจนถึงค่าที่เหมาะสมที่สุดเมื่อตัวแปรไม่เท่ากัน

  • โมเดลแบบต้นไม้ไม่ใช่โมเดลที่อิงตามระยะทางและสามารถจัดการกับช่วงของคุณลักษณะต่างๆ ได้ ดังนั้นจึงไม่จำเป็นต้องใช้มาตราส่วนในการสร้างแบบจำลองต้นไม้

  • อัลกอริธึมเช่น Linear Discriminant Analysis (LDA) Naive Bayes ได้รับการออกแบบมาเพื่อรองรับสิ่งนี้และให้น้ำหนักแก่คุณสมบัติต่างๆ ตามลำดับ การปรับขนาดคุณลักษณะในอัลกอริทึมเหล่านี้อาจไม่ได้ผลมากนัก