Nếu nhiều người đang sử dụng Python cùng đang mong tìm một thư viện khỏe khoắn mà bạn cũng có thể mang những thuật toán học thứ (machine learning) vào vào một khối hệ thống thì không còn thư viện nào phù hợp hơn scikit-learn.Thư viện này tích hợp không ít thuật toán văn minh và cầm điển giúp bạn vừa học vừa triển khai đưa ra các giải pháp hữu ích cho bài bác toán của khách hàng một cách đối chọi giản.

Bạn đang xem: Scikit-learn là gì

Sau bài viết này, bạn sẽ có một mắt nhìn tổng quan lại về thư viện scikit-learn và giới thiệu cho chính mình những tài liệu rất có thể học thêm.

Thư viện này được hình thành như thế nào?

Scikit-learn lúc đầu được khuyến nghị bởi David Cournapeau vào một dự án mùa hè của Google vào năm 2007.

Later Matthieu Brucher tham gia dự án trên và ban đầu sử dụng nó làm một phần luận văn ts của ông ấy. Vào khoảng thời gian 2010, INRIA bước đầu tài trợ cùng phiên bạn dạng đầu tiên được xuất bạn dạng (v0.1 beta) vào cuối tháng 1 năm 2010.

Dự án vẫn vẫn được phân tích bởi một nhóm ngũ hơn 30 nhà nghiên cứu và phân tích đến từ những công ty phệ INRIA, Google, Tinyclues và Python Software Foundation.


*

Scikit-learn là gì?

Scikit-learn (Sklearn) là thư viện khỏe mạnh nhất giành riêng cho các thuật toán học sản phẩm được viết trên ngôn từ Python. Thư viện cung cấp một tập những công nắm xử lý các bài toán machine learning với statistical modeling gồm: classification, regression, clustering, và dimensionality reduction.

Thư viện được cung cấp phép bạn dạng quyền chuẩn chỉnh FreeBSD cùng chạy được trên nhiều gốc rễ Linux. Scikit-learn được thực hiện như một tài liệu nhằm học tập.

Để cài đặt scikit-learn trước tiên yêu cầu cài tủ sách SciPy (Scientific Python). Các thành phần gồm:

SciPy: Gói các hàm đo lường và thống kê logic khoa họcIPython: Notebook dùng để tương tác trực quan tiền với PythonSymPy: Gói thư viện những kí từ toán học

Những thư viện không ngừng mở rộng của SciPy thường được lấy tên dạng SciKits. Như tủ sách này là gói các lớp, hàm áp dụng trong thuật toán học thiết bị thì chọn cái tên là scikit-learn.

Scikit-learn cung ứng mạnh mẽ trong vấn đề xây dựng những sản phẩm. Nghĩa là thư viện này triệu tập sâu trong việc xây dựng các yếu tố: dễ sử dụng, dễ dàng code, dễ tham khảo, dễ có tác dụng việc, hiệu quả cao.

Mặc cho dù được viết mang đến Python nhưng thực ra các thư viện gốc rễ của scikit-learn lại được viết dưới những thư viện của C để tăng công suất làm việc. Ví dụ như: Numpy(Tính toán ma trận), LAPACK, LibSVM và Cython.

Nhóm thuật toán


Thư viện tập trung vào việc quy mô hóa dữ liệu. Nó không triệu tập vào bài toán truyền cài đặt dữ liệu, đổi khác hay tổng hợp dữ liệu. Những công việc này dành cho thư viện Numpy với Pandas.
*

Hình trên mang từ một bản demo của thuật toán phân cụm

Sau đâu là một số nhóm thuật toán được xây dựng bởi vì thư viện scikit-learn:

