Scikit Learn - Giới thiệu
Trong chương này, chúng ta sẽ hiểu Scikit-Learn hoặc Sklearn là gì, nguồn gốc của Scikit-Learn và một số chủ đề liên quan khác như cộng đồng và cộng tác viên chịu trách nhiệm phát triển và bảo trì Scikit-Learn, các điều kiện tiên quyết, cách cài đặt và các tính năng của nó.
Scikit-Learn là gì (Sklearn)
Scikit-learning (Sklearn) là thư viện hữu ích và mạnh mẽ nhất để học máy bằng Python. Nó cung cấp một loạt các công cụ hiệu quả để học máy và mô hình thống kê bao gồm phân loại, hồi quy, phân cụm và giảm kích thước thông qua giao diện nhất quán trong Python. Thư viện này, phần lớn được viết bằng Python, được xây dựng dựa trênNumPy, SciPy và Matplotlib.
Nguồn gốc của Scikit-Learn
Ban đầu nó được gọi là scikits.learn và ban đầu được phát triển bởi David Cournapeau như một dự án mã mùa hè của Google vào năm 2007. Sau đó, vào năm 2010, Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort và Vincent Michel, từ FIRCA (Viện Nghiên cứu Khoa học Máy tính và Tự động hóa Pháp), đã dự án này ở cấp độ khác và đã phát hành bản phát hành công khai đầu tiên (v0.1 beta) vào ngày 1 tháng 2 năm 2010.
Hãy xem lịch sử phiên bản của nó -
Tháng 5 năm 2019: scikit-learning 0.21.0
Tháng 3 năm 2019: scikit-learning 0.20.3
Tháng 12 năm 2018: scikit-learning 0.20.2
Tháng 11 năm 2018: scikit-learning 0.20.1
Tháng 9 năm 2018: scikit-learning 0.20.0
Tháng 7 năm 2018: scikit-learning 0.19.2
Tháng 7 năm 2017: scikit-learning 0.19.0
Tháng 9 năm 2016. scikit-learning 0.18.0
Tháng 11 năm 2015. scikit-learning 0.17.0
Tháng 3 năm 2015. scikit-learning 0.16.0
Tháng 7 năm 2014. scikit-learning 0.15.0
Tháng 8 năm 2013. scikit-learning 0.14
Cộng đồng và cộng tác viên
Scikit-learning là một nỗ lực của cộng đồng và bất kỳ ai cũng có thể đóng góp cho nó. Dự án này được lưu trữ trênhttps://github.com/scikit-learn/scikit-learn. Những người sau hiện là những người đóng góp cốt lõi cho sự phát triển và duy trì của Sklearn -
Joris Van den Bossche (Nhà khoa học dữ liệu)
Thomas J Fan (Nhà phát triển phần mềm)
Alexandre Gramfort (Nhà nghiên cứu Máy học)
Olivier Grisel (Chuyên gia học máy)
Nicolas Hug (Nhà khoa học nghiên cứu liên kết)
Andreas Mueller (Nhà khoa học về học máy)
Hanmin Qin (Kỹ sư phần mềm)
Adrin Jalali (Nhà phát triển nguồn mở)
Nelle Varoquaux (Nhà nghiên cứu Khoa học Dữ liệu)
Roman Yurchak (Nhà khoa học dữ liệu)
Nhiều tổ chức khác nhau như Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify và nhiều tổ chức khác đang sử dụng Sklearn.
Điều kiện tiên quyết
Trước khi bắt đầu sử dụng bản phát hành mới nhất của scikit-learning, chúng tôi yêu cầu những điều sau:
Python (> = 3.5)
NumPy (> = 1.11.0)
Scipy (> = 0,17,0) li
Joblib (> = 0,11)
Matplotlib (> = 1.5.1) là cần thiết cho khả năng vẽ đồ thị của Sklearn.
Pandas (> = 0.18.0) là bắt buộc đối với một số ví dụ scikit-learning sử dụng cấu trúc và phân tích dữ liệu.
Cài đặt
Nếu bạn đã cài đặt NumPy và Scipy, sau đây là hai cách dễ nhất để cài đặt scikit-learning:
Sử dụng pip
Lệnh sau có thể được sử dụng để cài đặt scikit-learning qua pip:
pip install -U scikit-learn
Sử dụng chung cư
Lệnh sau có thể được sử dụng để cài đặt scikit-learning qua conda -
conda install scikit-learn
Mặt khác, nếu NumPy và Scipy chưa được cài đặt trên máy trạm Python của bạn thì bạn có thể cài đặt chúng bằng cách sử dụng pip hoặc là conda.
Một tùy chọn khác để sử dụng scikit-learning là sử dụng các bản phân phối Python như Canopy và Anaconda vì cả hai đều cung cấp phiên bản mới nhất của scikit-learning.
Đặc trưng
Thay vì tập trung vào tải, thao tác và tóm tắt dữ liệu, thư viện Scikit-learning tập trung vào việc mô hình hóa dữ liệu. Một số nhóm mô hình phổ biến nhất do Sklearn cung cấp như sau:
Supervised Learning algorithms - Hầu như tất cả các thuật toán học có giám sát phổ biến, như Hồi quy tuyến tính, Máy vectơ hỗ trợ (SVM), Cây quyết định, v.v., là một phần của scikit-learning.
Unsupervised Learning algorithms - Mặt khác, nó cũng có tất cả các thuật toán học không giám sát phổ biến từ phân cụm, phân tích nhân tố, PCA (Phân tích thành phần chính) đến mạng nơ-ron không giám sát.
Clustering - Mô hình này được sử dụng để nhóm dữ liệu không được gắn nhãn.
Cross Validation - Nó được sử dụng để kiểm tra độ chính xác của các mô hình được giám sát trên dữ liệu không nhìn thấy.
Dimensionality Reduction - Nó được sử dụng để giảm số lượng các thuộc tính trong dữ liệu có thể được sử dụng thêm để tổng hợp, hiển thị và lựa chọn tính năng.
Ensemble methods - Như tên gợi ý, nó được sử dụng để kết hợp các dự đoán của nhiều mô hình được giám sát.
Feature extraction - Nó được sử dụng để trích xuất các tính năng từ dữ liệu để xác định các thuộc tính trong dữ liệu hình ảnh và văn bản.
Feature selection - Nó được sử dụng để xác định các thuộc tính hữu ích để tạo ra các mô hình được giám sát.
Open Source - Đây là thư viện mã nguồn mở và cũng có thể sử dụng thương mại theo giấy phép BSD.