# วงจรชีวิตของวิทยาศาสตร์ข้อมูล: การวิเคราะห์ |![ Sketchnote โดย [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/15-Analyzing.png)| |:---:| | วงจรชีวิตของวิทยาศาสตร์ข้อมูล: การวิเคราะห์ - _Sketchnote โดย [@nitya](https://twitter.com/nitya)_ | ## แบบทดสอบก่อนเรียน ## [แบบทดสอบก่อนเรียน](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28) การวิเคราะห์ในวงจรชีวิตของข้อมูลช่วยยืนยันว่าข้อมูลสามารถตอบคำถามที่ตั้งไว้หรือแก้ปัญหาเฉพาะได้ ขั้นตอนนี้ยังมุ่งเน้นไปที่การยืนยันว่าโมเดลสามารถตอบคำถามและแก้ปัญหาเหล่านี้ได้อย่างถูกต้อง บทเรียนนี้เน้นที่การวิเคราะห์ข้อมูลเชิงสำรวจ (Exploratory Data Analysis หรือ EDA) ซึ่งเป็นเทคนิคสำหรับการกำหนดคุณลักษณะและความสัมพันธ์ภายในข้อมูล และสามารถใช้เตรียมข้อมูลสำหรับการสร้างโมเดล เราจะใช้ชุดข้อมูลตัวอย่างจาก [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) เพื่อแสดงวิธีการนำไปใช้กับ Python และไลบรารี Pandas ชุดข้อมูลนี้ประกอบด้วยจำนวนคำทั่วไปที่พบในอีเมล โดยแหล่งที่มาของอีเมลเหล่านี้เป็นแบบไม่ระบุชื่อ ใช้ [notebook](notebook.ipynb) ในไดเรกทอรีนี้เพื่อทำตามขั้นตอน ## การวิเคราะห์ข้อมูลเชิงสำรวจ ขั้นตอนการเก็บข้อมูลในวงจรชีวิตคือการได้มาซึ่งข้อมูล รวมถึงปัญหาและคำถามที่ต้องการคำตอบ แต่เราจะรู้ได้อย่างไรว่าข้อมูลสามารถช่วยสนับสนุนผลลัพธ์ที่ต้องการได้? จำไว้ว่า นักวิทยาศาสตร์ข้อมูลอาจถามคำถามต่อไปนี้เมื่อพวกเขาได้รับข้อมูล: - ฉันมีข้อมูลเพียงพอที่จะแก้ปัญหานี้หรือไม่? - ข้อมูลมีคุณภาพที่ยอมรับได้สำหรับปัญหานี้หรือไม่? - หากฉันค้นพบข้อมูลเพิ่มเติมจากข้อมูลนี้ เราควรพิจารณาเปลี่ยนแปลงหรือกำหนดเป้าหมายใหม่หรือไม่? การวิเคราะห์ข้อมูลเชิงสำรวจเป็นกระบวนการทำความรู้จักกับข้อมูล และสามารถใช้ตอบคำถามเหล่านี้ รวมถึงระบุความท้าทายในการทำงานกับชุดข้อมูล มาดูเทคนิคบางอย่างที่ใช้ในการบรรลุเป้าหมายนี้กัน ## การทำโปรไฟล์ข้อมูล สถิติเชิงพรรณนา และ Pandas เราจะประเมินได้อย่างไรว่ามีข้อมูลเพียงพอที่จะแก้ปัญหานี้? การทำโปรไฟล์ข้อมูลสามารถสรุปและรวบรวมข้อมูลทั่วไปเกี่ยวกับชุดข้อมูลของเราได้ผ่านเทคนิคของสถิติเชิงพรรณนา การทำโปรไฟล์ข้อมูลช่วยให้เราเข้าใจสิ่งที่มีอยู่ และสถิติเชิงพรรณนาช่วยให้เราเข้าใจว่ามีสิ่งเหล่านี้มากน้อยเพียงใด ในบทเรียนก่อนหน้านี้ เราได้ใช้ Pandas เพื่อให้ข้อมูลสถิติเชิงพรรณนาบางอย่างผ่านฟังก์ชัน [`describe()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html) ซึ่งให้ข้อมูลจำนวน ค่าสูงสุดและต่ำสุด ค่าเฉลี่ย ส่วนเบี่ยงเบนมาตรฐาน และควอไทล์ของข้อมูลเชิงตัวเลข การใช้สถิติเชิงพรรณนา เช่น ฟังก์ชัน `describe()` สามารถช่วยคุณประเมินว่ามีข้อมูลมากน้อยเพียงใด และคุณต้องการข้อมูลเพิ่มเติมหรือไม่ ## การสุ่มตัวอย่างและการสืบค้น การสำรวจทุกอย่างในชุดข้อมูลขนาดใหญ่อาจใช้เวลานานมาก และมักเป็นงานที่ปล่อยให้คอมพิวเตอร์ทำ อย่างไรก็ตาม การสุ่มตัวอย่างเป็นเครื่องมือที่มีประโยชน์ในการทำความเข้าใจข้อมูล และช่วยให้เราเข้าใจสิ่งที่อยู่ในชุดข้อมูลและสิ่งที่มันแสดงถึง ด้วยตัวอย่าง คุณสามารถใช้ความน่าจะเป็นและสถิติเพื่อสรุปทั่วไปเกี่ยวกับข้อมูลของคุณ แม้ว่าจะไม่มีกฎที่กำหนดไว้ว่าคุณควรสุ่มตัวอย่างข้อมูลมากน้อยเพียงใด แต่สิ่งสำคัญคือต้องทราบว่ายิ่งคุณสุ่มตัวอย่างข้อมูลมากเท่าใด คุณก็ยิ่งสามารถสรุปทั่วไปเกี่ยวกับข้อมูลได้แม่นยำมากขึ้นเท่านั้น Pandas มีฟังก์ชัน [`sample()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html) ในไลบรารี ซึ่งคุณสามารถส่งอาร์กิวเมนต์ว่าต้องการตัวอย่างแบบสุ่มจำนวนเท่าใด การสืบค้นข้อมูลทั่วไปสามารถช่วยคุณตอบคำถามและทฤษฎีทั่วไปที่คุณอาจมี ในทางตรงกันข้ามกับการสุ่มตัวอย่าง การสืบค้นช่วยให้คุณควบคุมและมุ่งเน้นไปที่ส่วนเฉพาะของข้อมูลที่คุณมีคำถามเกี่ยวกับ ฟังก์ชัน [`query()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) ในไลบรารี Pandas ช่วยให้คุณเลือกคอลัมน์และรับคำตอบง่ายๆ เกี่ยวกับข้อมูลผ่านแถวที่ดึงมา ## การสำรวจด้วยการสร้างภาพ คุณไม่จำเป็นต้องรอจนกว่าข้อมูลจะถูกทำความสะอาดและวิเคราะห์อย่างละเอียดเพื่อเริ่มสร้างภาพ ในความเป็นจริง การมีตัวแทนภาพขณะสำรวจสามารถช่วยระบุรูปแบบ ความสัมพันธ์ และปัญหาในข้อมูล นอกจากนี้ การสร้างภาพยังเป็นวิธีการสื่อสารกับผู้ที่ไม่ได้มีส่วนร่วมในการจัดการข้อมูล และเป็นโอกาสในการแบ่งปันและชี้แจงคำถามเพิ่มเติมที่ไม่ได้รับการแก้ไขในขั้นตอนการเก็บข้อมูล ดู [ส่วนเกี่ยวกับการสร้างภาพ](../../../../../../../../../3-Data-Visualization) เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการสำรวจด้วยภาพที่ได้รับความนิยม ## การสำรวจเพื่อระบุความไม่สอดคล้องกัน หัวข้อทั้งหมดในบทเรียนนี้สามารถช่วยระบุค่าที่หายไปหรือไม่สอดคล้องกัน แต่ Pandas มีฟังก์ชันสำหรับตรวจสอบบางส่วนของสิ่งเหล่านี้ [isna() หรือ isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) สามารถตรวจสอบค่าที่หายไป สิ่งสำคัญอย่างหนึ่งของการสำรวจค่าที่หายไปในข้อมูลของคุณคือการสำรวจว่าทำไมค่าจึงกลายเป็นแบบนั้นตั้งแต่แรก สิ่งนี้สามารถช่วยคุณตัดสินใจว่าจะ [ดำเนินการแก้ไขอย่างไร](/2-Working-With-Data/08-data-preparation/notebook.ipynb) ## [แบบทดสอบก่อนเรียน](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27) ## งานที่ได้รับมอบหมาย [การสำรวจเพื่อหาคำตอบ](assignment.md) --- **ข้อจำกัดความรับผิดชอบ**: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้