Clustering: team thuật toán Phân cụm tài liệu không gán nhãn. Ví dụ như thuật toán KMeansCross Validation: Kiểm test chéo, review độ hiệu quả của thuật toán học đo lường và thống kê sử dụng dữ liệu kiểm demo (validation data) trong quá trình huấn luyện tế bào hình.Datasets: gồm nhóm các Bộ tài liệu được tích hòa hợp sẵn trong thư viện. Số đông các bộ dữ liệu đều đang được chuẩn hóa và mang đến hiêu suất cao trong quy trình huấn luyện như iris, digit, ...Dimensionality Reduction: mục đích của thuật toán này là để Giảm số lượng thuộc tínhquan trọng của dữ liệu bằng các cách thức như tổng hợp, biểu diễn tài liệu và tuyển lựa đặc trưng. Ví dụ thuật toán PCA (Principal component analysis).Ensemble methods: Các phương pháp tập hợp áp dụng nhiều thuật toán học tập tập để có được năng suất dự đoán tốt hơn so với bất kỳ thuật toán học cấu thành nào.Feature extraction: Trích xuất quánh trưng. Mục tiêu là để định nghĩa những thuộc tình với tài liệu hình ảnh và dữ liệu ngôn ngữ.Feature selection: Trích lựa chọn đặc trưng. Lựa chọn các đặc trưng có chân thành và ý nghĩa trong bài toán huấn luyện mô hình học giám sát.Parameter Tuning: tinh chỉnh và điều khiển tham số. Những thuật toán ship hàng việc sàng lọc tham số phù hợp để buổi tối ưu hóa tế bào hình.Manifold Learning: những thuật toán học tập tổng hợp cùng Phân tích tài liệu đa chiều phức tạp.Supervised Models: học tập giám sát. Mảng lớn các thuật toán học thứ hiện nay. Lấy ví dụ nhưlinear models, discriminate analysis, naive bayes, lazy methods, neural networks, support vector machines với decision trees.

Chúng ta đi tìm hiểu một ví dụ rõ ràng sau

Ví dụ: Cây phân loại và hồi quy (Classification & Regression Trees)

Tôi muốn cho bạn một lấy một ví dụ để cho mình thấy việc áp dụng thư viện dễ dàng như vắt nào.

Ở ví dụ sau, chúng ta sử dụng cây đưa ra quyết định Decision treephân nhiều loại để mô hình hóa bộ tài liệu hoa Iris.

Bộ tài liệu này được cung cấp dưới dạng tập tài liệu mẫu với thư viện cùng được tải.Trình phân loại tương xứng với tài liệu và tiếp nối dự đoán được tiến hành trên tài liệu đào tạo.

Bộ tài liệu này được hỗ trợ dưới dạng tập dữ liệu mẫu ngay trong thư viện tiếp đến được sở hữu xuống. Thuật toán phân loại bước đầu huấn luyện mô hình với bộ dữ liệu Iris lúc đầu sau đó dự đoán lại các dữ liệu huấn luyện.

Cuối cùng, họ đánh giá bán độ xuất sắc của quy mô bằng quan gần kề accuracy và confusion matrix của 2 tập nhãn thực tế và nhãn dự đoán của mô hình.

# Sample Decision Tree Classifierfrom sklearn import datasetsfrom sklearn import metricsfrom sklearn.tree import DecisionTreeClassifier# load the iris datasetsdataset = datasets.load_iris()# fit a CART model to the datamodel = DecisionTreeClassifier()model.fit(dataset.data, dataset.target)print(model)# make predictionsexpected = dataset.targetpredicted = model.predict(dataset.data)# summarize the fit of the modelprint(metrics.classification_report(expected, predicted))print(metrics.confusion_matrix(expected, predicted))Chạy lấy một ví dụ trên được công dụng như sau. Chúng ta cũng có thể thấy cụ thể mô hình cây phân nhiều loại được giảng dạy với những tham số chi tiết như ráng nào, từng tham số ảnh hưởng rất to tới việc quy mô có giỏi hay không. Phía dưới là classification report cùng confusion matrix của mô hình.

