Machine learning – Fullstack Station https://fullstackstation.com Hướng dẫn lập trình, thiết kế, lập trình web, thiết kế web, lập trình javascript, lập trình fullstack từ cơ bản đến nâng cao Wed, 24 Apr 2024 06:53:44 +0000 vi hourly 1 https://wordpress.org/?v=6.4.5 https://fullstackstation.com/wp-content/uploads/2019/08/favicon.ico Machine learning – Fullstack Station https://fullstackstation.com 32 32 Streamlit: Công cụ chuyên dụng cho ứng dụng phân tích dữ liệu với Python【Cập nhật 2024】 https://fullstackstation.com/gioi-thieu-streamlit-la-gi/ https://fullstackstation.com/gioi-thieu-streamlit-la-gi/#respond Fri, 11 Oct 2019 08:26:53 +0000 https://fullstackstation.com/?p=1957 Streamlit là gì Streamlit là công cụ được xây dựng với mục đích dành cho Machine Learning Engineer, tạo ra giao diện web như Jupyter notebook. Điểm đặc biệt khác với Jupyter notebook là Streamlit không phải hiển thị code, giúp cho bạn có thể tạo ra sản phẩm có tính hoàn thiện cao. Trong […]

The post Streamlit: Công cụ chuyên dụng cho ứng dụng phân tích dữ liệu với Python【Cập nhật 2024】 appeared first on Fullstack Station.

]]>
Streamlit là gì

Streamlit là công cụ được xây dựng với mục đích dành cho Machine Learning Engineer, tạo ra giao diện web như Jupyter notebook. Điểm đặc biệt khác với Jupyter notebook là Streamlit không phải hiển thị code, giúp cho bạn có thể tạo ra sản phẩm có tính hoàn thiện cao.

Trong bài “Tại sao nên học Python“, mình đã giới thiệu về ưu điểm của Python. Bài này sẽ giới thiệu thêm 1 ứng dụng khác. Về cơ bản có thể hiển thị kết quả từ python ra web, nên có thể sử dụng để tạo app bất kỳ với python.

Các tính năng cơ bản

Các tính năng thường được sử dụng ở streamlit là các biểu đồ, đồ thị, bản đồ, hình ảnh, âm thanh, video… bạn có thể xem toàn bộ tính năng ở đây: https://streamlit.io/components

Sau hơn 5 năm phát triển nền tảng Streamlit, giờ đây đã có rất nhiều tính năng được thêm vào khá đặc biệt như WebRTC, Code Editor…hoặc là các kết nối vào các nền tảng khác như SQL, CockroachDB, AirTable, Google Sheets…

Với những tính năng hiện tại

Một số tính năng hữu ích nâng cao

Cache

Cache được lưu trữ theo mỗi trạng thái của thiết lập điều này giúp cho ứng dụng không cần phải chạy lại cho từng người dùng khác nhau.

Để đảm bảo được cache hoạt động đúng, thì trong hàm sử dụng cache, không được dùng các hàm của streamlit. Các chức năng có thể nên dùng cache như: tải file, xử lý tính toán cho kết quả.

Session State

Sesstion State được sử dụng cho mục đích lưu trữ thông tin và chia sẽ dữ liệu giữa các script trong cùng 1 ứng dụng, ví dụ như thông tin đăng nhập của người dùng. Tuy nhiên, dữ liệu đó không chia sẽ giữa các tab trong cùng 1 trình duyệt và sẽ bị xóa nếu refresh lại trang.

Sesstion State dùng kiểu dữ liệu từ điển (key-value) để lưu trữ và mặc dù khá ít được sử dụng nhưng đối với các trường hợp như thông tin có tính chất phiên làm việc thì khá quan trọng. Widgets tự quản lý state riêng của mình, nên session state không liên quan đến state của widget nhé.

Streamlit Cloud

Với Streamlit Cloud thì bạn có thể triển khai ứng dụng của mình lên máy chủ của Streamlit hoàn toàn miễn phí, với điều kiện là mã nguồn lưu trữ công khai trên Github. Sau khi triển khai xong, bạn có thể tùy chọn cho mình một đường dẫn URL kiểu “xyz.streamlit.io/repo-name”

Fullstack Station Tips

Thường các công ty lớn hay sử dụng các công cụ phân tích/biểu thị dữ liệu như Redash, hay cho vào data warehouse rồi viết lại các dashboard khá mất thời gian. Như redash thì độ linh động cũng không cao cho lắm, còn tự làm dashboard thì khá là vất vả lấy yêu cầu rồi làm frontend, backend này nọ. Cuối cùng thì kết quả cũng chỉ là đưa dữ liệu lên, cho phép người dùng tìm kiếm, lọc dữ liệu theo 1 số tiêu chí nào đó. Điều này đối với streamlit thì khá phù hợp và tiện lợi khi chỉ cần 1 ngôn ngữ duy nhất là Python.

The post Streamlit: Công cụ chuyên dụng cho ứng dụng phân tích dữ liệu với Python【Cập nhật 2024】 appeared first on Fullstack Station.

]]>
https://fullstackstation.com/gioi-thieu-streamlit-la-gi/feed/ 0
[Machine Learning] Giới thiệu PredictionIO https://fullstackstation.com/gioi-thieu-predictionio/ https://fullstackstation.com/gioi-thieu-predictionio/#respond Tue, 29 Dec 2015 11:19:28 +0000 https://www.businesscard.vn/blog/?p=24 PredictionIO là gì? Machine learning/Học máy Đây là một ngành trong khoa học máy tính, còn hay được gọi là “học máy“. Được dùng để nghiên cứu một số hành vi có chung hoặc khác đặc điểm, sau đó phân loại hoặc dự đoán, …Một số ví dụ như: dự báo thời tiết, dự báo […]

