Mục lục[Ẩn giấu][Chỉ]
Nếu bạn là một lập trình viên Python hoặc nếu bạn đang tìm kiếm một bộ công cụ mạnh mẽ để sử dụng để đưa học máy vào một hệ thống sản xuất, thì Scikit-learning là một thư viện mà bạn cần xem qua.
Scikit-learning được ghi chép đầy đủ và dễ sử dụng, cho dù bạn là người mới sử dụng máy học, muốn thiết lập và chạy nhanh chóng hay muốn sử dụng công cụ nghiên cứu ML cập nhật nhất.
Nó cho phép bạn xây dựng một mô hình dữ liệu dự đoán chỉ trong một vài dòng mã và sau đó sử dụng mô hình đó cho phù hợp với dữ liệu của bạn như một thư viện cấp cao. Nó linh hoạt và hoạt động tốt với Thư viện Python như Matplotlib để lập biểu đồ, NumPy để vector hóa mảng và gấu trúc để trực quan hóa dữ liệu.
Trong hướng dẫn này, bạn sẽ tìm hiểu tất cả về nó là gì, cách bạn có thể sử dụng nó, cùng với những ưu và nhược điểm của nó.
Là gì Học hỏi?
Scikit-learning (còn được gọi là sklearn) cung cấp một tập hợp đa dạng các mô hình thống kê và máy học. Không giống như hầu hết các mô-đun, sklearn được phát triển bằng Python chứ không phải C. Mặc dù được phát triển bằng Python, nhưng tính hiệu quả của sklearn được quy cho việc sử dụng NumPy cho các hoạt động mảng và đại số tuyến tính hiệu suất cao.
Scikit-Learn được tạo ra như một phần của dự án Summer of Code của Google và từ đó đã làm cho cuộc sống của hàng triệu nhà khoa học dữ liệu tập trung vào Python trên toàn thế giới trở nên đơn giản hơn. Phần này của loạt bài tập trung vào việc trình bày thư viện và tập trung vào một yếu tố - các phép biến đổi tập dữ liệu, đây là bước quan trọng và quan trọng cần thực hiện trước khi phát triển mô hình dự đoán.
Thư viện dựa trên SciPy (Python khoa học), phải được cài đặt trước khi bạn có thể sử dụng scikit-learning. Ngăn xếp này chứa các mục sau:
- NumPy: Gói mảng n-chiều tiêu chuẩn của Python
- SciPy: Đây là một gói cơ bản cho máy tính khoa học
- Gấu trúc: Cấu trúc và phân tích dữ liệu
- Matplotlib: Đây là một thư viện vẽ đồ thị 2D / 3D mạnh mẽ
- Sympy: Toán học tượng trưng
- IPython: Bảng điều khiển tương tác được cải thiện
Các ứng dụng của thư viện Scikit-learning
Scikit-learning là một gói Python mã nguồn mở với các tính năng khai thác và phân tích dữ liệu phức tạp. Nó đi kèm với rất nhiều thuật toán tích hợp để giúp bạn tận dụng tối đa các dự án khoa học dữ liệu của mình. Thư viện Scikit-learning được sử dụng theo những cách sau.
1. Hồi quy
Phân tích hồi quy là một kỹ thuật thống kê để phân tích và thấu hiểu mối liên hệ giữa hai hoặc nhiều biến. Phương pháp được sử dụng để thực hiện phân tích hồi quy hỗ trợ xác định yếu tố nào có liên quan, yếu tố nào có thể bị bỏ qua và cách chúng tương tác. Ví dụ, kỹ thuật hồi quy có thể được sử dụng để hiểu rõ hơn về hành vi của giá cổ phiếu.
Các thuật toán hồi quy bao gồm:
- linear Regression
- Hồi quy Ridge
- Hồi quy Lasso
- Hồi quy cây quyết định
- Rừng ngẫu nhiên
- Máy vectơ hỗ trợ (SVM)
2. Phân loại
Phương pháp Phân loại là phương pháp Học tập có Giám sát sử dụng dữ liệu đào tạo để xác định danh mục các quan sát mới. Một thuật toán trong Phân loại học từ một tập dữ liệu hoặc các quan sát và sau đó phân loại các quan sát bổ sung thành một trong nhiều lớp hoặc nhóm. Ví dụ, chúng có thể được sử dụng để phân loại thông tin liên lạc qua email có phải là thư rác hay không.
Các thuật toán phân loại bao gồm những điều sau:
- Hồi quy logistic
- K-Những người hàng xóm gần nhất
- Máy hỗ trợ vector
- Cây quyết định
- Rừng ngẫu nhiên
3. Phân cụm
Các thuật toán phân cụm trong Scikit-learning được sử dụng để tự động sắp xếp dữ liệu có các thuộc tính tương tự thành các tập hợp. Phân cụm là quá trình nhóm một tập hợp các mục để những mục trong cùng một nhóm tương tự hơn với những mục trong các nhóm khác. Ví dụ: dữ liệu khách hàng có thể được tách biệt dựa trên vị trí của họ.
Các thuật toán phân cụm bao gồm những điều sau:
- DB-QUÉT
- K-nghĩa
- Phương tiện K hàng loạt nhỏ
- Phân cụm quang phổ
4. Lựa chọn mô hình
Các thuật toán lựa chọn mô hình cung cấp các phương pháp so sánh, xác nhận và lựa chọn các tham số và mô hình tối ưu để sử dụng trong các sáng kiến khoa học dữ liệu. Dữ liệu được đưa ra, lựa chọn mô hình là vấn đề chọn một mô hình thống kê từ một nhóm các mô hình ứng viên. Trong những trường hợp cơ bản nhất, việc thu thập dữ liệu đã có từ trước được tính đến. Tuy nhiên, nhiệm vụ cũng có thể bao gồm việc thiết kế các thí nghiệm sao cho dữ liệu thu được phù hợp với vấn đề lựa chọn mô hình.
Mô-đun lựa chọn mô hình có thể cải thiện độ chính xác bằng cách điều chỉnh các thông số bao gồm:
- Xác thực chéo
- Tìm kiếm lưới
- Metrics
5. Giảm kích thước
Việc chuyển dữ liệu từ không gian chiều cao sang không gian chiều thấp để biểu diễn chiều thấp bảo toàn một số khía cạnh quan trọng của dữ liệu gốc, lý tưởng là gần với kích thước vốn có của nó, được gọi là giảm kích thước. Số lượng biến ngẫu nhiên để phân tích bị giảm khi giảm kích thước. Ví dụ, dữ liệu bên ngoài có thể không được coi là để cải thiện hiệu quả của hình ảnh hóa.
Thuật toán Giảm kích thước bao gồm những điều sau:
- Lựa chọn tính năng
- Phân tích thành phần chính (PCA)
Cài đặt Scikit-learning
NumPy, SciPy, Matplotlib, IPython, Sympy và Pandas được yêu cầu cài đặt trước khi sử dụng Scikit-learning. Hãy cài đặt chúng bằng cách sử dụng pip từ bảng điều khiển (chỉ hoạt động cho Windows).
Hãy cài đặt Scikit-learning bây giờ chúng ta đã cài đặt các thư viện cần thiết.
Tính năng
Scikit-learning, đôi khi được gọi là sklearn, là một bộ công cụ Python để triển khai các mô hình học máy và mô hình thống kê. Chúng tôi có thể sử dụng nó để tạo nhiều mô hình học máy để hồi quy, phân loại và phân cụm, cũng như các công cụ thống kê để đánh giá các mô hình này. Nó cũng bao gồm giảm kích thước, lựa chọn tính năng, trích xuất tính năng, phương pháp tiếp cận tổng hợp và bộ dữ liệu tích hợp. Chúng tôi sẽ điều tra từng phẩm chất một.
1. Nhập tập dữ liệu
Scikit-learning bao gồm một số bộ dữ liệu được tạo sẵn, chẳng hạn như bộ dữ liệu mống mắt, bộ dữ liệu giá nhà, bộ dữ liệu titanic, v.v. Ưu điểm chính của các bộ dữ liệu này là chúng dễ nắm bắt và có thể được sử dụng để phát triển ngay lập tức các mô hình ML. Các bộ dữ liệu này thích hợp cho người mới. Tương tự, bạn có thể sử dụng sklearn để nhập các bộ dữ liệu bổ sung. Tương tự, bạn có thể sử dụng nó để nhập các bộ dữ liệu bổ sung.
2. Tách tập dữ liệu để đào tạo và kiểm tra
Sklearn bao gồm khả năng phân chia tập dữ liệu thành các phân đoạn đào tạo và thử nghiệm. Việc chia nhỏ tập dữ liệu là cần thiết để đánh giá không thiên vị về hiệu suất dự đoán. Chúng tôi có thể chỉ định lượng dữ liệu của chúng tôi nên được đưa vào bộ dữ liệu thử nghiệm và huấn luyện. Chúng tôi đã chia tập dữ liệu bằng cách sử dụng phân tách thử nghiệm tàu để tập hợp tàu bao gồm 80% dữ liệu và tập thử nghiệm có 20%. Tập dữ liệu có thể được chia như sau:
3. Hồi quy tuyến tính
Hồi quy tuyến tính là một kỹ thuật học máy dựa trên việc học có giám sát. Nó thực hiện một công việc hồi quy. Dựa trên các biến độc lập, hồi quy mô hình hóa một giá trị dự đoán mục tiêu. Nó chủ yếu được sử dụng để xác định mối liên hệ giữa các biến và dự đoán. Các mô hình hồi quy khác nhau khác nhau về kiểu kết nối mà chúng đánh giá giữa các biến phụ thuộc và độc lập, cũng như số lượng các biến độc lập được sử dụng. Chúng ta có thể đơn giản tạo mô hình Hồi quy tuyến tính bằng sklearn như sau:
4. Hồi quy logistic
Một cách tiếp cận phân loại phổ biến là hồi quy logistic. Nó cùng họ với hồi quy đa thức và tuyến tính và thuộc họ bộ phân loại tuyến tính. Các phát hiện của hồi quy logistic rất dễ hiểu và nhanh chóng được tính toán. Tương tự như hồi quy tuyến tính, hồi quy logistic là một kỹ thuật hồi quy có giám sát. Biến đầu ra là phân loại, vì vậy đó là sự khác biệt duy nhất. Nó có thể xác định xem bệnh nhân có bị bệnh tim hay không.
Các vấn đề phân loại khác nhau, chẳng hạn như phát hiện thư rác, có thể được giải quyết bằng cách sử dụng hồi quy logistic. Dự báo bệnh tiểu đường, xác định xem người tiêu dùng sẽ mua một sản phẩm cụ thể hay chuyển sang đối thủ, xác định liệu người dùng có nhấp vào một liên kết tiếp thị cụ thể hay không và nhiều kịch bản khác chỉ là một vài ví dụ.
5. Cây quyết định
Kỹ thuật phân loại và dự đoán mạnh mẽ và được sử dụng rộng rãi nhất là cây quyết định. Cây quyết định là một cấu trúc cây trông giống như một lưu đồ, với mỗi nút bên trong đại diện cho một phép thử trên một thuộc tính, mỗi nhánh đại diện cho kết luận của phép thử và mỗi nút lá (nút đầu cuối) chứa một nhãn lớp.
Khi các biến phụ thuộc không có mối quan hệ tuyến tính với các biến độc lập, tức là khi hồi quy tuyến tính không tạo ra kết quả chính xác, cây quyết định là có lợi. Đối tượng DecisionTreeRegression () có thể được sử dụng theo cách tương tự để sử dụng cây quyết định cho hồi quy.
6. Rừng Ngẫu Nhiên
Một khu rừng ngẫu nhiên là một học máy cách tiếp cận để giải quyết các vấn đề hồi quy và phân loại. Nó sử dụng học tập theo nhóm, là một kỹ thuật kết hợp nhiều bộ phân loại để giải quyết các vấn đề phức tạp. Phương pháp rừng ngẫu nhiên được tạo thành từ một số lượng lớn các cây quyết định. Nó có thể được sử dụng để phân loại các đơn xin vay, phát hiện hành vi gian lận và dự đoán dịch bệnh bùng phát.
7. Ma trận nhầm lẫn
Ma trận nhầm lẫn là một bảng được sử dụng để mô tả hiệu suất của mô hình phân loại. Bốn từ sau được sử dụng để kiểm tra ma trận nhầm lẫn:
- Đúng Tích cực: Nó biểu thị rằng mô hình đã dự đoán một kết quả thuận lợi và nó đúng.
- Đúng Phủ định: Nó biểu thị rằng mô hình dự kiến một kết quả xấu và nó đúng.
- Sai Tích cực: Nó có nghĩa là mô hình mong đợi một kết quả thuận lợi nhưng nó thực sự là một kết quả tiêu cực.
- Sai phủ định: Nó biểu thị rằng mô hình mong đợi một kết quả tiêu cực, trong khi kết quả thực sự tích cực.
Thực hiện ma trận nhầm lẫn:
Ưu điểm
- Nó đơn giản để sử dụng.
- Gói Scikit-learning cực kỳ thích nghi và hữu ích, phục vụ các mục tiêu trong thế giới thực như dự đoán hành vi của người tiêu dùng, phát triển hình ảnh thần kinh, v.v.
- Người dùng muốn kết nối các thuật toán với nền tảng của họ sẽ tìm thấy tài liệu API chi tiết trên trang web Scikit-learning.
- Nhiều tác giả, cộng tác viên và một cộng đồng trực tuyến lớn trên toàn thế giới hỗ trợ và luôn cập nhật Scikit-learning.
Nhược điểm
- Nó không phải là lựa chọn lý tưởng để nghiên cứu chuyên sâu.
Kết luận
Scikit-learning là một gói quan trọng đối với mọi nhà khoa học dữ liệu cần có một kiến thức vững chắc và một số kinh nghiệm. Hướng dẫn này sẽ giúp bạn thao tác dữ liệu bằng sklearn. Còn nhiều khả năng khác của Scikit-learning mà bạn sẽ khám phá khi tiến bộ qua cuộc phiêu lưu khoa học dữ liệu của mình. Chia sẻ suy nghĩ của bạn trong các ý kiến.
Bình luận