← Quay lại Portfolio
Auto EDA Report Generator

P4 · Python + Data Science · EDA

Auto EDA — One-Click Exploratory Data Analysis

Công cụ tự động tạo báo cáo EDA đầy đủ từ bất kỳ dataset nào chỉ với 1 dòng code. Kết hợp 3 thư viện mạnh nhất: Sweetviz (comparison), pandas_profiling (profiling), PandasGUI (interactive).

PythonSweetvizpandas_profilingPandasGUIEDA
3
EDA Libraries
Any
CSV / Excel / DB
1 click
Full Report

Features

Stack & Tools

Kiến trúc & Quy trình hoạt động

Ứng dụng được thiết kế như một thư viện Python tùy biến cao. Khi thực thi, chương trình sẽ tự động đọc dữ liệu đầu vào từ bất cứ nguồn nào, tiến hành phân tích phân phối thống kê của từng cột dữ liệu, sau đó sinh ra các thành phần trực quan hóa tương tác thông qua giao diện Streamlit/PyQt.

Data Source (CSV/SQL) ➔ Pandas Loader ➔ Data Quality Inspector ⬇ HTML Report Export ⬅ Statistical Calculations ⬅ Multiprocessing Profiling Engine

Thiết kế Cơ sở dữ liệu

Vì đây là công cụ phân tích dữ liệu tại chỗ (On-premise Analytical Tool), dữ liệu không được lưu vào cơ sở dữ liệu truyền thống mà được lưu giữ tạm thời dưới dạng các cấu trúc dữ liệu tối ưu trong bộ nhớ RAM của Python:

- Pandas DataFrame (Lưu trữ bảng dữ liệu có cấu trúc phục vụ biến đổi dữ liệu) - NumPy Arrays (Tăng tốc độ tính toán các ma trận tương quan và số liệu thống kê) - In-Memory SQLite tables (Dành riêng cho việc truy vấn dữ liệu SQL của thư viện PandasGUI)

Thách thức & Giải pháp kỹ thuật

  • Thách thức: Khi phân tích các tập dữ liệu có dung lượng lớn (>500MB), việc tính toán ma trận tương quan (Correlation Matrix) của hàng trăm thuộc tính gây tràn RAM và tốn nhiều thời gian xử lý.
  • Giải pháp: Triển khai giải thuật tự động lấy mẫu phân tầng (Stratified Sampling) và tắt tính năng vẽ biểu đồ tương quan đối với các biến phân loại có quá nhiều giá trị duy nhất (High Cardinality).

Thành quả đạt được

  • Rút ngắn thời gian lập báo cáo phân tích dữ liệu thăm dò ban đầu từ nhiều giờ xuống chỉ còn dưới 10 giây.
  • Giúp các chuyên viên dữ liệu nhanh chóng phát hiện các lỗi chất lượng dữ liệu như khuyết thiếu hay nhiễu trước khi xây dựng mô hình học máy.

Một số hình ảnh dự án (Screenshots)