Html xuất máy tính xách tay jupyter theo cốt truyện

Khi quá trình phân tích của nhà khoa học dữ liệu hoàn tất, khía cạnh quan trọng nhất của công việc sẽ bắt đầu. bàn giao kết quả cho khách hàng. Ở bước này, ngay cả công việc vĩ đại nhất cũng có thể thất bại do trình bày kém hoặc giao hàng không kịp thời. Câu hỏi hóc búa này có lẽ được tóm tắt tốt nhất bởi Định luật thiết kế tàu vũ trụ thứ 20 của Akin, trong đó nêu rõ [1]

Một thiết kế tồi với một bản trình bày tốt cuối cùng sẽ bị tiêu diệt. Một thiết kế tốt với cách trình bày tồi sẽ bị tiêu diệt ngay lập tức

— Định luật thiết kế tàu vũ trụ của Akin

Theo truyền thống, phân phối sản phẩm có nghĩa là chuyển các đầu ra được mã hóa sang các phương tiện khác như PowerPoint. Nhưng nếu có một cách để cung cấp Python Jupyter Notebook, hoàn chỉnh với các biểu đồ tương tác, trực tiếp cho khách hàng thì sao?

Máy tính xách tay Jupyter như một sản phẩm

Khái niệm về JNaaP rất đơn giản. cấu trúc sổ ghi chép Jupyter python điển hình [2] sao cho nó có thể xuất sang HTML theo cách rõ ràng, dễ hiểu đối với khách hàng ở các mức độ thành thạo kỹ thuật khác nhau

JNaaP có khả năng phân phối cao. Hầu hết mọi người trong lực lượng lao động hiện đại đều có quyền truy cập vào trình duyệt internet có khả năng mở các tệp HTML, cho phép phân phối rộng rãi và giảm thiểu các vấn đề về tương thích

Bài viết này sẽ hướng dẫn cách xây dựng JNaaP do tác giả tạo sẵn ở định dạng HTML, với đầy đủ kho lưu trữ và dữ liệu có sẵn tại đây. https. //github. com/kurtklingensmith/JNaaP. Nhấp vào “Mã” và “Tải xuống Zip” để truy cập các tệp

JNaaP được cung cấp tại kho lưu trữ GitHub ở trên sử dụng dữ liệu ẩn danh nhờ câu lạc bộ ô tô địa phương. Autocross là một sự kiện đua xe thể thao nghiệp dư được tính giờ, nơi người lái xe điều hướng một khóa học được xây dựng từ hình nón và nó tạo ra vô số dữ liệu. JNaaP và sổ ghi chép sẽ hoạt động tốt nhất khi được tải xuống và xem cục bộ so với xem trong GitHub

Ảnh chụp màn hình của tác giả từ Notebook Jupyter HTML được cung cấp dưới dạng Sản phẩm

Cân nhắc rộng rãi cho JNaaP

Trước khi xây dựng JNaaP, các nhà khoa học dữ liệu phải giải quyết hai cân nhắc chính

  1. Yêu cầu của khách hàng. Các yêu cầu hoặc câu hỏi cấp cao mà khách hàng cần giải quyết thông qua các khả năng của khoa học dữ liệu là gì? . Các phần khác nhau sẽ giải quyết từng câu hỏi hoặc yêu cầu và sổ ghi chép sẽ cung cấp một bản tóm tắt
  2. Cân nhắc kỹ thuật của khách hàng. Khách hàng có muốn truy cập vào mã không? . Tạo một JNaaP yêu cầu mã sạch; . Đối với hầu hết khách hàng, ẩn mã khi xuất HTML là cách tiếp cận tốt nhất, nhưng đây không phải là cách tuyệt đối.
Xây dựng JNaaP

Yêu cầu

Việc xây dựng JNaaP hiệu quả đòi hỏi phải sử dụng nhiều nbextensions. Một bài viết để bắt đầu với nbextensions có sẵn tại đây. Phần mở rộng Máy tính xách tay Jupyter của Will Koehrsen [3]. Mẫu JNaaP được cung cấp sử dụng các khả năng sau của nbextensions

  • Mục lục (2)
  • viết mã
  • Ẩn đầu vào
  • Ẩn tất cả đầu vào
  • plotlywidget/tiện ích mở rộng

