การประมวลผลข้อมูลล่วงหน้าในการทำเหมืองข้อมูล: ขั้นตอน การใส่ค่าที่หายไป การกำหนดมาตรฐานข้อมูล
เผยแพร่แล้ว: 2020-12-30งานที่ต้องใช้เวลามากที่สุดของ Data Scientist คือการเตรียมและประมวลผลข้อมูลล่วงหน้า ข้อมูลที่เราได้รับในสถานการณ์จริงนั้นไม่สะอาดและเหมาะสำหรับการสร้างแบบจำลอง ข้อมูลจำเป็นต้องได้รับการทำความสะอาด นำไปยังรูปแบบที่แน่นอน และแปลงก่อนที่จะป้อนไปยังโมเดลการเรียนรู้ของเครื่อง
ในตอนท้ายของบทช่วยสอนนี้ คุณจะทราบสิ่งต่อไปนี้
- ทำไมต้องประมวลผลข้อมูลล่วงหน้า
- การล้างข้อมูล
- ขาดการใส่ค่า
- มาตรฐานข้อมูล
- ดุลยพินิจ
สารบัญ
ทำไมต้องประมวลผลข้อมูลล่วงหน้า
เมื่อข้อมูลถูกดึงมาโดยการทำลายเว็บไซต์และรวบรวมจากแหล่งข้อมูลอื่น โดยทั่วไปแล้วจะเต็มไปด้วยความคลาดเคลื่อน อาจเป็นปัญหาในการจัดรูปแบบ ค่าที่หายไป ค่าขยะและข้อความ หรือแม้แต่ข้อผิดพลาดในข้อมูล ต้องทำขั้นตอนก่อนการประมวลผลหลายขั้นตอนเพื่อให้แน่ใจว่าข้อมูลที่ป้อนไปยังแบบจำลองนั้นตรงตามเครื่องหมาย เพื่อให้แบบจำลองสามารถเรียนรู้และสรุปได้
การล้างข้อมูล
ขั้นตอนแรกและสำคัญที่สุดคือการทำความสะอาดสิ่งผิดปกติในข้อมูล หากไม่ทำตามขั้นตอนนี้ เราไม่สามารถทำความเข้าใจสถิติของข้อมูลได้มากนัก สิ่งเหล่านี้อาจเป็นปัญหาด้านการจัดรูปแบบ ค่าขยะ และค่าผิดปกติ
ปัญหาการจัดรูปแบบ
เราต้องการให้ข้อมูลอยู่ในรูปแบบตารางเกือบตลอดเวลา แต่ก็ไม่เป็นเช่นนั้น ข้อมูลอาจมีชื่อคอลัมน์หายไปหรือไม่ถูกต้อง คอลัมน์ว่าง นอกจากนี้ เมื่อต้องจัดการกับข้อมูลที่ไม่มีโครงสร้าง เช่น รูปภาพและข้อความ จำเป็นต้องโหลดข้อมูล 2D หรือ 3D ใน Dataframes สำหรับการสร้างแบบจำลอง
ค่าขยะ
หลายอินสแตนซ์หรือคอลัมน์ทั้งหมดอาจมีค่าขยะบางอย่างผนวกกับค่าที่จำเป็นจริง ตัวอย่างเช่น พิจารณาคอลัมน์ "อันดับ" ซึ่งมีค่าเช่น: "#1", "#3", "#12", "#2" เป็นต้น ตอนนี้ สิ่งสำคัญคือต้องลบ "#" ที่นำหน้าทั้งหมด อักขระเพื่อให้สามารถป้อนค่าตัวเลขให้กับโมเดลได้
ค่าผิดปกติ
หลายครั้งที่ค่าตัวเลขบางค่ามีขนาดใหญ่เกินไปหรือต่ำเกินไปกว่าค่าเฉลี่ยของคอลัมน์ที่ระบุ สิ่งเหล่านี้ถือเป็นค่าผิดปกติ ค่าผิดปกติต้องการการดูแลเป็นพิเศษและเป็นปัจจัยที่ละเอียดอ่อนในการรักษา ค่าผิดปกติเหล่านี้อาจเป็นข้อผิดพลาดในการวัดหรืออาจเป็นค่าจริงเช่นกัน พวกเขาจำเป็นต้องลบออกทั้งหมดหรือจัดการแยกกันเนื่องจากอาจมีข้อมูลสำคัญมากมาย
ค่าที่หายไป
ไม่ค่อยมีกรณีที่ข้อมูลของคุณจะมีค่าทั้งหมดสำหรับทุกอินสแตนซ์ ค่าจำนวนมากหายไปหรือเต็มไปด้วยรายการขยะ ค่าที่หายไปเหล่านี้ต้องได้รับการปฏิบัติ ค่าเหล่านี้อาจมีสาเหตุหลายประการที่อาจหายไป สิ่งเหล่านี้อาจหายไปเนื่องจากสาเหตุบางประการ เช่น ข้อผิดพลาดของเซ็นเซอร์หรือปัจจัยอื่นๆ หรืออาจหายไปทั้งหมดโดยบังเอิญ
อ่าน: โครงการเหมืองข้อมูลในอินเดีย
ลดลง
วิธีที่ง่ายที่สุดและตรงไปตรงมาที่สุดคือการวางแถวที่ไม่มีค่า การทำเช่นนี้มีข้อเสียมากมายเช่นการสูญเสียข้อมูลสำคัญ อาจเป็นขั้นตอนที่ดีในการลดค่าที่หายไปเมื่อปริมาณข้อมูลที่คุณมีมาก แต่ถ้าข้อมูลมีน้อยและมีค่าที่หายไปจำนวนมาก คุณต้องมีวิธีแก้ไขปัญหานี้ให้ดีขึ้น
ค่ามัธยฐาน/ค่ามัธยฐาน/โหมด
วิธีที่รวดเร็วที่สุดในการระบุค่าที่หายไปคือการใส่ค่ากลางของคอลัมน์ อย่างไรก็ตาม มีข้อเสียเพราะรบกวนการกระจายข้อมูลเดิม คุณยังสามารถใส่ค่ามัธยฐานหรือค่าโหมดซึ่งโดยทั่วไปดีกว่าค่าเฉลี่ยธรรมดา
การแก้ไขเชิงเส้น & KNN
วิธีที่ชาญฉลาดมากขึ้นยังสามารถใช้เพื่อระบุค่าที่ขาดหายไป 2 ในจำนวนนี้เป็นการประมาณค่าเชิงเส้นโดยใช้หลายโมเดลโดยถือว่าคอลัมน์ที่มีค่าว่างเป็นคุณลักษณะที่จะคาดการณ์ อีกวิธีหนึ่งคือการใช้คลัสเตอร์โดย KNN KNN สร้างคลัสเตอร์ของค่าในคุณลักษณะเฉพาะ แล้วกำหนดค่าที่ใกล้เคียงที่สุดกับคลัสเตอร์
มาตรฐานข้อมูล
ในชุดข้อมูลที่มีคุณสมบัติตัวเลขหลายแบบ คุณลักษณะทั้งหมดอาจไม่อยู่ในระดับเดียวกัน ตัวอย่างเช่น คุณลักษณะ “ระยะทาง” มีระยะทางเป็นเมตร เช่น 1300, 800, 560 เป็นต้น และคุณสมบัติอื่น “เวลา” มีเวลาเป็นชั่วโมง เช่น 1, 2.5, 3.2, 0.8 เป็นต้น ดังนั้นเมื่อคุณสมบัติทั้งสองนี้ ถูกป้อนเข้าสู่โมเดล โดยจะถือว่าคุณลักษณะที่มีระยะทางมีน้ำหนักมากกว่าเนื่องจากมีค่ามาก เพื่อหลีกเลี่ยงสถานการณ์นี้และเพื่อให้เกิดการบรรจบกันเร็วขึ้น จำเป็นต้องนำคุณลักษณะทั้งหมดมารวมกันในระดับเดียวกัน

การทำให้เป็นมาตรฐาน
วิธีทั่วไปในการปรับขนาดคุณลักษณะคือการทำให้เป็นมาตรฐาน สามารถใช้งานได้โดยใช้ Normalizer ของ Scikit-learn มัน ไม่ทำงานบนคอลัมน์ แต่ในแถว การทำให้เป็นมาตรฐาน L2 ถูกนำไปใช้กับการสังเกตแต่ละครั้ง เพื่อให้ค่าในแถวมีบรรทัดฐานของหน่วยหลังจากการปรับขนาด
ขั้นต่ำสูงสุดมาตราส่วน
การปรับขนาด Min Max สามารถทำได้โดยใช้คลาส Min MaxScaler ของ Scikit-learn โดยจะลบค่าต่ำสุดของคุณลักษณะแล้วหารด้วยช่วง โดยที่ช่วงคือความแตกต่างระหว่างค่าสูงสุดเดิมและค่าต่ำสุดดั้งเดิม โดยจะคงรูปร่างของการกระจายดั้งเดิมไว้ โดยมีช่วงเริ่มต้นเป็น 0-1
มาตราส่วนมาตรฐาน
Standard Scaler ยังสามารถใช้งานได้โดยใช้คลาสของ Scikit-learn มันสร้างมาตรฐานให้กับจุดสนใจโดยลบค่าเฉลี่ยแล้วปรับขนาดเป็นความแปรปรวนหน่วย โดยที่ความแปรปรวนหน่วยหมายถึงการหารค่าทั้งหมดด้วยค่าเบี่ยงเบนมาตรฐาน มันทำให้ค่าเฉลี่ยของการแจกแจงเป็น 0 และค่าเบี่ยงเบนมาตรฐานเป็น 1
ดุลยพินิจ
หลายครั้งที่ข้อมูลไม่ได้อยู่ในรูปแบบตัวเลขแทนที่จะอยู่ในรูปแบบหมวดหมู่ ตัวอย่างเช่น พิจารณาคุณลักษณะ "อุณหภูมิ" ที่มีค่าเป็น "สูง", "ต่ำ", "ปานกลาง" ค่าที่เป็นข้อความเหล่านี้จำเป็นต้องเข้ารหัสในรูปแบบตัวเลขเพื่อให้โมเดลสามารถฝึกฝนได้
ข้อมูลหมวดหมู่
ข้อมูลตามหมวดหมู่คือป้ายกำกับที่เข้ารหัสเพื่อนำมาในรูปแบบตัวเลข ดังนั้น "สูง" "ปานกลาง" และ "ต่ำ" สามารถเข้ารหัสป้ายกำกับเป็น 3,2 และ 1 คุณสมบัติตามหมวดหมู่อาจเป็นค่าเล็กน้อยหรือลำดับก็ได้ ลักษณะการจัดลำดับคือคุณสมบัติที่มีลำดับที่แน่นอน ตัวอย่างเช่น ในกรณีข้างต้น เราสามารถพูดได้ว่า 3>2>1 เนื่องจากอุณหภูมิสามารถวัด/หาปริมาณได้
อย่างไรก็ตาม ในตัวอย่างที่ไม่สามารถวัดคุณลักษณะของ "เมือง" ซึ่งมีค่าเช่น "เดลี" "จัมมู" และ "อักรา" ได้ กล่าวอีกนัยหนึ่งเมื่อเราติดป้ายกำกับการเข้ารหัสเป็น 3, 2, 1 เราไม่สามารถพูดได้ว่า 3>2>1 เพราะ “Delhi” > ”Jammu” จะไม่สมเหตุสมผลมากนัก ในกรณีเช่นนี้ เราใช้ One Hot Encoding
ข้อมูลต่อเนื่อง
คุณสมบัติที่มีค่าต่อเนื่องยังสามารถแยกออกได้โดยการรวมค่าลงในช่องของช่วงเฉพาะ Binning หมายถึงการแปลงคุณลักษณะที่เป็นตัวเลขหรือต่อเนื่องเป็นชุดค่าที่ไม่ต่อเนื่อง โดยยึดตามช่วงของค่าที่ต่อเนื่องกัน สิ่งนี้มีประโยชน์เมื่อคุณต้องการดูแนวโน้มโดยพิจารณาจากช่วงของจุดข้อมูล
ตัวอย่างเช่น สมมติว่าเรามีคะแนนสำหรับเด็ก 7 คนตั้งแต่ 0-100 ตอนนี้ เราสามารถกำหนดคะแนนของเด็กทุกคนให้กับ "ถังขยะ" เฉพาะได้ ตอนนี้ เราสามารถแบ่งออกเป็น 3 ถังขยะที่มีช่วง 0 ถึง 50, 51-70 และ 71-100 ที่เป็นของถังขยะ 1,2 และ 3 ตามลำดับ ดังนั้น ฟีเจอร์นี้จะมีค่าใดค่าหนึ่งจาก 3 ค่านี้เท่านั้น Pandas มี 2 ฟังก์ชันเพื่อให้ใช้ binning ได้อย่างรวดเร็ว: qcut และ cut
Pandas qcut ใช้จำนวนของควอนไทล์และแบ่งจุดข้อมูลไปยังแต่ละถังตามการกระจายข้อมูล
ในทางกลับกัน Pandas cut ใช้ช่วงที่เรากำหนดและแบ่งจุดข้อมูลในช่วงเหล่านั้น
การอ่านที่เกี่ยวข้อง: การประมวลผลข้อมูลล่วงหน้าในการเรียนรู้ของเครื่อง
เรียนรู้ หลักสูตรวิทยาศาสตร์ข้อมูล จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
การประมวลผลข้อมูลล่วงหน้าเป็นขั้นตอนสำคัญในงาน Data Mining และ Machine Learning ขั้นตอนทั้งหมดที่เราพูดถึงนั้นไม่ใช่ทั้งหมดอย่างแน่นอน แต่จะครอบคลุมส่วนพื้นฐานของกระบวนการเกือบทั้งหมด เทคนิคการประมวลผลข้อมูลล่วงหน้านั้นแตกต่างกันสำหรับข้อมูล NLP และรูปภาพเช่นกัน อย่าลืมลองตัวอย่างขั้นตอนข้างต้นและนำไปใช้ในไปป์ไลน์การทำเหมืองข้อมูลของคุณ
หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ให้ลองดูประกาศนียบัตร PG ด้านวิทยาศาสตร์ข้อมูลของ IIIT-B และ upGrad ซึ่งสร้างขึ้นสำหรับมืออาชีพด้านการทำงานและเสนอกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1- on-1 กับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
การประมวลผลข้อมูลล่วงหน้าคืออะไรและมีความสำคัญอย่างไร
นี้เป็นเทคนิคในการให้ข้อมูลดิบที่ไม่มีโครงสร้างซึ่งอยู่ในรูปแบบของภาพ, ข้อความ, วิดีโอ. ข้อมูลนี้ได้รับการประมวลผลล่วงหน้าเพื่อขจัดความไม่สอดคล้อง ข้อผิดพลาด และความซ้ำซ้อน เพื่อให้สามารถวิเคราะห์ได้ในภายหลัง
ข้อมูลดิบจะถูกแปลงเป็นข้อมูลที่เกี่ยวข้องที่เครื่องสามารถเข้าใจได้ การประมวลผลข้อมูลล่วงหน้าเป็นขั้นตอนสำคัญในการแปลงข้อมูลสำหรับการสร้างแบบจำลอง หากไม่มีการประมวลผลก็ไร้ประโยชน์ในทางปฏิบัติ
ขั้นตอนที่เกี่ยวข้องในการประมวลผลข้อมูลล่วงหน้ามีอะไรบ้าง
การประมวลผลข้อมูลล่วงหน้าเกี่ยวข้องกับขั้นตอนต่างๆ เพื่อให้กระบวนการทั้งหมดเสร็จสมบูรณ์ ข้อมูลจะถูกล้างก่อนเพื่อลบเสียงรบกวนและเติมค่าที่ขาดหายไป หลังจากนี้ ข้อมูลจะถูกรวมจากหลายแหล่งเพื่อรวมเป็นชุดข้อมูลเดียว จากนั้นทำตามขั้นตอนเหล่านี้ด้วยการเปลี่ยนแปลง การลดลง และการแยกส่วน
การแปลงข้อมูลดิบเกี่ยวข้องกับการทำให้ข้อมูลเป็นมาตรฐาน การลดและการแยกส่วนโดยทั่วไปจะจัดการกับการลดแอตทริบิวต์และขนาดของข้อมูล ตามด้วยการบีบอัดข้อมูลชุดใหญ่นี้
ความแตกต่างระหว่างวิธี univariate และ multivariate คืออะไร?
วิธีที่ไม่มีตัวแปรเป็นวิธีที่ง่ายที่สุดในการจัดการค่าผิดปกติ ไม่ได้สรุปความสัมพันธ์ใดๆ เนื่องจากเป็นตัวแปรเดียวและมีวัตถุประสงค์หลักเพื่อวิเคราะห์ข้อมูลและกำหนดรูปแบบที่เกี่ยวข้อง ค่าเฉลี่ย ค่ามัธยฐาน และโหมด คือตัวอย่างรูปแบบที่พบในข้อมูลแบบไม่แปรผัน
ในทางกลับกัน วิธีหลายตัวแปรใช้สำหรับวิเคราะห์ตัวแปรตั้งแต่สามตัวขึ้นไป มีความแม่นยำมากกว่าวิธีการก่อนหน้านี้ เนื่องจากวิธีการหลายตัวแปรไม่เหมือนกับวิธี univariate ซึ่งเกี่ยวข้องกับความสัมพันธ์และรูปแบบ Additive Tree, Canonical Correlation Analysis และ Cluster Analysis เป็นวิธีการบางส่วนในการวิเคราะห์หลายตัวแปร
