Hướng dẫn preprocessing trong python - tiền xử lý trong python

Trụ sở chính:

Nội dung chính ShowShow

  • Thư viện này được hình thành như thế nào?
  • Scikit-learn là gì?
  • Nhóm thuật toán
  • Ví dụ: Cây phân loại và hồi quy (Classification and Regression Trees)
  • Đối tượng sử dụng
  • Nguồn tham khảo
  • Tạm kết

Văn phòng: Số 27-3RD, Sunrise D, The Manor Central Park, đường Nguyễn Xiển, phường Đại Kim, quận Hoàng Mai, TP. Hà Nội.

Liên hệ truyền thông: 0929.536.185 0929.536.185

Email: [email protected] [email protected]

Chịu trách nhiệm nội dung: Ông Trần Anh TúÔng Trần Anh Tú

TEK4.VN giữ bản quyền nội dung trên website này. Cấm sao chép dưới mọi hình thức nếu không có sự chấp thuận bằng văn bản.

Nếu bạn đang sử dụng Python và đang muốn tìm một thư viện mạnh mẽ mà bạn có thể mang các thuật toán học máy (machine learning) vào trong một hệ thống thì không còn thư viện nào thích hợp hơn scikit-learn. Thư viện này tích hợp rất nhiều thuật toán hiện đại và cố điển giúp bạn vừa học vừa tiến hành đưa ra các giải pháp hữu ích cho bài toán của bạn một cách đơn giản.

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

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

Scikit-learn là gì?

Nhóm thuật toán

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

Hướng dẫn preprocessing trong python - tiền xử lý trong python

Scikit-learn là gì?

Nhóm thuật toán

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

Đối tượng sử dụng

  • Nguồn tham khảo: Gói thư viện xử lý dãy số và ma trận nhiều chiều
  • Tạm kết: Gói các hàm tính toán logic khoa học
  • Văn phòng: Số 27-3RD, Sunrise D, The Manor Central Park, đường Nguyễn Xiển, phường Đại Kim, quận Hoàng Mai, TP. Hà Nội.: Biểu diễn dữ liệu dưới dạng đồ thị 2 chiều, 3 chiều  
  • Liên hệ truyền thông: 0929.536.185: Notebook dùng để tương tác trực quan với Python
  • Email: [email protected]: Gói thư viện các kí tự toán học
  • Chịu trách nhiệm nội dung: Ông Trần Anh Tú: Xử lý, phân tích dữ liệu dưới dạng bảng

TEK4.VN giữ bản quyền nội dung trên website này. Cấm sao chép dưới mọi hình thức nếu không có sự chấp thuận bằng văn bản.

Nếu bạn đang sử dụng Python và đang muốn tìm một thư viện mạnh mẽ mà bạn có thể mang các thuật toán học máy (machine learning) vào trong một hệ thống thì không còn thư viện nào thích hợp hơn scikit-learn. Thư viện này tích hợp rất nhiều thuật toán hiện đại và cố điển giúp bạn vừa học vừa tiến hành đưa ra các giải pháp hữu ích cho bài toán của bạn một cách đơn giản.

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

Nhóm thuật toán

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

Đối tượng sử dụng

  • Nguồn tham khảo: Nhóm thuật toán
    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]]
    9 dữ liệu không gán nhãn. Ví dụ thuật toán KMeans
  • Tạm kết: Python0, đánh giá độ hiệu quả của thuật toán học giám sát sử dụng dữ liệu kiểm thử (validation data) trong quá trình huấn luyện mô hình.
  • Văn phòng: Số 27-3RD, Sunrise D, The Manor Central Park, đường Nguyễn Xiển, phường Đại Kim, quận Hoàng Mai, TP. Hà Nội.: Gồm nhóm các Python1 được tích hợp sẵn trong thư viện. Hầu như các bộ dữ liệu đều đã được chuẩn hóa và mang lại hiêu suất cao trong quá trình huấn luyện như iris, digit, ...
  • Liên hệ truyền thông: 0929.536.185: Mục đích của thuật toán này là để Python2 quan trọng của dữ liệu bằng các phương pháp như tổng hợp, biểu diễn dữ liệu và lựa chọn đặc trưng. Ví dụ thuật toán PCA (Principal component analysis).
  • Email: [email protected]: Các Python3 sử dụng nhiều thuật toán học tập để có được hiệu 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.
  • Chịu trách nhiệm nội dung: Ông Trần Anh Tú: Python4. Mục đích là để định nghĩa các thuộc tình với dữ liệu hình ảnh và dữ liệu ngôn ngữ.
  • TEK4.VN giữ bản quyền nội dung trên website này. Cấm sao chép dưới mọi hình thức nếu không có sự chấp thuận bằng văn bản.: Python5. Lựa chọn các đặc trưng có ý nghĩa trong việc huấn luyện mô hình học giám sát.
  • Nếu bạn đang sử dụng Python và đang muốn tìm một thư viện mạnh mẽ mà bạn có thể mang các thuật toán học máy (machine learning) vào trong một hệ thống thì không còn thư viện nào thích hợp hơn scikit-learn. Thư viện này tích hợp rất nhiều thuật toán hiện đại và cố điển giúp bạn vừa học vừa tiến hành đưa ra các giải pháp hữu ích cho bài toán của bạn một cách đơn giản.: Python6. Các thuật toán phục vụ việc lựa chọn tham số phù hợp để tối ưu hóa mô hình.
  • Sau bài viết này, bạn sẽ có một góc nhìn tổng quan về thư viện scikit-learn và giới thiệu cho bạn những tài liệu có thể học thêm.: Các thuật toán học tổng hợp và Python7 phức tạp.
  • Scikit-learn ban đầu được đề xuất bởi David Cournapeau trong một dự án mùa hè của Google vào năm 2007.: Python8. Mảng lớn các thuật toán học máy hiện nay. Ví dụ như linear models, discriminate analysis, naive bayes, lazy methods, neural networks, support vector machines và decision trees.