Ảnh chụp màn hình của tác giả nbextensions

Mẫu JNaaP cũng sẽ yêu cầu

  • nbconvert. Dùng để xuất [4]
  • cốt truyện nhanh. Đối với trực quan hóa tương tác [5]

Thiết kế JNaaP

Về mặt cấu trúc, JNaaP nên đứng một mình. Tải xuống ví dụ được cung cấp tại đây để tham khảo trong khi đọc danh sách các phần tử JNaaP điển hình sau đây

  • Tiêu đề. Tiêu đề nên tóm tắt ngắn gọn nội dung của sổ ghi chép. Cân nhắc thêm dấu ngày tháng, quyền tác giả và thông tin liên hệ. Sử dụng đánh dấu và tối đa hóa việc sử dụng các tính năng định dạng đánh dấu. Có thể tìm thấy danh sách các tính năng đánh dấu khác nhau tại đây [6]. Dưới đây là một ví dụ về đánh dấu cho một tiêu đề
**
The JNaaP Title
**
***
Prepared by: Data Scientist
  • Lý lịch. Điều này sẽ tạo tiền đề bằng cách giải quyết mục đích của JNaaP, các mục tiêu phân tích chính và mọi thông tin hoặc câu chuyện cơ bản thích hợp cần thiết để hiểu JNaaP. Điều này cũng nên bao gồm các phát hiện và kết quả chính được hỗ trợ bởi phân tích sau này trong sổ ghi chép. Nếu bị giới hạn về thời gian, khách hàng chỉ cần đọc phần này, với niềm tin rằng phần phân tích sâu hơn trong sổ ghi chép sẽ chứng minh cho những phát hiện. Sử dụng đánh dấu để định dạng và hiển thị phần này
  • Mục lục. Sử dụng nbextensions, tiện ích mở rộng Mục lục (2) [7] cho phép người đọc nhanh chóng chuyển đến các phần khác nhau của sổ ghi chép

Ảnh chụp màn hình Mục lục của tác giả. Thêm Mục lục bằng cách kích hoạt nó trong nbextensions. Đảm bảo nút Mục lục được nhấp trên thanh công cụ. Nhấp vào bánh răng bên cạnh “Nội dung” và chọn “Thêm ô ToC của sổ ghi chép” để đảm bảo Mục lục xuất hiện trong JNaaP

  • Tải dữ liệu và thiết lập. Đây là nơi sổ ghi chép tải dữ liệu và thư viện. Nói chung, điều này ít được khách hàng sử dụng, nhưng việc hiển thị phần đầu của khung dữ liệu và một số kích thước tóm tắt bằng cách sử dụng câu lệnh in có thể tăng thêm giá trị bằng cách hiển thị mô tả trực quan về dữ liệu
  • Phần phân tích. Đây là nơi khoa học dữ liệu hoạt động, bao gồm cả trực quan hóa, cư trú. Cấu trúc bản phân tích để nó giải quyết các mục tiêu phân tích từ nền tảng và yêu cầu của khách hàng. Một cách hợp lý để tiếp cận điều này là sử dụng các tiêu đề là các câu hỏi phân tích của khách hàng. Lưu ý rằng mã sạch và các bảng, kết quả và đầu ra mã được hiển thị rõ ràng là cần thiết để có một JNaaP hiệu quả. Sử dụng các câu lệnh in, đánh dấu và các kỹ thuật trực quan hóa một cách khôn ngoan để mang lại vẻ ngoài chuyên nghiệp, rõ ràng

Đảm bảo biểu đồ tương tác trong HTML

Plotly Express cung cấp các biểu đồ tương tác đơn giản và hiệu quả với giao diện rõ ràng, chuyên nghiệp. Khía cạnh tương tác cho phép người dùng phóng to hoặc thu nhỏ biểu đồ và thậm chí tạo ảnh chụp màn hình. Điều quan trọng để đảm bảo các biểu đồ đó xuất và duy trì tính tương tác trong các tệp HTML là đoạn mã dưới đây bên dưới thẻ bắt đầu bằng #

import plotly.express as px
import plotly.graph_objects as go
import plotly.io as pio
# The below line ensures charts export to HTML
pio.renderers.default='notebook'

