
Bài giảng Lập trình Python cho máy học: Bài 4 - TS. Nguyễn Vinh Tiệp
lượt xem 2
download

Bài giảng "Lập trình Python cho máy học: Bài 4 - Data validation & EDA application" giới thiệu quy trình kiểm tra dữ liệu (data validation) và phân tích khám phá dữ liệu (exploratory data analysis - EDA) trong bối cảnh lập trình Python cho máy học. Nội dung bao gồm phát hiện và xử lý dữ liệu thiếu, dữ liệu ngoại lai, định dạng sai; áp dụng các kỹ thuật thống kê mô tả và trực quan hóa dữ liệu để hiểu rõ cấu trúc và mối quan hệ trong tập dữ liệu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình Python cho máy học: Bài 4 - TS. Nguyễn Vinh Tiệp
- ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CS116 – LẬP TRÌNH PYTHON CHO MÁY HỌC Data validation & EDA application TS. Nguyễn Vinh Tiệp
- NỘI DUNG ● Outlier detection ● EDA và ứng dụng EDA vào dữ liệu ● Automic EDA tools 2
- ML Pipeline https://machinelearningcoban.com/tabml_book/ch_intro/pipeline.html 3
- Data Validation 1. Phát hiện các ngoại lệ 2. Xử lý các ngoại lệ (ngoại bỏ, thay thế giá trị) 4
- Ngoại lệ: Các kiểu ngoại lệ khác nhau Lỗi thử nghiệm Lỗi xử lý dữ Ngoại lệ tự Ngoại lệ có Lỗi nhập dữ liệu Lỗi đo lường liệu nhiên chủ đích Lỗi lấy mẫu Lỗi của con người xảy ra Trích xuất dữ liệu Điều này thường thấy Loại ngoại lệ khác Lỗi không phải do trong các đo lường tự trong quá trình thu thập, ghi từ nhiều nguồn con người tạo ra hoặc nhập dữ liệu (một số lỗi thao tác báo cáo liên quan hoặc trích xuất) đến dữ liệu nhạy cảm. Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 5
- Làm sạch dữ liệu - Ngoại lệ ❏ Có hai loại ngoại lệ: ❏ Các ngoại lệ đơn biến: các điểm dữ liệu có giá trị nằm ngoài phạm vi giá trị dự kiến ❏ Các ngoại lệ đa biến: có các ngoại lệ phụ thuộc vào mối tương quan giữa hai biến Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 6
- Làm sạch dữ liệu: Hướng tiếp cận đơn giản ❏ Một số bước có thể được thực hiện để làm sạch dữ liệu: ❏ Xóa các giá trị bị thiếu, trùng lặp, ngoại lệ và các hàng/cột không cần thiết ❏ Lập lại chỉ mục và định dạng lại dữ liệu # Drop rows with missing value # Re indexing data.dropna(inplace = True) data.set_index(‘column', inplace = True) data.reset_index(drop = True) # Remove duplicates data.drop_duplicates() # Re-formatting data[‘column'] = data[‘column'].astype(int) # Drop unnecessary columns data.drop(columns = [list cols], axis = 1) # Correcting inconsistent data data[‘column'].replace(old_value, new_value, inplace = # Drop/Filter unnecessary rows True) data.drop([0, 1], inplace = True) data[data[‘column_filter'] == ‘abc'] Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 7
- Dự đoán ngoại lệ như thế nào ❏ Phương pháp thống kê: ❏ Phương pháp tính độ lệch chuẩn và trung bình: giới hạn để xác định các giá trị ngoại lệ (Gaussian hoặc Gaussian-like) ❏ Phương pháp Interquartile Range (IQR): một thống kê tốt để tóm tắt mẫu dữ liệu phân phối không phải Gaussian outliers outliers https://en.wikipedia.org/wiki/68%E2%80%9395%E2%80%9399.7_rule https://github.com/NaysanSaran/stats101/blob/master/ Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 8
- Tự động phát hiện ngoại lệ ❏ Tự động phát hiện ngoại lệ: ❏ Yếu tố ngoại lệ cục bộ (Local Outlier Factor): Xác định các ngoại lệ là xác định vị trí của các mẫu ở xa mẫu khác ❏ Rừng cách ly (Isolation Forest) : Thuật toán phát hiện bất thường dựa trên cây ❏ Xác định hiệp phương sai tối thiểu (EllipticEnvelope): Tập dữ liệu theo phân phối chuẩn. ❏ One-class SVM : Phát hiện ngoại lệ không được giám sát 9
- Yếu tố ngoại lệ cục bộ - Local Outlier Factor (LOF) • Thuật toán yếu tố ngoại lệ cục bộ có thể được chia thành bốn phần Step 1 Step 2 Step 3 Step 4 K-Distance and K- Local Outlier Factor Neighbors Reachability Distance Local Reachability Density Calculation Nếu k nhỏ thì thuật toán trở Biểu thị khoảng cách lớn Đề cập đến việc chúng ta Mật độ khả năng tiếp cận nên nhạy cảm với nhiễu và nhất của hai điểm và cần đi bao xa từ điểm hiện cục bộ được tìm thấy được nếu k lớn, nó có thể không khoảng cách-k của điểm tại để đến điểm hoặc tập so sánh với mật độ khả nhận ra được các dị thường thứ hai hợp điểm tiếp theo năng tiếp cận cục bộ của k cục bộ. hàng xóm gần nhất 1
- LOF: Làm thế nào để phát hiện các ngoại lệ? Mật độ cao hơn hàng xóm Mật độ tương tự (Inlier) như hàng xóm 1 xóm(Outlier)
- Ví dụ ❏ Example ❏ LOF with sklearn
- Cleanlab: Công cụ AI tập trung vào dữ liệu tiêu chuẩn ❏ github
- Cleanlab: Tìm mẫu OOD (Out-Of-Distribution) ❏ Source code
- Cleanlab: Tìm vấn đề về nhãn ❏ Phát hiện các vấn đề về dữ liệu: ngoại lệ, trùng lặp, lỗi nhãn,..
- Data preparation • Data fusion • Data cleaning • Data augmentation • Data visualization • Data splitting • ... 1 6
- Làm sạch dữ liệu – thiếu giá trị ❏ Bộ dữ liệu chứa các giá trị bị thiếu, thường được mã hóa dưới dạng trống, NaN,.. ❏ Phương pháp đơn giản: ❏ Bỏ các cột có tỷ lệ thiếu giá trị cao (chẳng hạn như 80%) ❏ Tự động điền giá trị còn thiếu ❏ Phương pháp khác Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 1 7
- EDA • Phân tích các đặc trưng chính của dữ liệu • Mô tả bằng số liệu, biểu đồ thống kê hoặc trực quan hóa dữ liệu 1 8
- EDA: Ví dụ về dữ liệu ❏ Dataset link Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 1 9
- Data loading Tải dữ liệu và in ra màn hình các dữ liệu đầu tiên 2 0

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình Python: Bài 2 - Trương Xuân Nam
26 p |
79 |
27
-
Bài giảng Lập trình Python: Bài 3 - Trương Xuân Nam
18 p |
81 |
26
-
Bài giảng Lập trình Python: Bài 1 - Trương Xuân Nam
42 p |
146 |
24
-
Bài giảng Lập trình Python: Bài 4 - Trương Xuân Nam
24 p |
81 |
24
-
Bài giảng Lập trình Python: Bài 5 - Trương Xuân Nam
28 p |
62 |
23
-
Bài giảng Lập trình Python: Bài 9 - Trương Xuân Nam
30 p |
67 |
21
-
Bài giảng Lập trình Python cho máy học: Bài mở đầu - TS. Nguyễn Vinh Tiệp
45 p |
2 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 3 - TS. Nguyễn Vinh Tiệp
18 p |
2 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 1 - TS. Nguyễn Vinh Tiệp
40 p |
5 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 7 - TS. Nguyễn Vinh Tiệp
42 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 10 - TS. Nguyễn Vinh Tiệp
39 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 5 - TS. Nguyễn Vinh Tiệp
71 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 8 - TS. Nguyễn Vinh Tiệp
32 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 11 - TS. Nguyễn Vinh Tiệp
60 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 2 - TS. Nguyễn Vinh Tiệp
38 p |
2 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 6 - TS. Nguyễn Vinh Tiệp
39 p |
2 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 9 - TS. Nguyễn Vinh Tiệp
57 p |
1 |
1


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