Chúng ta đi tìm hiểu một ví dụ cụ thể sau

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

Tôi muốn cho bạn một ví dụ để cho bạn thấy việc sử dụng thư viện dễ dàng như thế nào.

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

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

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

Cuối cùng, chúng ta đánh giá độ tốt của mô hình bằng quan sát scikit-learn0 và scikit-learn1 của 2 tập nhãn thực tế và nhãn dự đoán của mô hình.

# Sample Decision Tree Classifier
from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
# load the iris datasets
dataset = datasets.load_iris()
# fit a CART model to the data
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

Chạy ví dụ trên được kết quả như sau. Bạn có thể thấy chi tiết mô hình cây phân loại được huấn luyện với các tham số chi tiết như thế nào, mỗi tham số ảnh hưởng rất lớn tới việc mô hình có tốt hay không. Phía dưới là scikit-learn2 và scikit-learn1 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]]

Đối tượng sử dụng

Bạn có thể tìm thấy tại đây danh sách một loạt các công ty lớn, uy tín sử dụng thư viện làm nền tảng phát triển công nghệ của họ. Ví dụ như J.P.Morgan, Hugging Face, Betaworks, Spotify, Inria, Mendeley, wise.io, Evernote, Telecom ParisTech, AWeber,... Ngoài ra còn có hàng trăm tổ chức lớn hơn sử dụng công nghệ này.

Thư viện có phạm vi ứng dụng rộng, những bản phát hành đều được nghiên cứu quản lý chặt chẽ do đó nó phù hợp ứng dụng cho cả các dự án scikit-learn4 và scikit-learn5.

Nguồn tham khảo

Bạn có thể vào Scikit-Learn để tìm hiểu thêm, lấy mã nguồn từ Github và tìm kiếm các phiên bản trên Sourceforge .lấy mã nguồn từ Github và tìm kiếm các phiên bản trên Sourceforge .

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 rồi đến đọc các thuật toán cụ thể và các thuật toán liên quan để tổng hợp kiến thức và chạy lại các ví dụ để hiểu đầy đủ, hệ thống một bài toán.

Học máy thực thất là ngành nghiên cứu về dữ liệu lớn, toán học đại cương, xác suất thống kê nên khi tiếp cận không được vội vàng mà phải hiểu cặn kẽ từng khía cạnh rồi từ đó mới tự xây dựng mô hình từ bé đến lớn hoạt động hiệu quả cho từng bài toán cụ thể. Cuối cùng, bạn mới có thể tham gia một dự án học lớn với một khối lượng công việc cần sự kiên trì và khả năng tính toán 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 để bạn hoàn thành công việc.

  • Hướng dẫn cơ bản  http://scikit-learn.org/urdy/tutorial/basic/tutorial.htmlhttp://scikit-learn.org/urdy/tutorial/basic/tutorial.html
  • Thuật toán cụ thể http://scikit-learn.org/stable/user_guide.htmlhttp://scikit-learn.org/stable/user_guide.html
  • Thuật toán liên quan  http://scikit-learn.org/stable/modules/classes.html http://scikit-learn.org/stable/modules/classes.html
  • Các ví dụ http://scikit-learn.org/stable/auto_examples/index.htmlhttp://scikit-learn.org/stable/auto_examples/index.html

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

Khi bạn hướng đến việc làm một dự án hay muốn có một góc nhìn rộng hơn 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 báo khác nhau về cùng một chủ đề sẽ cho bạn khả năng khái quát vấn đề từ đó tổng hợp, hiểu sâu hơn về học máy.

  • Scikit-learn: Machine Learning in Python (2011) (2011)
  • API design for machine learning software: experiences from the scikit-learn project (2013) (2013)

Sách tham khảo

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

  • Learning scikit-learn: Machine Learning in Python  (2013)  (2013)
  • Building Machine Learning Systems with Python  (2013)  (2013)
  • Statistics, Data Mining, and Machine Learning in Astronomy: A Practical Python Guide for the Analysis of Survey Data  (2014)  (2014)

Tạm kết

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