Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

LAB ASSIGNMENT 01: DATA PREPROCESSING

Môn học: Khai thác dữ liệu và ứng dụng


Giảng viên hướng dẫn:

  • TS. Lê Hoài Bắc
  • ThS. Lê Nhựt Nam
  • ThS. Nguyễn Ngọc Đức

1. Thông tin nhóm

  • Thành viên 1: Phạm Quang Thịnh - 23127485
  • Thành viên 2: Lê Quốc Thiện - 23127481

2. Mô tả các tập dữ liệu sử dụng

2.1. Digital Image Data (Xử lý ảnh kỹ thuật số)

  • Tên tập dữ liệu: Chest X-Ray Images (Pneumonia)
  • Mô tả: Tập dữ liệu gồm các ảnh X-quang ngực dùng để chẩn đoán bệnh viêm phổi (NORMAL vs PNEUMONIA). Ảnh ở định dạng JPEG, kích thước không đồng nhất và độ phân giải cao. (Nhóm chỉ sử dụng tập test để thực hiện quy trình tiền xử lý).
  • Nguồn gốc (Dataset đầy đủ): Kaggle - Chest X-Ray Images
  • Dữ liệu thực hiện trong bài làm: Do kích thước thư mục hình ảnh lớn (> 25MB), nhóm đã nén và tải lên Google Drive để đảm bảo yêu cầu về kích thước file nộp bài.
  • Link tải file images.zip (Google Drive): Tại đây
    • Lưu ý: Sau khi tải về, vui lòng giải nén file images.zip vào thư mục data/ theo cấu trúc: data/images/test/...data/images/demo/... để Notebook hoạt động chính xác.

2.2. Tabular Data (Xử lý dữ liệu dạng bảng)

  • Tên tập dữ liệu: Credit Card Transactions Fraud Detection
  • Mô tả: Tập dữ liệu mô phỏng các giao dịch thẻ tín dụng bao gồm thông tin khách hàng, người bán, giá trị giao dịch và tọa độ địa lý nhằm mục đích phát hiện hành vi gian lận (is_fraud).
  • Lưu ý quan trọng: Do tệp dữ liệu fraudTrain.csv có dung lượng rất lớn, nhóm không thể đính kèm trực tiếp trong bộ mã nguồn. Người dùng vui lòng truy cập link Drive: Tại đây , tải tệp fraudTrain.csv về và đặt vào thư mục data/tabular/ trước khi thực thi.**
  • Kỹ thuật thực hiện: Xử lý dữ liệu thiếu (Median, K-NN Imputer), Chuẩn hóa (Min-Max, Standard, Robust Scaling), Mã hóa (One-hot, Frequency, Target Encoding) và Lựa chọn đặc trưng (Correlation Matrix, Feature Importance, RFE).
  • Nguồn: Kaggle - Fraud Detection Dataset

2.3. Textual Data (Xử lý dữ liệu văn bản)

  • Tên tập dữ liệu: IMDB Dataset of 50K Movie Reviews
  • Mô tả: Chứa 50,000 đánh giá phim trên trang IMDB với nhãn cảm xúc (tích cực/tiêu cực). Dữ liệu thô chứa nhiều thẻ HTML và nhiễu.
  • Kỹ thuật thực hiện: Làm sạch HTML, Tokenization (Word, Sentence, Subword), Stopwords removal, Stemming/Lemmatization và Vectorization (BoW, TF-IDF, Word2Vec).
  • Nguồn: Kaggle - IMDB Dataset
  • Lưu ý quan trọng: Do tệp dữ liệu IMDB Dataset.csv có dung lượng rất lớn, nhóm không thể đính kèm trực tiếp trong bộ mã nguồn. Người dùng vui lòng truy cập link Drive: Tại đây , tải tệp IMDB Dataset.csv về và đặt vào thư mục data/text/ trước khi thực thi.**

2.4. Temporal Data (Dữ liệu chuỗi thời gian)

  • Tên tập dữ liệu: COVID-19 Time Series Data
  • Mô tả: Chứa số liệu thống kê hàng ngày về số ca nhiễm xác nhận, tử vong và hồi phục của đại dịch COVID-19 trên toàn cầu từ tháng 01/2020 đến tháng 10/2020.
  • Nguồn:
    Kaggle - COVID-19 Time Series Data

3. Hướng dẫn cài đặt và thực thi

Bước 1: Chuẩn bị môi trường

Yêu cầu máy tính đã cài đặt Python 3.11 trở lên.

Cài đặt các thư viện cần thiết:

pip install -r requirements.txt

Bước 2: Tổ chức thư mục

Đảm bảo cấu trúc thư mục như sau để tránh lỗi đường dẫn:

project-root/
│
├── data/
│   ├── images/          # Chứa ảnh X-quang
│   │   ├── demo/        # Chứa ảnh demo để thử nghiệm các kĩ thuật
│   │   └── test/        # Chứa 624 ảnh để thực hiện batch processing
│   │       ├── NORMAL/
│   │       └── PNEUMONIA/
│   │
│   ├── tabular/         # Đặt file fraudTrain.csv tải từ Drive vào đây
│   ├── text/            # Đặt file IMDB Dataset.csv tải từ Drive vào đây
│   └── temporal/        # Chứa file CSV COVID-19
│
├── docs/                # Chứa tài liệu báo cáo
│   └── Report.pdf
│
├── notebooks/
│   ├── 01_image_preprocessing.ipynb
│   ├── 02_tabular_preprocessing.ipynb
│   ├── 03_text_preprocessing.ipynb
│   └── 04_temporal_preprocessing.ipynb
│
├── requirements.txt
└── README.md

Bước 3: Chạy Notebook

  1. Mở ứng dụng Jupyter Notebook, JupyterLab hoặc VS Code.
  2. Thực thi các tệp notebook trong thư mục notebooks/ theo thứ tự hoặc tùy theo nhu cầu phân tích kỹ thuật:
  • 01_image_preprocessing.ipynb: Thực hiện quy trình xử lý ảnh y tế bao gồm: thay đổi kích thước (Resizing), chuẩn hóa Pixel (Normalization) và trích xuất đặc trưng hình thái (Edge Detection).
  • 02_tabular_preprocessing.ipynb: Thực hiện quy trình xử lý dữ liệu bảng bao gồm: xử lý dữ liệu thiếu (Imputation), chuẩn hóa thang đo (Robust Scaling), mã hóa biến phân loại (Target/Frequency Encoding) và lựa chọn đặc trưng tối ưu.
  • 03_text_preprocessing.ipynb: Thực hiện quy trình xử lý ngôn ngữ tự nhiên bao gồm: làm sạch văn bản, tách từ (Tokenization), chuẩn hóa từ (Lemmatization) và chuyển đổi văn bản thành vector (TF-IDF, Word2Vec).
  • 04_temporal_preprocessing.ipynb: Thực hiện quy trình xử lý dữ liệu thời gian bao gồm: định dạng chuỗi thời gian, xử lý khoảng trống dữ liệu (Interpolation), tái lấy mẫu (Resampling) và tạo đặc trưng trễ (Lag Features).

4. Tài nguyên bên ngoài

Link tập dữ liệu gốc (Kaggle)

Dưới đây là các nguồn dữ liệu được sử dụng trong bài tập này:


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages