Label Encoder vs One Hot Encoder ในการเรียนรู้ของเครื่อง [2022]
เผยแพร่แล้ว: 2021-01-04โมเดลแมชชีนเลิร์นนิงที่ปรับใช้ในแอปพลิเคชันจำนวนมากมักต้องการชุดของการแปลงจากข้อมูลตามหมวดหมู่หรือจุดโฟกัสของข้อความเป็นคำอธิบายที่เป็นตัวเลข เพื่อให้สอดคล้องกับการแปลงต้องใช้ตัวเข้ารหัสสองประเภท ได้แก่ ตัวเข้ารหัสฉลาก และ ตัวเข้ารหัส แบบ ร้อนหนึ่งตัว
ส่วนที่ยากคือเมื่อต้องเลือก ตัวเข้ารหัสฉลาก และเมื่อต้องเลือก ตัวเข้ารหัสแบบร้อนตัวใดตัว หนึ่ง ทางเลือกของการตัดสินใจส่งผลกระทบต่อโมเดลและยังสร้างพื้นฐานของคำถามมากมายที่ถามโดยทั่วไปสำหรับนักวิทยาศาสตร์ข้อมูลและผู้ที่ชื่นชอบการเรียนรู้ของเครื่อง
การเลือกการเข้ารหัสจะส่งผลต่อความแม่นยำของโมเดลอย่างชัดเจน และด้วยเหตุนี้จึงสามารถนำไปสู่โซลูชันที่ปรับให้เหมาะสมที่สุดได้ เพื่อให้เข้าใจถึงความแตกต่างที่จะเกิดขึ้นกับรุ่นต่างๆ เราต้องเข้าใจ ตัวเข้ารหัสฉลาก และ ตัวเข้ารหัส แบบ ร้อนหนึ่งตัว
ผ่านกราฟความรู้ในปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง แง่มุมหนึ่งที่พวกเราส่วนใหญ่จะตระหนักได้ก็คืออัลกอริธึมส่วนใหญ่ทำงานอย่างสมเหตุสมผลกับอินพุตที่เป็นตัวเลข ดังนั้น ความท้าทายหลักที่นักวิเคราะห์ต้องเผชิญคือการแปลงข้อมูลข้อความเป็นข้อมูลตัวเลข และทำให้แบบจำลองกำหนดประเด็นออกมา
สารบัญ
ตัวเข้ารหัสฉลาก
การเข้ารหัสฉลากอ้างอิงการแปลงสภาพของฉลากให้อยู่ในรูปแบบตัวเลขเพื่อเปลี่ยนเป็นรูปแบบที่เครื่องอ่านได้ หลังจากนั้นอัลกอริธึมการเรียนรู้ของเครื่องสามารถกำหนดวิธีที่ถูกต้องว่าต้องจัดการป้ายกำกับเหล่านี้อย่างไร เป็นการวัดผลก่อนการประมวลผลที่สำคัญระหว่างชุดข้อมูลแบบบูรณาการในการเรียนรู้ภายใต้การดูแล
ตัวอย่างเช่น เรามีชุดข้อมูลที่มีการเปรียบเทียบคุณภาพบางอย่างในทักษะบางอย่างในรูปแบบของการเปรียบเทียบขั้นสุดยอดระหว่างพี่น้อง ชุดข้อมูลนั้นดี ดีกว่า ดีที่สุด หลังจากใช้ตัวเข้ารหัสฉลาก แต่ละคุณภาพจะได้รับฉลาก 0,1,2 ตามลำดับ ป้ายกำกับสำหรับคุณภาพดีคือ 0 ป้ายกำกับสำหรับคุณภาพดีคือ 1 และสำหรับคุณภาพที่ดีที่สุด ป้ายกำกับคือ 2

