Scikit Learn - บทนำ
ในบทนี้เราจะทำความเข้าใจว่า Scikit-Learn หรือ Sklearn คืออะไรต้นกำเนิดของ Scikit-Learn และหัวข้ออื่น ๆ ที่เกี่ยวข้องเช่นชุมชนและผู้มีส่วนร่วมที่รับผิดชอบในการพัฒนาและบำรุงรักษา Scikit-Learn ข้อกำหนดเบื้องต้นการติดตั้งและคุณสมบัติต่างๆ
Scikit-Learn คืออะไร (Sklearn)
Scikit-learn (Sklearn) เป็นไลบรารีที่มีประโยชน์และมีประสิทธิภาพที่สุดสำหรับการเรียนรู้ของเครื่องใน Python มีเครื่องมือที่มีประสิทธิภาพสำหรับการเรียนรู้ของเครื่องและการสร้างแบบจำลองทางสถิติรวมถึงการจำแนกการถดถอยการจัดกลุ่มและการลดขนาดผ่านอินเทอร์เฟซที่สอดคล้องกันใน Python ไลบรารีนี้ซึ่งส่วนใหญ่เขียนด้วย Python ถูกสร้างขึ้นNumPy, SciPy และ Matplotlib.
ต้นกำเนิดของ Scikit-Learn
เดิมเรียกว่า scikits.learn และได้รับการพัฒนาโดย David Cournapeau ในช่วงฤดูร้อนของ Google ในโครงการรหัสในปี 2550 ต่อมาในปี 2010 Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort และ Vincent Michel จาก FIRCA (French Institute for Research in Computer Science and Automation) โครงการนี้ในอีกระดับและเผยแพร่สู่สาธารณะครั้งแรก (v0.1 เบต้า) ในวันที่ 1 กุมภาพันธ์ 2010
มาดูประวัติเวอร์ชันกัน -
พฤษภาคม 2019: scikit-learn 0.21.0
มีนาคม 2019: scikit-learn 0.20.3
ธันวาคม 2561: scikit-learn 0.20.2
พฤศจิกายน 2018: scikit-learn 0.20.1
กันยายน 2018: scikit-learn 0.20.0.2018
กรกฎาคม 2018: scikit-learn 0.19.2
กรกฎาคม 2017: scikit-learn 0.19.0
กันยายน 2559. scikit-learn 0.18.0
พฤศจิกายน 2558. scikit-learn 0.17.0
มีนาคม 2558. scikit-learn 0.16.0
กรกฎาคม 2557. scikit-learn 0.15.0
สิงหาคม 2556. scikit-learn 0.14
ชุมชนและผู้มีส่วนร่วม
Scikit-learn เป็นความพยายามของชุมชนและทุกคนสามารถมีส่วนร่วมได้ โครงการนี้โฮสต์บนhttps://github.com/scikit-learn/scikit-learn. ปัจจุบันคนที่ติดตามเป็นผู้สนับสนุนหลักในการพัฒนาและบำรุงรักษาของ Sklearn -
Joris Van den Bossche (นักวิทยาศาสตร์ข้อมูล)
Thomas J Fan (นักพัฒนาซอฟต์แวร์)
Alexandre Gramfort (นักวิจัยการเรียนรู้ของเครื่อง)
Olivier Grisel (ผู้เชี่ยวชาญด้าน Machine Learning)
Nicolas Hug (รองนักวิทยาศาสตร์การวิจัย)
Andreas Mueller (นักวิทยาศาสตร์การเรียนรู้ของเครื่อง)
Hanmin Qin (วิศวกรซอฟต์แวร์)
Adrin Jalali (ผู้พัฒนาโอเพ่นซอร์ส)
Nelle Varoquaux (นักวิจัยวิทยาศาสตร์ข้อมูล)
Roman Yurchak (นักวิทยาศาสตร์ข้อมูล)
องค์กรต่างๆเช่น Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify และอื่น ๆ อีกมากมายใช้ Sklearn
ข้อกำหนดเบื้องต้น
ก่อนที่เราจะเริ่มใช้ scikit-learn รุ่นล่าสุดเราต้องการสิ่งต่อไปนี้ -
Python (> = 3.5)
NumPy (> = 1.11.0)
Scipy (> = 0.17.0) li
Joblib (> = 0.11)
Matplotlib (> = 1.5.1) เป็นสิ่งจำเป็นสำหรับความสามารถในการวางแผน Sklearn
Pandas (> = 0.18.0) เป็นสิ่งจำเป็นสำหรับตัวอย่าง scikit-learn บางส่วนโดยใช้โครงสร้างข้อมูลและการวิเคราะห์
การติดตั้ง
หากคุณติดตั้ง NumPy และ Scipy แล้วต่อไปนี้เป็นสองวิธีที่ง่ายที่สุดในการติดตั้ง scikit-learn -
ใช้ pip
คำสั่งต่อไปนี้สามารถใช้เพื่อติดตั้ง scikit-learn ผ่าน pip -
pip install -U scikit-learn
ใช้ conda
คำสั่งต่อไปนี้สามารถใช้เพื่อติดตั้ง scikit-learn ผ่าน conda -
conda install scikit-learn
ในทางกลับกันหากยังไม่ได้ติดตั้ง NumPy และ Scipy บนเวิร์กสเตชัน Python ของคุณคุณสามารถติดตั้งได้โดยใช้ pip หรือ conda.
อีกทางเลือกหนึ่งในการใช้ scikit-learn คือการใช้การแจกแจง Python เช่น Canopy และ Anaconda เพราะทั้งคู่จัดส่ง scikit-learn เวอร์ชันล่าสุด
คุณสมบัติ
แทนที่จะมุ่งเน้นไปที่การโหลดการจัดการและการสรุปข้อมูลไลบรารี Scikit-learn มุ่งเน้นไปที่การสร้างแบบจำลองข้อมูล กลุ่มโมเดลยอดนิยมบางกลุ่มที่จัดทำโดย Sklearn มีดังนี้ -
Supervised Learning algorithms - อัลกอริธึมการเรียนรู้ภายใต้การดูแลที่เป็นที่นิยมเกือบทั้งหมดเช่น Linear Regression, Support Vector Machine (SVM), Decision Tree เป็นต้นเป็นส่วนหนึ่งของ scikit-learn
Unsupervised Learning algorithms - ในทางกลับกันมันยังมีอัลกอริธึมการเรียนรู้ที่ไม่ได้รับการดูแลที่เป็นที่นิยมทั้งหมดตั้งแต่การจัดกลุ่มการวิเคราะห์ปัจจัย PCA (การวิเคราะห์องค์ประกอบหลัก) ไปจนถึงเครือข่ายประสาทเทียมที่ไม่ได้รับการดูแล
Clustering - โมเดลนี้ใช้สำหรับการจัดกลุ่มข้อมูลที่ไม่มีป้ายกำกับ
Cross Validation - ใช้เพื่อตรวจสอบความถูกต้องของแบบจำลองภายใต้การดูแลเกี่ยวกับข้อมูลที่มองไม่เห็น
Dimensionality Reduction - ใช้เพื่อลดจำนวนแอตทริบิวต์ในข้อมูลซึ่งสามารถใช้เพิ่มเติมสำหรับการสรุปการแสดงภาพและการเลือกคุณลักษณะ
Ensemble methods - ตามชื่อแนะนำใช้สำหรับรวมการคาดคะเนของโมเดลภายใต้การดูแลหลายแบบ
Feature extraction - ใช้เพื่อดึงคุณสมบัติจากข้อมูลเพื่อกำหนดแอตทริบิวต์ในข้อมูลรูปภาพและข้อความ
Feature selection - ใช้เพื่อระบุคุณลักษณะที่เป็นประโยชน์ในการสร้างแบบจำลองภายใต้การดูแล
Open Source - เป็นไลบรารีโอเพ่นซอร์สและใช้งานได้ในเชิงพาณิชย์ภายใต้ใบอนุญาต BSD