สารบัญ[ซ่อน][แสดง]
หากคุณเป็นโปรแกรมเมอร์ Python หรือหากคุณกำลังค้นหาชุดเครื่องมือที่มีประสิทธิภาพเพื่อใช้แนะนำแมชชีนเลิร์นนิงในระบบการผลิต Scikit-learn เป็นไลบรารี่ที่คุณต้องลองดู
Scikit-learn ได้รับการจัดทำเป็นเอกสารอย่างดีและใช้งานง่าย ไม่ว่าคุณจะเพิ่งเริ่มใช้แมชชีนเลิร์นนิง ต้องการเริ่มต้นใช้งานอย่างรวดเร็ว หรือต้องการใช้เครื่องมือการวิจัย ML ที่ทันสมัยที่สุด
ช่วยให้คุณสร้างโมเดลข้อมูลคาดการณ์ได้ในโค้ดเพียงไม่กี่บรรทัด จากนั้นจึงใช้โมเดลดังกล่าวเพื่อให้เหมาะกับข้อมูลของคุณในฐานะไลบรารีระดับสูง มีความยืดหยุ่นและทำงานได้ดีกับอื่นๆ ไลบรารี Python เช่น Matplotlib สำหรับการสร้างแผนภูมิ NumPy สำหรับการสร้างเวกเตอร์อาร์เรย์ และแพนด้าสำหรับการแสดงข้อมูล
ในคู่มือนี้ คุณจะได้เรียนรู้ว่ามันคืออะไร ใช้งานอย่างไร รวมไปถึงข้อดีและข้อเสีย
ความหมายของ วิทย์ - เรียน?
Scikit-learn (เรียกอีกอย่างว่า sklearn) นำเสนอแบบจำลองทางสถิติและการเรียนรู้ของเครื่องที่หลากหลาย แตกต่างจากโมดูลส่วนใหญ่ sklearn ได้รับการพัฒนาใน Python มากกว่า C แม้จะได้รับการพัฒนาใน Python ก็ตาม ประสิทธิภาพของ sklearn นั้นถูกกำหนดให้ใช้ NumPy สำหรับการดำเนินการพีชคณิตเชิงเส้นและอาร์เรย์ที่มีประสิทธิภาพสูง
Scikit-Learn ถูกสร้างขึ้นโดยเป็นส่วนหนึ่งของโครงการ Summer of Code ของ Google และทำให้ชีวิตของนักวิทยาศาสตร์ข้อมูลที่มี Python เป็นศูนย์กลางนับล้านทั่วโลกง่ายขึ้น ส่วนนี้ของซีรีส์มุ่งเน้นไปที่การนำเสนอไลบรารีและมุ่งเน้นไปที่องค์ประกอบเดียว นั่นคือการแปลงชุดข้อมูล ซึ่งเป็นขั้นตอนสำคัญและสำคัญที่ต้องทำก่อนพัฒนาแบบจำลองการทำนาย
ไลบรารีนี้ใช้ SciPy (Scientific Python) ซึ่งต้องติดตั้งก่อนจึงจะสามารถใช้ scikit-learn สแต็กนี้ประกอบด้วยรายการต่อไปนี้:
- NumPy: แพ็คเกจอาร์เรย์ n มิติมาตรฐานของ Python
- SciPy: เป็นแพ็คเกจพื้นฐานสำหรับการคำนวณทางวิทยาศาสตร์
- Pandas: โครงสร้างข้อมูลและการวิเคราะห์
- Matplotlib: เป็นไลบรารีพล็อต 2D/3D ที่ทรงพลัง
- Sympy: คณิตศาสตร์เชิงสัญลักษณ์
- IPython: ปรับปรุงคอนโซลแบบโต้ตอบ
แอพพลิเคชั่นของห้องสมุด Scikit-learn
Scikit-learn เป็นแพ็คเกจ Python โอเพ่นซอร์สพร้อมการวิเคราะห์ข้อมูลที่ซับซ้อนและคุณสมบัติการขุด มันมาพร้อมกับอัลกอริธึมในตัวมากมายที่จะช่วยให้คุณได้รับประโยชน์สูงสุดจากโครงการวิทยาศาสตร์ข้อมูลของคุณ ห้องสมุด Scikit-learn ใช้วิธีดังต่อไปนี้
1. การถดถอย
การวิเคราะห์การถดถอยเป็นเทคนิคทางสถิติสำหรับการวิเคราะห์และทำความเข้าใจความเชื่อมโยงระหว่างตัวแปรตั้งแต่สองตัวขึ้นไป วิธีที่ใช้ในการวิเคราะห์การถดถอยช่วยในการกำหนดองค์ประกอบที่เกี่ยวข้อง ซึ่งอาจถูกละเว้น และวิธีที่พวกมันโต้ตอบ เทคนิคการถดถอย เช่น อาจใช้เพื่อให้เข้าใจพฤติกรรมของราคาหุ้นได้ดีขึ้น
อัลกอริทึมการถดถอยรวมถึง:
- การถดถอยเชิงเส้น
- การถดถอยของสันเขา
- การถดถอยของ Lasso
- การถดถอยของแผนผังการตัดสินใจ
- ป่าสุ่ม
- รองรับเวคเตอร์แมชชีน (SVM)
2. การจำแนกประเภท
วิธีการจำแนกเป็นแนวทางการเรียนรู้ภายใต้การดูแลที่ใช้ข้อมูลการฝึกอบรมเพื่อระบุหมวดหมู่ของการสังเกตใหม่ อัลกอริทึมในการจำแนกประเภทเรียนรู้จาก ชุด หรือการสังเกตแล้วจัดประเภทการสังเกตเพิ่มเติมเป็นหนึ่งในหลายกลุ่มหรือหลายกลุ่ม ตัวอย่างเช่น สามารถใช้เพื่อจำแนกการสื่อสารทางอีเมลว่าเป็นสแปมหรือไม่
อัลกอริทึมการจำแนกประเภทมีดังต่อไปนี้:
- การถดถอยโลจิสติก
- K-เพื่อนบ้านที่ใกล้ที่สุด
- สนับสนุนเครื่องเวกเตอร์
- ต้นไม้ตัดสินใจ
- ป่าสุ่ม
3. การจัดกลุ่ม
อัลกอริทึมการจัดกลุ่มใน Scikit-learn ใช้เพื่อจัดเรียงข้อมูลที่มีคุณสมบัติคล้ายคลึงกันเป็นชุดโดยอัตโนมัติ การทำคลัสเตอร์เป็นกระบวนการของการจัดกลุ่มชุดของรายการเพื่อให้รายการที่อยู่ในกลุ่มเดียวกันมีความคล้ายคลึงกับกลุ่มอื่นๆ ตัวอย่างเช่น ข้อมูลลูกค้าอาจแยกจากกันตามสถานที่ตั้ง
อัลกอริทึมการจัดกลุ่มมีดังต่อไปนี้:
- ฐานข้อมูลสแกน
- K- หมายถึง
- มินิแบทช์ K-Means
- การจัดกลุ่มสเปกตรัม
4. การเลือกรุ่น
อัลกอริธึมการเลือกแบบจำลองจัดเตรียมวิธีการสำหรับการเปรียบเทียบ ตรวจสอบ และเลือกพารามิเตอร์และแบบจำลองที่เหมาะสมที่สุดเพื่อใช้ในโครงการริเริ่มด้านวิทยาศาสตร์ข้อมูล จากข้อมูลที่ให้มา การเลือกแบบจำลองเป็นปัญหาของการเลือกแบบจำลองทางสถิติจากกลุ่มของแบบจำลองตัวเลือก ในสถานการณ์พื้นฐานที่สุด จะพิจารณาการรวบรวมข้อมูลที่มีอยู่แล้ว อย่างไรก็ตาม งานอาจรวมถึงการออกแบบการทดลองด้วย เพื่อให้ข้อมูลที่ได้รับมีความเหมาะสมกับปัญหาการเลือกแบบจำลอง
โมดูลการเลือกรุ่นที่สามารถปรับปรุงความแม่นยำโดยการปรับพารามิเตอร์ ได้แก่ :
- การตรวจสอบข้าม
- ค้นหากริด
- ตัวชี้วัด
5. การลดมิติ
การถ่ายโอนข้อมูลจากพื้นที่มิติสูงไปยังพื้นที่มิติต่ำเพื่อให้การแสดงมิติต่ำรักษาแง่มุมที่สำคัญบางอย่างของข้อมูลดั้งเดิมไว้ใกล้กับมิติโดยธรรมชาติเรียกว่าการลดขนาด จำนวนของตัวแปรสุ่มสำหรับการวิเคราะห์จะลดลงเมื่อมิติลดลง ตัวอย่างเช่น ข้อมูลภายนอกอาจไม่ได้รับการพิจารณาเพื่อปรับปรุงประสิทธิภาพของการแสดงภาพ
อัลกอริทึมการลดขนาดมีดังต่อไปนี้:
- การเลือกคุณสมบัติ
- การวิเคราะห์องค์ประกอบหลัก (PCA)
การติดตั้ง Scikit-learn
ต้องติดตั้ง NumPy, SciPy, Matplotlib, IPython, Sympy และ Pandas ก่อนใช้ Scikit-learn มาติดตั้งโดยใช้ pip จากคอนโซล (ใช้ได้กับ Windows เท่านั้น)
มาติดตั้ง Scikit-learn กัน ตอนนี้เราได้ติดตั้งไลบรารีที่จำเป็นแล้ว
คุณสมบัติ
Scikit-learn หรือบางครั้งเรียกว่า sklearn เป็นชุดเครื่องมือ Python สำหรับการนำโมเดลการเรียนรู้ของเครื่องและการสร้างแบบจำลองทางสถิติไปใช้ เราอาจใช้เพื่อสร้างแบบจำลองการเรียนรู้ของเครื่องหลายตัวสำหรับการถดถอย การจัดประเภท และการจัดกลุ่ม ตลอดจนเครื่องมือทางสถิติสำหรับการประเมินแบบจำลองเหล่านี้ นอกจากนี้ยังรวมถึงการลดขนาด การเลือกคุณสมบัติ การแยกคุณลักษณะ วิธีการรวมกลุ่ม และชุดข้อมูลในตัว เราจะตรวจสอบคุณสมบัติเหล่านี้ทีละอย่าง
1. การนำเข้าชุดข้อมูล
Scikit-learn ประกอบด้วยชุดข้อมูลที่สร้างไว้ล่วงหน้าจำนวนหนึ่ง เช่น ชุดข้อมูลไอริส ชุดข้อมูลราคาบ้าน ชุดข้อมูลไททานิค และอื่นๆ ข้อได้เปรียบที่สำคัญของชุดข้อมูลเหล่านี้คือง่ายต่อการเข้าใจและสามารถใช้เพื่อพัฒนาโมเดล ML ได้ทันที ชุดข้อมูลเหล่านี้เหมาะสำหรับมือใหม่ ในทำนองเดียวกัน คุณอาจใช้ sklearn เพื่อนำเข้าชุดข้อมูลเพิ่มเติม ในทำนองเดียวกัน คุณอาจใช้เพื่อนำเข้าชุดข้อมูลเพิ่มเติม
2. การแยกชุดข้อมูลสำหรับการฝึกอบรมและการทดสอบ
Sklearn รวมความสามารถในการแบ่งชุดข้อมูลออกเป็นส่วนการฝึกอบรมและการทดสอบ การแยกชุดข้อมูลจำเป็นสำหรับการประเมินประสิทธิภาพการคาดการณ์ที่เป็นกลาง เราอาจระบุจำนวนข้อมูลของเราที่ควรรวมไว้ในรถไฟและชุดข้อมูลการทดสอบ เราแบ่งชุดข้อมูลโดยใช้การแบ่งการทดสอบรถไฟ โดยที่ชุดรถไฟประกอบด้วยข้อมูล 80% และชุดทดสอบมี 20% ชุดข้อมูลสามารถแบ่งได้ดังนี้:
3. การถดถอยเชิงเส้น
การถดถอยเชิงเส้นเป็นเทคนิคการเรียนรู้ของเครื่องที่ใช้การเรียนรู้ภายใต้การดูแล มันดำเนินการงานถดถอย ตามตัวแปรอิสระ แบบจำลองการถดถอยเป็นค่าการทำนายเป้าหมาย ส่วนใหญ่จะใช้เพื่อกำหนดความเชื่อมโยงระหว่างตัวแปรและการทำนาย ตัวแบบการถดถอยที่แตกต่างกันแตกต่างกันในแง่ของประเภทของการเชื่อมต่อที่พวกเขาประเมินระหว่างตัวแปรตามและตัวแปรอิสระตลอดจนจำนวนของตัวแปรอิสระที่ใช้ เราสามารถสร้างแบบจำลองการถดถอยเชิงเส้นโดยใช้ sklearn ดังนี้:
4. การถดถอยโลจิสติก
วิธีการจัดหมวดหมู่ทั่วไปคือการถดถอยโลจิสติก มันอยู่ในตระกูลเดียวกับพหุนามและการถดถอยเชิงเส้น และอยู่ในตระกูลตัวแยกประเภทเชิงเส้น ข้อค้นพบของการถดถอยโลจิสติกนั้นเข้าใจง่ายและคำนวณได้รวดเร็ว เช่นเดียวกับการถดถอยเชิงเส้น การถดถอยโลจิสติกเป็นเทคนิคการถดถอยที่มีการควบคุมดูแล ตัวแปรเอาท์พุตจัดเป็นหมวดหมู่ ดังนั้นจึงมีความแตกต่างเพียงอย่างเดียว สามารถระบุได้ว่าผู้ป่วยเป็นโรคหัวใจหรือไม่
ปัญหาการจำแนกประเภทต่างๆ เช่น การตรวจหาสแปม อาจแก้ไขได้โดยใช้การถดถอยโลจิสติก การพยากรณ์โรคเบาหวาน การพิจารณาว่าผู้บริโภคจะซื้อผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่งหรือเปลี่ยนไปใช้คู่แข่ง การพิจารณาว่าผู้ใช้จะคลิกลิงก์ทางการตลาดที่เฉพาะเจาะจงหรือไม่ และสถานการณ์อื่นๆ อีกมากมายเป็นเพียงตัวอย่างบางส่วนเท่านั้น
5. ต้นไม้การตัดสินใจ
เทคนิคการจำแนกและการทำนายที่ทรงพลังและใช้กันอย่างแพร่หลายคือแผนผังการตัดสินใจ ต้นไม้การตัดสินใจเป็นโครงสร้างต้นไม้ที่ดูเหมือนแผนผังลำดับงาน โดยแต่ละโหนดภายในแสดงถึงการทดสอบในแอตทริบิวต์ แต่ละสาขาแสดงถึงข้อสรุปของการทดสอบ และโหนดปลายสุดแต่ละโหนด (โหนดปลายทาง) ที่มีป้ายกำกับคลาส
เมื่อตัวแปรตามไม่มีความสัมพันธ์เชิงเส้นตรงกับตัวแปรอิสระ กล่าวคือ เมื่อการถดถอยเชิงเส้นไม่ได้สร้างผลลัพธ์ที่ถูกต้อง ต้นไม้แห่งการตัดสินใจก็มีประโยชน์ วัตถุ DecisionTreeRegression() อาจใช้ในลักษณะเดียวกันเพื่อใช้แผนผังการตัดสินใจสำหรับการถดถอย
6. ป่าสุ่ม
ป่าสุ่มคือ เรียนรู้เครื่อง แนวทางการแก้ปัญหาการถดถอยและการจำแนกประเภท ใช้การเรียนรู้แบบกลุ่มซึ่งเป็นเทคนิคที่รวมตัวแยกประเภทหลายตัวเพื่อแก้ปัญหาที่ซับซ้อน วิธีการสุ่มป่าประกอบด้วยต้นไม้ตัดสินใจจำนวนมาก อาจใช้เพื่อจัดหมวดหมู่การขอสินเชื่อ ตรวจจับพฤติกรรมฉ้อโกง และคาดการณ์การระบาดของโรค
7. เมทริกซ์ความสับสน
เมทริกซ์ความสับสนคือตารางที่ใช้อธิบายประสิทธิภาพของแบบจำลองการจัดหมวดหมู่ คำสี่คำต่อไปนี้ใช้เพื่อตรวจสอบเมทริกซ์ความสับสน:
- แง่บวกจริง: แสดงว่าแบบจำลองคาดการณ์ผลลัพธ์ที่น่าพอใจและถูกต้อง
- True Negative: หมายความว่าแบบจำลองคาดการณ์ผลลัพธ์ที่ไม่ดีและถูกต้อง
- ผลบวกเท็จ: หมายความว่าแบบจำลองคาดหวังผลลัพธ์ที่น่าพอใจ แต่กลับเป็นผลลัพธ์เชิงลบจริงๆ
- ลบเท็จ: หมายความว่าแบบจำลองคาดหวังผลลัพธ์เชิงลบในขณะที่ผลลัพธ์เป็นบวกจริงๆ
การใช้เมทริกซ์ความสับสน:
ข้อดี
- ใช้งานง่าย
- แพ็คเกจ Scikit-learn นั้นปรับเปลี่ยนได้และมีประโยชน์อย่างยิ่ง โดยรองรับเป้าหมายในโลกแห่งความเป็นจริง เช่น การคาดคะเนพฤติกรรมผู้บริโภค การพัฒนาภาพประสาท และอื่นๆ
- ผู้ใช้ที่ต้องการเชื่อมต่ออัลกอริธึมกับแพลตฟอร์มจะพบเอกสาร API โดยละเอียดในเว็บไซต์ Scikit-learn
- ผู้เขียน ผู้ทำงานร่วมกัน และชุมชนออนไลน์ขนาดใหญ่ทั่วโลกสนับสนุนและทำให้ Scikit-learn ทันสมัยอยู่เสมอ
จุดด้อย
- ไม่ใช่ตัวเลือกที่เหมาะสำหรับการศึกษาเชิงลึก
สรุป
Scikit-learn เป็นแพ็คเกจที่สำคัญสำหรับนักวิทยาศาสตร์ด้านข้อมูลทุกคนที่มีความเข้าใจอย่างถ่องแท้และมีประสบการณ์ คู่มือนี้จะช่วยคุณในการจัดการข้อมูลโดยใช้ sklearn Scikit-learn มีความสามารถอีกมากมายที่คุณจะค้นพบเมื่อคุณก้าวหน้าผ่านการผจญภัยด้านวิทยาศาสตร์ข้อมูล แบ่งปันความคิดของคุณในความคิดเห็น
เขียนความเห็น