ตัวอย่างที่กล่าวถึงข้างต้นเป็นพื้นฐานในแง่ของชุดข้อมูล การแปลงอาจเป็นชุดข้อมูลใดก็ได้ ไม่ว่าจะเป็นส่วนสูง อายุ สีตา ประเภทของม่านตา อาการ ฯลฯ
การเข้ารหัสฉลากใน Python สามารถทำได้โดยใช้ Sklearn Library Sklearn นำเสนอวิธีการที่มีประสิทธิภาพในการเข้ารหัสหมวดหมู่ของคุณสมบัติที่เป็นหมวดหมู่เป็นค่าตัวเลข ตัวเข้ารหัสฉลาก เข้ารหัสฉลากด้วยเครดิตระหว่างคลาส 0 ถึง n-1 โดยที่ n คือจำนวนของป้ายกำกับที่หลากหลาย ถ้าป้ายกล่าวย้ำ ย่อมกำหนดบุญที่แน่นอนตามที่ได้กำหนดไว้ก่อนหน้านี้
และในการปรับปรุงข้อมูลข้อความตามหมวดหมู่ประเภทนี้ให้เป็นข้อมูลที่เข้าใจได้ด้วยข้อมูลตัวเลขของแบบจำลอง เราใช้คลาส Label Encoder เราจำเป็นต้องติดป้ายกำกับเข้ารหัสคอลัมน์เริ่มต้น นำเข้าคลาส LabelEncoder จากไลบรารี sklearn ติดตั้งและปรับปรุงส่วนเริ่มต้นของข้อมูล จากนั้นฟื้นฟูข้อมูลข้อความที่เกิดขึ้นด้วยข้อมูลที่เข้ารหัสใหม่
นี่คือคำอธิบายสั้น ๆ ของการเข้ารหัสฉลาก โดยขึ้นอยู่กับข้อมูล การเข้ารหัสฉลากทำให้เกิดภาวะที่กลืนไม่เข้าคายไม่ออกใหม่ สำหรับภาพประกอบ เราได้เข้ารหัสชื่ออาณาจักรจำนวนมากเป็นข้อมูลตัวเลข นี่เป็นข้อมูลที่เป็นหมวดหมู่ทั้งหมด และไม่มีการเชื่อมโยงใดๆ ระหว่างแถว
เพื่อแก้ไขอุปสรรคนี้ มีความจำเป็นต้องนำเทคนิคการเข้ารหัสแบบใหม่มาใช้ ภาวะที่กลืนไม่เข้าคายไม่ออกที่นี่คือเนื่องจากมีหลายปริมาณในส่วนที่คล้ายคลึงกัน ต้นแบบจะตัดสินข้อมูลผิดในลักษณะเดียวกัน 0 < 1 < 2 แต่นี่ไม่ใช่ปัญหาเลย เพื่อบรรเทาความยุ่งยากนี้ เราใช้ ตัวเข้ารหัสแบบร้อนตัวเดียว
ต้องอ่าน: แนวคิดโครงการการเรียนรู้ของเครื่อง
ตัวเข้ารหัสร้อนหนึ่งตัว
One-Hot Encoding เป็นอีกหนึ่งโปรโตคอลที่โดดเด่นในการจัดการกับตัวแปรตามหมวดหมู่ กำหนดลักษณะเฉพาะต่อไปนี้ตามปริมาณของค่าที่แตกต่างกันในคุณลักษณะการจัดหมวดหมู่เท่านั้น ค่าที่แตกต่างทั้งหมดในการจัดประเภทจะถูกขยายเป็นโครงร่าง การเข้ารหัสแบบด่วนหนึ่งรายการจะใช้ส่วนที่มีข้อมูลตามหมวดหมู่ ซึ่งมีการเข้ารหัสฉลากที่มีอยู่แล้วจึงแบ่งส่วนนั้นออกเป็นส่วนๆ ไดรฟ์ข้อมูลถูกสร้างขึ้นใหม่โดย 1 วินาทีและ 0 วินาทีโดยนับว่าส่วนใดมีค่าเท่าใด

ตัวเข้ารหัสแบบ one-hot ไม่อนุมัติอาร์เรย์ 1-D อินพุตควรเป็นอาร์เรย์ 2 มิติเสมอ
ข้อมูลที่ให้สัตยาบันต่อตัวเข้ารหัสไม่ควรรวมสตริง
อัลกอริธึมการเรียนรู้ของเครื่องที่มีอยู่มากมายไม่สามารถผูกมัดกับข้อมูลที่เป็นหมวดหมู่ได้ แต่จำเป็นต้องแก้ไขข้อมูลหมวดหมู่เป็นข้อมูลตัวเลข การเข้ารหัสแบบใช้ครั้งเดียวเป็นหนึ่งในกลยุทธ์ที่ใช้ในการแปลงนี้ เทคนิคนี้ใช้เป็นหลักโดยที่วิธีการเรียนรู้เชิงลึกสัมพันธ์กับปัญหาการสืบทอดตามลำดับ
การเข้ารหัสแบบร้อนครั้งเดียวเป็นการรวมตัวกันของตัวแปรหมวดหมู่เป็นเวกเตอร์ไบนารี ค่าตามหมวดหมู่จะถูกแมปกับค่าจำนวนเต็มในขั้นต้น ทุกค่าจำนวนเต็มจะแสดงตัวอย่างเป็นเวกเตอร์ไบนารีที่เป็น 0 ทั้งหมด
แต่จะเกิดอะไรขึ้นถ้าเรามีหลายไฟล์ที่ต้องจัดการ?