DecisionTreeClassifier(class_weight=None, criterion="gini", max_depth=None, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, presort=False, random_state=None, splitter="best") precision recall f1-score support 0 1.00 1.00 1.00 50 1 1.00 1.00 1.00 50 2 1.00 1.00 1.00 50 avg / total 1.00 1.00 1.00 150 <<50 0 0> < 0 50 0> < 0 0 50>>
Bạn hoàn toàn có thể tìm thấy trên đây danh sách một loạt những công ty lớn, uy tín thực hiện thư viện làm gốc rễ phát triển technology của họ. Ví như J.P.Morgan, Hugging Face, Betaworks, Spotify, Inria, Mendeley, wise.io, Evernote, Telecom ParisTech, AWeber,... Hình như còn có hàng nghìn tổ chức lớn hơn sử dụng technology này.

Thư viện có phạm vi áp dụng rộng, những bạn dạng phát hành các được nghiên cứu thống trị chặt chẽ vì thế nó phù hợp ứng dụng cho tất cả các dự án công trình Prototype và Production.

Nguồn tham khảo

Bạn hoàn toàn có thể vàoScikit-Learn để tìm hiểu thêm,lấy mã nguồn từGithubvà tra cứu kiếm các phiên phiên bản trênSourceforge.

Hướng dẫn

Với người mới bắt đầu, tôi khuyên bạn nên bắt đầu với hướng dẫn cơ bạn dạng rồi mang đến đọc các thuật toán rõ ràng và những thuật toán tương quan để tổng hợp kỹ năng và chạy lại các ví dụ để hiểu đầy đủ, hệ thống một bài toán.

Học sản phẩm thực thất là ngành phân tích về tài liệu lớn, toán học đại cương, phần trăm thống kê nên lúc tiếp cận ko được lập cập mà cần hiểu cặn kẽ từng cẩn thận rồi trường đoản cú đó bắt đầu tự xây dựng mô hình từ nhỏ bé đến lớn chuyển động hiệu quả mang đến từng việc cụ thể. Cuối cùng, các bạn mới hoàn toàn có thể tham gia một dự án công trình học phệ với một khối lượng các bước cần sự bền chí và khả năng giám sát và đo lường cao.

Scikit-learn là một thư viện do đó tài liệu hướng dẫn triển khai chúng là rất quan trọng đặc biệt để bạn ngừng công việc.

Tài liệu nghiên cứu

Khi bạn hướng đến việc làm cho một dự án hay muốn có một ánh mắt rộng rộng về các bài toán học máy. Bạn nên tham gia nghiên cứu và đọc các tài liệu khoa học. Ở đây, những bài xích báo không giống nhau về thuộc một chủ thể sẽ cho mình khả năng khái quát sự việc từ kia tổng hợp, hiểu sâu rộng về học tập máy.

Sách tham khảo

Nếu bạn phải một cuốn sách nâng cao tổng hợp, tôi giới thiệu bạn cuốn vật dụng 2. Cuốn sách nêu ra phương thức xây dựng một hệ thống học sản phẩm tỷ mỉ. Phần đa ví dụ giới thiệu ngắn gọn, cơ bản, dễ hiểu. Cuốn sách viết ân cần vào kiến tạo các quy mô nên năng lực tổng vừa lòng cao cân xứng cho đối tượng người dùng đã có kỹ năng và kiến thức nền về học sản phẩm và ước ao xây dựng khối hệ thống học máy tối ưu với Python và thư viện Scikit-learn.

Xem thêm: Vecto Chỉ Phương Và Vecto Pháp Tuyến, Vecto Chỉ Phương Của Đường Thẳng Là Gì

Tạm kết

Trên đây, một ánh mắt tổng quan lại về tủ sách scikit-learn cùng giới thiệu cho chính mình các mối cung cấp tài liệu chuẩn chỉnh và các cuốn sách tham khảo để các bạn cũng có thể học tương tự như nghiên cứu vớt sâu hơn. Chúc các bạn thành công.