The post [Machine Learning] Giới thiệu PredictionIO appeared first on Fullstack Station.

]]>
PredictionIO là gì?

Machine learning/Học máy

Đây là một ngành trong khoa học máy tính, còn hay được gọi là “học máy“. Được dùng để nghiên cứu một số hành vi có chung hoặc khác đặc điểm, sau đó phân loại hoặc dự đoán, …Một số ví dụ như: dự báo thời tiết, dự báo tình trạng giao thông, hoặc dự báo chỉ số giá cả một số mặt hàng, chẩn đoán y khoa, hoặc một số ứng dụng trong truy tìm dữ liệu như phục hồi ảnh… (PredictionIO hoàn toàn có thể áp dụng được các lĩnh vực này)

Ví dụ thực tế

  1. Bài viết tương tự hoặc bài viết mà hệ thống “nghĩ” là bạn sẽ thích, các website khi áp dụng học máy, dễ dàng phân tích được thói quen người dùng và khuyến nghị học đọc những bài viết liên quan, do vậy làm tăng tỉ lệ thao tác trên website đó rất cao.
  2. (Tương tự ví dụ 1) Tìm sản phẩm tương tự và khuyến nghị sản phẩm dựa theo nhu cầu của người sử dụng: dễ nhận thấy trong các kho ứng dụng như Apple AppStore hay Google Play Store là khi bạn xem một ứng dụng nào đó, hệ thống sẽ hiển thị ra các ứng dụng tương tự, hoặc các ứng dụng mà hệ thống “nghĩ” là phù hợp cho bạn. Những gợi ý này hoàn toàn là kết quả của học máy, và được tạo bởi những hành vi người dùng khác giống như bạn và hoàn toàn tự động.
  3. Ở Amazon, người ta áp dụng học máy để xác định được món hàng bạn yêu thích và có xác suất “sẽ mua”, từ đó họ sẽ thông báo cho kho chứa hàng “ở gần bạn nhất” đóng gói sẵn, hoặc thực hiện di chuyển các kiện sản phẩm từ các kho khác đến kho gần bạn. Chính nhờ vậy mà tốc độ giao hàng của Amazon rất nhanh, đây là kết quả của học máy.
  4. Một ứng dụng thú vị nữa đó là Google Translate, hoặc Bing hoặc một số phần mềm nhận dạng chữ viết tay. Nếu không nhờ học máy, “chữ viết tay” là một lĩnh vực xương xẩu bởi vì chữ viết mỗi người mỗi khác, rất đa dạng, và đối với những ngôn ngữ có dấu như tiếng Việt thì cũng càng khó.
  5. Liên quan đến NLP (Xử lý ngôn ngữ tự nhiên) thì học máy cũng được đưa vào để nhận dạng giọng nói, ngôn ngữ (Ví dụ Google Translate có thể nghe bạn nói tiếng Việt và dịch ra tiếng Anh rồi phát ra loa) và phân tích văn bản (tóm tắt nội dung văn bản)

PredictionIO

Như các ví dụ ở trên, bạn có thể thấy rằng học máy là một lĩnh vực không còn mới mẻ, và đặc biệt là khi có nhiều mã nguồn mở cung cấp khả năng thông minh đó cho hệ thống của bạn. Một trong các hệ thống đó là PredictionIO. PredictionIO về cơ bản cũng giống như các sản phẩm khác khi có thể làm cho hệ thống của bạn thông minh hơn như: sản phẩm tương tự, sản phẩm mà hệ thống nghĩ bạn sẽ thích, phân loại khách hàng tiềm năng,… Nhưng đặc biệt của PredictionIO là:

  • Sản phẩm hoàn thiện: thao tác cài đặt đơn giản và dễ dàng, không cần mất nhiều thời gian để nghiên cứu vì tính hoàn thiện cao. Hơn nữa, PredictionIO có hệ thống SDK phong phú với việc hỗ trợ các ngôn ngữ thịnh hành như: Java, Python, Ruby, PHP, Nodejs, C#, Swift
  • Hệ thống template phong phú: nếu bạn cần làm một trong các ví dụ mình có nói trong bài thì việc áp dụng Prediction là phù hợp vì đã có sẵn các template đó rồi, chỉ cần cài đặt đưa dữ liệu vào, tinh chỉnh đôi chút là có thể sử dụng.
  • Tính độc lập và dễ dàng tích hợp: hệ thống hoạt động độc lập và tương tác toàn bộ thông qua HTTP API, điều này giúp cho bạn dễ dàng tích hợp vào hệ thống có sẵn của mình mà không phải tốn nhiều công sức hoặc gặp rủi ro khi phải chỉnh sửa code.
  • Tinh chỉnh và mở rộng: PredictionIO có sẵn một template mẫu và hướng dẫn giúp cho bạn dễ dàng chỉnh sửa theo nhu cầu của mình.

Học máy là một công nghệ tiên tiến rất cần thiết trong tất cả các sản phẩm công nghệ ngày nay. Từ đơn giản là bạn muốn khuyến nghị những sản phẩm, nội dung tương tự có trong dịch vụ của bạn đến việc phân loại và dự đoán từ các nguồn dữ liệu cực kỳ phong phú trên internet. Hi vọng đọc xong bài viết, bạn sẽ có khái niệm tốt về máy học và sẽ áp dụng PredictionIO trong sản phẩm các sớm càng tốt để giúp dịch vụ của bạn tăng trưởng.

The post [Machine Learning] Giới thiệu PredictionIO appeared first on Fullstack Station.

]]>
https://fullstackstation.com/gioi-thieu-predictionio/feed/ 0