Với mã này, các biểu đồ tương tác có thể xuất được. Một ví dụ từ JNaaP được cung cấp có thể nhìn thấy bên dưới. Lưu ý rằng tất cả các trục đều được gắn nhãn, chú giải được cung cấp và người xem có thể di chuột qua các điểm dữ liệu để biết thêm thông tin. Trình bày sạch sẽ và rõ ràng là rất quan trọng để có một JNaaP thành công. Tài liệu khác về tùy chỉnh biểu đồ Plotly có sẵn tại đây [8]

Biểu đồ ví dụ từ JNaaP được cung cấp

Sức mạnh của Python Print

Hàm print() của Python cung cấp một giải pháp thay thế mạnh mẽ cho markdown. Đáng chú ý, có thể phân tích lặp lại thông qua các chức năng in. Hãy xem xét những điều sau đây từ ví dụ JNaaP

mode = df['Car Make'].mode()
print("\u2022 Most common manufacturer:", mode.to_string(index=False))

Đoạn mã trên sẽ lấy khung dữ liệu và in một câu lệnh xác định nhà sản xuất ô tô phổ biến nhất trong tập dữ liệu. Bởi vì nó không phải là đánh dấu, mà thay vào đó là hàm print() sử dụng python để xác định mục xuất hiện phổ biến nhất, nên mã có thể lặp lại với các bộ dữ liệu trong tương lai từ các sự kiện khác

Lưu ý văn bản “\u2022”, tạo dấu đầu dòng unicode. Tương tự như markdown, có nhiều khả năng định dạng với hàm print() của Python sẽ cải thiện giao diện chuyên nghiệp của JNaaP. JNaaP mẫu cung cấp một ví dụ về thiết lập các lớp để in văn bản in đậm

Xuất bản sang tệp HTML

Khi JNaaP hoàn tất, có một số cách để xuất nó sang HTML. Có hai cân nhắc trước khi xuất khẩu

  • Mã hoặc Không Mã. Một số khách hàng có thể muốn xem mã. Những người khác có thể không. Giữ tất cả mã sạch sẽ và được ghi chép đầy đủ trong trường hợp khách hàng muốn. Điều này sẽ tăng cường khả năng diễn giải và giảm sự lộn xộn trên tệp HTML
  • Xem trước JNaaP. Thông thường, hầu hết khách hàng sẽ không muốn xem mã. Việc sử dụng rộng rãi tính năng sắp xếp mã của nbextension [9] và Ẩn đầu vào cho phép xem trước JNaaP sẽ trông như thế nào trước khi xuất [10]. Điều này có thể tiết kiệm thời gian bằng cách tránh xuất lặp lại

Sau khi hoàn tất việc xác định bao gồm mã, có một số cách để xuất JNaaP sang HTML

Khả năng tích hợp của Jupyter Notebook. Nếu bao gồm mã, đây là cách dễ nhất để tạo JNaaP. Phương pháp này đơn giản như nhấp vào Tệp, Tải xuống dưới dạng, HTML (. html). Sau đó, Jupyter sẽ tải xuống sổ ghi chép dưới dạng tệp HTML tới bất kỳ nơi nào trình duyệt mặc định cho các tệp đã tải xuống

Ảnh chụp màn hình xuất của tác giả. Để xuất JNaaP có mã, bấm vào Tệp, Tải xuống dưới dạng, HTML (. html)

Sử dụng nbconvert để xuất. Nbconvert cung cấp nhiều tùy chọn hơn. Khối mã bên dưới thực hiện một số việc

%%capture
!jupyter nbconvert --to html --no-input --no-prompt Notebook.ipynb
  • Dòng trên cùng (%%capture) đảm bảo đầu ra của dòng xuất HTML nbconvert sẽ không hiển thị
  • Dòng dưới cùng xuất sổ ghi chép sang HTML. Để html chỉ định định dạng và không có đầu vào, không có dấu nhắc ẩn mã. Cuối dòng phải là tên tệp cho sổ ghi chép đang được chuyển đổi

Tệp HTML xuất sang thư mục chứa tệp ipynb của Jupyter Notebook. Các chủ đề tối cũng có sẵn bằng cách thêm đoạn mã sau vào dòng nbconvert