Scikit-learn มีความอ่อนไหวต่อการจัดเรียงส่วนต่างๆ ดังนั้นหากชุดข้อมูลการฝึกอบรมและชุดข้อมูลทดสอบมีความขัดแย้ง ผลลัพธ์จะเป็นเรื่องไร้สาระ สิ่งนี้อาจเกิดขึ้นได้หากหมวดหมู่มีค่าหลายค่าในข้อมูลการฝึกอบรมเทียบกับข้อมูลการทดสอบ
ตรวจสอบให้แน่ใจว่าข้อมูลการทดสอบถูกเข้ารหัสในลักษณะเดียวกับข้อมูลการฝึกด้วยคำสั่ง align คำสั่ง align ทำให้เกิดการรักษาความปลอดภัยที่ส่วนต่างๆ ปรากฏในคำสั่งที่แน่นอนในชุดข้อมูลทั้งสองชุด
อ่าน: โมเดลการเรียนรู้ของเครื่อง
บทสรุป
โลกเต็มไปด้วยข้อมูลที่เป็นหมวดหมู่ นักวิเคราะห์จะเป็นนักวิทยาศาสตร์ข้อมูลที่เป็นประโยชน์มากกว่าถ้าคุณรู้วิธีใช้ข้อมูลนี้ ดังนั้นสำหรับใครก็ตามที่พยายามทำงานกับโมเดลดังกล่าว จะต้องคุ้นเคยกับการใช้ ตัวเข้ารหัสฉลาก และ ตัว เข้ารหัสที่ร้อนแรง 1 ตัว ในการเรียนรู้ของเครื่อง
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ
อัลกอริธึมใดบ้างที่ต้องใช้การเข้ารหัสแบบร้อนตัวเดียว
กระบวนการเข้ารหัสแบบด่วนหนึ่งขั้นตอนใช้เพื่อจัดการกับตัวแปรตามหมวดหมู่ กระบวนการนี้จะแปลงตัวแปรตามหมวดหมู่เพื่อให้อัลกอริธึมการเรียนรู้ของเครื่องใช้ตัวแปรเพื่อการทำนายที่ดีขึ้นได้ง่ายขึ้น อัลกอริธึมที่ใช้เฉพาะค่าตัวเลขเป็นอินพุตต้องการเพียงกระบวนการเข้ารหัสแบบด่วนเดียวเท่านั้นเพื่อแปลงตัวแปรหมวดหมู่ อัลกอริธึมการเรียนรู้ของเครื่องเหล่านี้บางส่วน ได้แก่ การถดถอยโลจิสติก การถดถอยเชิงเส้น เครื่องเวกเตอร์สนับสนุน ฯลฯ อย่างไรก็ตาม อัลกอริธึมบางอย่าง เช่น Markov Chain, Naive Bayes เป็นต้น ไม่ต้องการการเข้ารหัส เนื่องจากสามารถจัดการกับการแจกแจงแบบไม่ต่อเนื่องร่วมกันได้
เมื่อใดที่ควรใช้ Hot encoding ในการเรียนรู้เชิงลึก
One Hot Encoding เป็นการแปลงข้อมูลที่มีประสิทธิภาพและวิธีการประมวลผลล่วงหน้าที่ช่วยให้โมเดล ML เข้าใจข้อมูลที่ให้มา โดยพื้นฐานแล้ว การเข้ารหัสแบบด่วนหนึ่งรายการจะใช้เมื่ออัลกอริทึม ML ไม่สามารถทำงานกับตัวแปรหมวดหมู่ได้ ดังนั้น การเข้ารหัสแบบด่วนหนึ่งรายการจะแปลงให้อยู่ในรูปแบบที่เหมาะสม การใช้การเข้ารหัสแบบด่วนหนึ่งการเข้ารหัสเป็นสิ่งที่ต้องการมากที่สุดเมื่อคุณสมบัติของตัวแปรหมวดหมู่ที่จะแปลงไม่ใช่ลำดับ นอกจากนี้ การเข้ารหัสแบบด่วนหนึ่งรายการยังทำงานได้อย่างมีประสิทธิภาพเมื่อจำนวนของคุณสมบัติการจัดหมวดหมู่ที่มีอยู่ในชุดข้อมูลที่กำหนดมีน้อยมาก
คำว่า Dummy Variable Trap มีความหมายว่าอย่างไร
กับดักตัวแปร Dummy เป็นหนึ่งในปัญหาที่ต้องเผชิญกับกระบวนการเข้ารหัสแบบร้อนครั้งเดียว เมื่อชุดข้อมูลตามหมวดหมู่มีตัวแปรที่เชื่อมโยงอย่างแน่นหนา สิ่งนี้จะเกิดขึ้น ผลที่ตามมาก็คือ ผลลัพธ์ของตัวแปรตัวหนึ่งอาจถูกคาดหมายได้อย่างง่ายดายโดยใช้ตัวแปรที่เหลือ เมื่อใช้ขั้นตอนการเข้ารหัสแบบด่วนเพียงขั้นตอนเดียว จากผลของ Dummy Variable Trap ปัญหาอื่นที่เรียกว่า multicollinearity เกิดขึ้น