Logo Zephyrnet

Xây dựng Trang tổng quan giải thích bằng Python

Ngày:

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.

 

Trang tổng quan bằng Python
Nguồn: Thiết kế bởi Freepik

Giới thiệu

Chúng ta đang sống trong một thế giới nơi dữ liệu được thu thập ở mọi giao dịch, có thể là đi taxi, mua sắm trực tuyến thông tin chi tiết về những gì đã mua và số tiền đã mua, có những lời nhắc về việc bảo dưỡng xe và thanh toán phí bảo hiểm, email tràn ngập hoạt động tiếp thị có mục tiêu trong đó các công ty đang bán một sản phẩm cụ thể với một mức giá cụ thể dựa trên phân khúc khách hàng của một mô hình. Với điện thoại thông minh / ứng dụng di động, việc thu thập và xử lý dữ liệu ở cấp độ cá nhân đã trở nên dễ dàng hơn nhiều. Đã qua rồi cái thời mà các công ty chỉ nói nếu họ có đủ dữ liệu để đưa ra quyết định kinh doanh.

Những tiến bộ trong công nghệ cùng với việc dễ dàng mua sắm và xử lý dữ liệu mang lại cho nó một loạt thách thức. Cũng chính dữ liệu này tiêu tốn gần 65-75% thời gian trong các dự án khoa học dữ liệu và việc hiểu được dữ liệu này chỉ có thể thực hiện được nếu nó được trực quan hóa. Điều này đã làm phát sinh rất nhiều công cụ và gói để giúp chúng tôi vượt qua rào cản này. Điều thú vị khác cần lưu ý là việc hình dung dữ liệu để rút ra thông tin hữu ích không chỉ là kỹ năng kỹ thuật mà còn phụ thuộc rất nhiều vào kỹ năng sáng tạo của mỗi cá nhân. Hiện nay, công cụ sáng tạo thường rất chủ quan và có khả năng nó mang lại nhiều định kiến, thành kiến, v.v. Điều này thể hiện rõ khi chúng ta thấy các báo cáo từ các nguồn khác nhau đưa ra các quan điểm và kết luận khác nhau từ cùng một dữ liệu. Đừng quên nhiều vòng đánh giá và sửa đổi để tạo ra một báo cáo.

Nhu cầu về Trang tổng quan bằng Python

Cũng có những trường hợp doanh nghiệp không đồng ý với một số báo cáo / khuyến nghị hoàn toàn vì họ hiểu doanh nghiệp hơn mô hình và dữ liệu mà doanh nghiệp được xây dựng. Vì vậy, một doanh nghiệp nên đưa ra quyết định như thế nào khi họ có những khuyến nghị trái ngược nhau? Một cách đơn giản là cung cấp sức mạnh của dữ liệu và trực quan cho các doanh nghiệp nơi họ có thể xem dữ liệu từ góc độ kinh doanh với sự phụ thuộc tối thiểu vào đội ngũ kỹ thuật. Điều này đã làm phát sinh các trang tổng quan và các công cụ như Power BI / Tableau cho phép doanh nghiệp đưa ra quyết định kinh doanh nhanh chóng. Tuy nhiên, những công cụ này không miễn phí, có một khoản phí bảo hiểm đi kèm với chúng và đôi khi nó dựa trên mỗi người dùng.

Trong blog này, chúng tôi sẽ xem xét bảng điều khiển giải thích gói từ mãng xà điều này sẽ giúp chúng tôi không chỉ xây dựng trang tổng quan mà còn cung cấp các mô hình dự đoán với các dòng mã tối thiểu. Không cần phải nói, tất cả đều miễn phí và mã nguồn mở.

Trước khi tiến xa hơn với blog, chúng ta hãy lùi lại một chút để hiểu công nghệ đang phát triển nhanh đến mức nào.

Năm ngoái, tôi đã xây dựng một bảng điều khiển / ứng dụng dữ liệu với một gói bảng điều khiển âm mưu trong python. Đây là chương trình dành cho khách hàng thân thiết. Mọi âm mưu, điểm dữ liệu, màu sắc, bố cục và tương tác phải được xác định và mã hóa để ứng dụng hoạt động. Nó có các tệp là app.py để xác định chức năng, dataProcess.py để chuẩn bị dữ liệu cho trang tổng quan và layout.py để xác định bố cục. Cuối cùng thì ứng dụng này thực sự xuất hiện tốt nhưng nó liên quan đến nhiều hơn một lượng mã python kha khá. Đọc thêm về Blog của chúng tôi..

Mã GitHub: Chương trình khách hàng thân thiết

Hơn nữa, tôi đã xây dựng một ứng dụng sáng bóng R sẽ tự động xây dựng một mô hình dựa trên lựa chọn của người dùng trên giao diện người dùng. Ứng dụng này rất cơ bản, nó có giao diện người dùng và các tệp máy chủ với khả năng tương tác được xác định và đã thực hiện các tác vụ sau về lựa chọn của người dùng. Một lần nữa không cần phải nói mọi thứ trong ứng dụng đã được mã hóa từ đầu đến cuối. Đọc thêm về Blog của chúng tôi..

  • Trưng bày dữ liệu
  • Tóm tắt dữ liệu và thống kê cơ bản
  • Cho phép người dùng chơi với phân chia đào tạo / thử nghiệm và trực quan hóa các âm mưu như tương quan, v.v.
  • Xây dựng mô hình và xem tầm quan trọng của biến sau đó là dự đoán cuối cùng về dữ liệu thử nghiệm.