--HTMLExporter.theme=dark

Tuy nhiên, điều này sẽ yêu cầu định dạng lại bảng màu biểu đồ Plotly;

________5. Kết luận

Cung cấp Máy tính xách tay Jupyter dưới dạng sản phẩm dựa trên HTML hợp lý hóa công việc khoa học dữ liệu bằng cách biến nỗ lực dựa trên mã, phân tích trở thành một phần của quá trình sản xuất sản phẩm cuối cùng. Nó cũng làm giảm lỗi và làm lại bằng cách loại bỏ nhu cầu dịch các nỗ lực từ một công cụ (Jupyter) sang các công cụ khác như PowerPoint hoặc Word. Cuối cùng, các tệp HTML có khả năng tương thích rộng rãi và dễ dàng truyền tải, giúp sản phẩm dễ dàng cung cấp cho khách hàng. Cuối cùng, các JNaaP có cấu trúc tốt có thể cung cấp một phương tiện để tạo báo cáo và phân tích tất cả trong một, có thể lặp lại. Trong những trường hợp như vậy, các nhà khoa học phi dữ liệu có thể lấy một sổ ghi chép JNaaP đã chuẩn bị sẵn, thực hiện nó và tạo ra một sản phẩm có thể phân phối được

Vui lòng tham khảo ví dụ được liên kết và tạo JNaaP của riêng bạn

Người giới thiệu

[1] D. Akin, Định luật thiết kế tàu vũ trụ của Akin (2021), Trang web của Dave Akin

[2] Dự án Jupyter, Dự án Jupyter (2021), https. // jupyter. tổ chức/

[3] W. Koehrsen, Jupyter Notebook Exensions (2018), Hướng tới Khoa học Dữ liệu

[4] Nbconvert, nbconvert. Chuyển đổi Notebook sang các định dạng khác (2021), nbconvert

[5] Âm Mưu Thể Hiện, Cốt Truyện Thể Hiện. con trăn. Âm Mưu (2021), Âm Mưu. Thư viện đồ thị

[6] M. Zaman, The Ultimate Markdown Cheat Sheet (2021), Hướng tới Khoa học Dữ liệu

[7] jupyter_contrib_nbextensions, Mục lục (2) (2021), Tiện ích mở rộng Notebook Jupyter không chính thức

Làm cách nào để chuyển đổi biểu đồ cốt truyện sang HTML?

Có thể lưu bất kỳ hình nào dưới dạng tệp HTML bằng cách sử dụng phương thức write_html . Các tệp HTML này có thể được mở trong bất kỳ trình duyệt web nào để truy cập vào hình tương tác đầy đủ.

Làm cách nào để nhúng sơ đồ vào HTML?

Để chia sẻ một biểu đồ từ Không gian làm việc của Chart Studio, hãy nhấp vào nút 'Chia sẻ' ở phía bên trái sau khi lưu biểu đồ. Phương thức Chia sẻ sẽ bật lên và hiển thị một liên kết trong tab 'Nhúng'. Sau đó, bạn có thể sao chép và dán liên kết này vào trang web của mình. Bạn có tùy chọn nhúng cốt truyện của mình dưới dạng đoạn mã HTML hoặc iframe

Làm cách nào để chuyển đổi Ipynb sang HTML?

1 Lưu Sổ tay ở định dạng HTML. .
Bắt đầu sổ ghi chép jupyter mà bạn muốn lưu ở định dạng HTML. Trước tiên, hãy lưu sổ ghi chép đúng cách để tệp HTML sẽ có phiên bản mã/sổ ghi chép được lưu mới nhất của bạn
Chạy lệnh sau từ chính sổ ghi chép. . jupyter nbconvert --to html your_notebook_name. ipynb

Có thể hiển thị sơ đồ trong Jupyter Notebook không?

Hàm iplot() được sử dụng để hiển thị biểu đồ dạng đồ thị trong Jupyter Notebook . Hàm này chấp nhận các đối số sau. hình hoặc dữ liệu - Đây là đối tượng hình (bao gồm dữ liệu và bố cục của ô dự kiến) hoặc chỉ dữ liệu.