Mã GitHub: Mô hình tương tác với Shiny

Sự cần thiết của bảng điều khiển

Nguồn: Tác giả

Hai ứng dụng ví dụ mà chúng ta đã thấy ở trên lần lượt được xây dựng trên python và R Shiny. Cần có một đoạn hồi tưởng nhanh về các ứng dụng trên để chúng tôi hiểu các kỹ năng cần thiết để xây dựng một bảng điều khiển như vậy và cũng để đánh giá cao bảng điều khiển giải thích mà chúng ta sẽ khám phá trong phần tiếp theo. Chúng tôi sẽ đạt được nhiều hơn thế với những dòng mã rất tối thiểu - mọi thứ được tích hợp sẵn.

Bắt đầu nào!

Cài đặt thư viện: Mở thiết bị đầu cuối của bạn và cài đặt thư viện với mã bên dưới

pip cài đặt giải thích

Chúng tôi sẽ xây dựng một mô hình phân loại rừng ngẫu nhiên bằng cách sử dụng tập dữ liệu được tích hợp sẵn. Do đó, chúng tôi sẽ cài đặt các phụ thuộc khác như sau

từ sklearn.ensemble nhập RandomForestClassifier từ nhập vào bảng giải thích ClassifierExplainer, ExplainerDashboard từ bảng giải thích.

Tạo tập dữ liệu đào tạo / kiểm tra của chúng tôi như bên dưới

X_train, y_train, X_test, y_test = titanic_survive ()

Chúng tôi sẽ tạo một đối tượng bằng cách giải thích sẽ giúp chúng tôi tạo một bảng điều khiển.

giải thích = ClassifierExplainer (model, X_test, y_test, cat = ['Sex', 'Deck', 'Embarked'], descriped = feature_desprints, label = ['Không sống sót', 'Sống sót'])

Cuối cùng, chúng tôi sẽ chạy đối tượng giải thích để xem bảng điều khiển.

ExplainerDashboard (giải thích) .run ()
* Đang cung cấp ứng dụng Flask "giải mã. Thay vào đó, hãy sử dụng máy chủ WSGI sản xuất. * Chế độ gỡ lỗi: tắt * Đang bật http://0.0.0.0:8050/ (Nhấn CTRL + C để thoát)

Bây giờ chúng ta có thể nhấp vào  http://0.0.0.1:8050/ để xem trang tổng quan.

Người giải thích mô hình | Trang tổng quan bằng Python

Nguồn: Tác giả

Số liệu hiệu suất mô hình và ma trận nhầm lẫn

Nguồn: Tác giả

Độ chính xác và phân loại Plot | Trang tổng quan bằng Python
Nguồn: Tác giả
Lô ROC AUC và PR AUC | Trang tổng quan bằng Python
Nguồn: Tác giả
Đường cong nâng và độ chính xác tích lũy | Trang tổng quan bằng Python
Nguồn: Tác giả

Tất cả các âm mưu và chỉ số mà chúng ta đã thấy ở trên được tạo tự động bởi bảng điều khiển giải thích và nó cũng được tách biệt gọn gàng thành các tab khác nhau. Nó cho phép người dùng xem xét các lĩnh vực họ quan tâm, thực hiện các thay đổi đối với cấu hình và đưa ra kết luận.

Tắt các tab: Chúng tôi cũng có thể ẩn các tab mà chúng tôi không cần với cài đặt bên dưới.

ExplainerDashboard (giải thích, importances = True, model_summary = False, các đóng góp = True, whatif = True, shap_dependence = True, shap_interaction = False quyết định_trees = True) .run ()

Một trong những phần thú vị là "Chuyện gì xảy ra nếu…" nơi người dùng có thể thực hiện các lựa chọn khác nhau và xem ngay kết quả. Điều này rất giống với cách triển khai mà chúng tôi đã thử trong ứng dụng R bóng và ở đây, chúng tôi đã đạt được nhiều hơn thế chỉ với một vài dòng mã.

Ghi chú đóng trên Trang tổng quan bằng Python

Trực quan hóa dữ liệu là cần thiết vì bộ não của chúng ta không được trang bị khả năng phân tích và xử lý khối lượng lớn dữ liệu có cấu trúc / phi cấu trúc, xác định các xu hướng và hiểu ý nghĩa của nó. Biểu diễn dữ liệu bằng đồ họa cho phép chúng tôi tương tác với dữ liệu và giải thích kết quả theo cách phù hợp với công việc kinh doanh của chúng tôi. Bản thân trang tổng quan không trả lời tất cả các câu hỏi của chúng tôi nhưng chắc chắn giúp chúng tôi tìm ra câu trả lời theo cách của riêng mình.

Hy vọng bạn thích blog về bảng điều khiển bằng Python. Chúc bạn học vui vẻ!

Bạn có thể kết nối với tôi - Linkedin &  Github

dự án

https://explainerdashboard.readthedocs.io/en/latest/

https://www.freepik.com/free-vector/site-stats-concept-illustration_7140739.htm#query=dashboard&position=3&from_view=search

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả. 

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?