Tiền xử lý dữ liệu trong lĩnh vực học máy (Phần 1)

7 4 0
Tiền xử lý dữ liệu trong lĩnh vực học máy (Phần 1)

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tiền xử lý dữ liệu trong lĩnh vực học máy (Phần 1) GIỚI THIỆU Tiền xử lý dữ liệu là một bước rất quan trọng trong việc giải quyết bất kỳ vấn đề nào trong lĩnh vực Học Máy Hầu hết các bộ dữ liệu được s[.]

Tiền xử lý liệu lĩnh vực học máy (Phần 1) GIỚI THIỆU Tiền xử lý liệu bước quan trọng việc giải vấn đề lĩnh vực Học Máy Hầu hết liệu sử dụng vấn đề liên quan đến Học Máy cần xử lý, làm biến đổi trước thuật tốn Học Máy huấn luyện liệu Các kỹ thuật tiền xử lý liệu phổ biến bao gồm: xử lý liệu bị khuyết (missing data), mã hóa biến nhóm (encoding categorical variables), chuẩn hóa liệu (standardizing data), co giãn liệu (scaling data),… Những kỹ thuật tương đối dễ hiểu có nhiều vấn đề phát sinh áp dụng vào liệu thực tế Bởi lẽ liệu ứng với toán thực tế khác tồn đối mặt với thách thức khác mặt liệu Trong viết này, tìm hiểu kỹ thuật tiền xử lý liệu cách áp dụng chúng toán thực tế DỮ LIỆU Trước vào vấn đề xử lý liệu, điều cần biết liệu Trong mục này, tìm hiểu liệu tốn Học Máy, kiểu liệu khái niệm liên quan đến liệu Đặc trưng liệu Chắc hẳn quen với khái niệm liệu, liệu gồm thành phần gì? Về bản, liệu tổ chức theo hai thành phần mẫu liệu (samples) đặc trưng liệu (features) Các bạn xem hình 2.1 để dễ hình dung Features Samples Fullname Age Heigh (cm) Weight (kg) Job Thu Trang 21 Low 47 Designer Phan Cuong 23 Medium 54 Developer Kieu Linh 25 Medium 58 Marketing Hình 2.1 Ví dụ liệu - Một mẫu liệu (hoặc điểm liệu) thành phần giúp bạn mô tả liệu theo đặc điểm định lượng Chúng thể hàng liệu bạn Nếu bạn xây dựng liệu hình dạng người, mẫu liệu số liệu chi tiết người Khi nói cần nhiều liệu để xây dựng mơ hình, điều có nghĩa cần nhiều mẫu liệu - Các đặc trưng đặc điểm định lượng mô tả mẫu liệu bạn Chúng số chữ, ví dụ Fullname đặc trưng dạng chữ, khiHeight đặc trưng dạng số Các kiểu đặc trưng Có nhiều cách gọi tên khác cho đặc trưng, phụ phuộc vào người nói ngữ cảnh Một số tên gọi khác đặc trưng là: - Thuộc tính (attribute): Các đặc trưng thuộc tính định lượng mẫu liệu quan sát - Trục (axis): Các đặc trưng trục vng góc khơng gian đặc trưng chúng độc lập tuyến tính - Cột (column): Các đặc trưng biểu diễn thành cột tập liệu bạn - Chiều (dimension): Tất đặc trưng liệu nhóm lại với gọi khơng gian toạn độ n chiều - Đầu vào (input): Các giá trị đặc trưng đầu vào tiến trình biến đổi liệu thuật tốn học máy - Biến độc lập (independent variable): Các đặc trưng gọi biến độc lập đại số tuyến tính Mặc dù có nhiều tên gọi khác nhau, đặc trưng thuộc hai loại sau: Đặc trưng liên tục: Người ta định nghĩa số phép đo khác giá trị đặc trưng liên tục Các giá trị đặc trưng liên tục thường tập tập số thực, kể đến số phép đo giá trị liên tục như: khoảng cách, thời gian, giá cả, nhiệt độ, … Đặc trưng dạng nhóm: Với đặc trưng dạng nhóm, hay gọi đặc trưng rời rạc, đặc trưng có tập giá trị cụ thể giới hạn Những giá trị có khơng có thứ tự Nếu chúng có thứ tự, ta gọi chúng đặc trưng nhóm có thứ tự (oridinal categorical features) Ví dụ cho loại đặc trưng đặc trưng Height bao gồm ba giá trị High-Medium-Low Ngược lại, chúng khơng có tính thứ tự, ta gọi đặc trưng đặc trưng định danh (nominal categorical features) Đặc trưng Job liệu ví dụ cho loại đặc trưng Cần ý rằng, liệu liên tục hầu hết biểu diễn dạng đặc trưng số Nhưng liệu dạng số khơng có nghĩa đặc trưng liên tục Trong thực tế có liệu thuộc loại liệu nhóm số (Ví dụ giá trị đặc trưng cấp học học sinh độ tuổi từ tới 18 tuổi 1, 3) TIỀN XỬ LÝ DỮ LIỆU Tinh chỉnh liệu Trong thực tế, liệu khơng thu thập trực tiếp người lý xoay quanh vấn đề chi phí, sở hạ tầng, người Do đó, liệu bị thiếu sai sót máy móc, thực tế khơng tồn tại thời điểm định thu thập liệu Qua nghiên cứu, người ta xác định liệu bị khuyết nguyên nhân sau đây: Khuyết ngẫn nhiên (Missing at Random – MAR): Khuyết ngẫn nhiên nghĩa xu hướng giá trị đặc trưng bị khuyết khơng liên quan đến tính chất đặc trưng liên quan đến vài đặc trưng khơng bị khuyết khác Nói cách khác, khuyết liệu đặc trưng có điều kiện phụ thuộc vào một vài đặc trưng khác Khuyết hoàn toàn ngẫu nhiên (Missing Completely at Random – MCAR): Khuyết hoàn toàn ngẫu nhiên nghĩa xu hướng bị khuyết đặc trưng hoàn toàn ngẫu nhiên Khơng có mối quan hệ đặc trưng bị khuyết với giá trị giả định ràng buộc đặc trưng khác Ở đây, tập liệu bị khuyết tập ngẫu nhiên liệu Khuyết không ngẫu nhiên (Missing not at Random – MNAR): Khuyết không ngẫu nhiên xảy điểm liệu bị khuyết phụ thuộc vào giá trị giả định (ví dụ người giàu có thường khơng tiết lộ mức thu nhập họ bạn khảo sát) giá trị đặc trưng khác (ví dụ bạn muốn khảo sát tuổi người, mà người gái thường bạn không nhận câu trả lời từ họ) Trong hai trường hợp đầu tiên, xóa điểm liệu bị thiếu dựa vào số lần xuất chúng chấp nhận Nhưng trường hợp thứ ba, việc xóa quan sát bị khuyết giá trị khiến cho mơ hình bị ảnh hưởng Do đó, cần lưu tâm trước xóa điểm liệu Ngoài ra, cần hiểu cách bỏ qua (không xử lý gì) điểm liệu bị khuyết cách khơng nên áp dụng, tai hại bạn không xử lý đắn phân tích liệu bạn Bởi lẽ liệu bị khuyết khiến bạn đưa kết luận sai lầm liệu bạn bạn nhìn vào giá trị sai tổng, trung bình phân phối liệu Bộ liệu Pima Indians Diabetes Bắt đầu từ phần này, qua sở lý thuyết kết hợp với việc xử lý liệu cụ thể liệu mẫu Tôi chọn liệu Pima Indians Diabetes chứa giá trị bị khuyết vài thuộc tính liệu Bộ liệu Pima Indians Diabetes liệu thu thập số liệu số y khoa người mắc không mắc bệnh tiểu đường vịng năm Pima Indian Đây xác vấn đề phân lớp nhị phân Số lượng liệu 768 mẫu với đặc trưng số y khoa thuộc tính nhãn lớp Số lượng quan sát cho lớp không đồng Chi tiết đặc trưng theo thứ tự từ trái qua phải liệu sau: 0: Số lần mang thai 1: Nồng độ glucose huyết tương kiểm tra dung nạp glocose đường uống 2: Huyết áp tâm trương (mm Hg) 3: Độ dày nếp gấp da tam đầu (mm) 4: 2-giờ insulin huyết (mu U/ml) 5: Chỉ số khối lượng thể (Cân nặng theo kg/bình phương chiều cao theo m) 6: Chức phả hệ tiểu đường 7: Tuổi 8: Biến phân lớp (có giá trị người mắc bệnh tiểu đường trường hợp ngược lại) Chúng ta quan sát số mẫu liệu trích từ liệu: import pandas as pd # Set display options pd.set_option('display.max_columns', 10) # read data from csv file dataset = pd.read_csv('pima-indians-diabetes.data.csv', header=0) # print first rows of data set print(dataset.head()) Chúng ta quan sát thêm mô tả sơ lược liệu qua thông số thống kê: # describe dataset with statistic parameters print(dataset.describe()) Theo kết quan sát được, liệu có đặc trưng có giá trị nhỏ 0, điều đồng nghĩa với việc đặc trưng bị khuyết liệu số mẫu liệu Tuy nhiên, đặc trưng NoPregnant đặc trưng số lần mang thai, người mang thai chưa mang thai Do giá trị đặc trưng biểu thị cho người chưa mang thai bị khuyết liệu Các đặc trưng lại chứa giá trị bị khuyết liệu Chúng ta thử đếm xem đặc trưng có điểm liệu bị khuyết: # count missing values for each columns containing missing data print((dataset[['PlasmaGlucose', 'DiastolicBlood', 'TSThickness', 'SerumInsulin', 'BodyMass']] == 0).sum()) Kết quả: PlasmaGlucose DiastolicBlood 35 TSThickness 227 SerumInsulin 374 BodyMass 11 Kết cho thấy đặc trưng TSThickness SerumInsulin có nhiều giá trị bị khuyết Bây có liệu phù hợp để sẵn sàng tìm hiểu phần Xóa liệu bị khuyết Khi đối mặt với trường hợp liệu thu thập có liệu bị khuyết, cách đơn giản mà nghĩ tới xóa chúng Điều có lợi ích thấy rõ giúp cho liệu giảm điểm liệu mập mờ điểm liệu nhiễu Tuy nhiên, cách có đem lại khuyết điểm khơng? Chúng ta phân tích chiến lược xóa liệu bị khuyết để làm rõ điều Listwise Phương pháp xóa liệu listwise xóa tất điểm liệu có một vài giá trị đặc trưng bị khuyết Phương pháp thường sử dụng bạn tiến hành nghiên cứu để so sánh với phương pháp xử lý khác Vì thực tế phương pháp đem lại nhiều bất lợi Bởi lẽ liệu khuyết hồn tồn ngẫu nhiên MCAR thường gặp, đó, phương pháp nhiều khả tạo tham số ước lượng bị lệch cho mơ hình Dưới đoạn code xóa liệu theo hướng listwise # create another dataset for listwise deletion lw = dataset # delete rows containing any missing value lw = lw.drop(lw[(lw['PlasmaGlucose'] > 0) | (lw['DiastolicBlood'] > 0) | (lw['TSThickness'] > 0) | (lw['SerumInsulin'] > 0) | (lw['BodyMass'] > 0)].index) # count missing values again print((lw[['PlasmaGlucose', 'DiastolicBlood', 'TSThickness', 'SerumInsulin', 'BodyMass']] == 0).sum()) Kết quả: PlasmaGlucose DiastolicBlood TSThickness SerumInsulin BodyMass Kết cho thấy khơng cịn ghi bị thiếu liệu liệu Pairwise Phương pháp xóa pairwise cố gắng tối thiểu hóa mát sử dụng phương pháp xóa listwise Để hiểu đơn giản phương pháp xóa pairwise, ta liên tưởng đến ma trận tương quan Mỗi giá trị tương quan thể mức độ liên kết hai biến (đặc trưng) Với cặp biến mà liệu không bị khuyết, hệ số tương quan đưa vào tính tốn Do đó, phương pháp xóa pairwise tối đa hóa liệu có sẵn phân tích sở Một mạnh phương pháp làm tăng sức mạnh tính hiệu phân tích mà bạn muốn thực Mặc dù phương pháp khuyến nghị dùng nhiều phương pháp xóa listwise, sử dụng giả thiết liệu bị khuyết thuộc dạng khuyết hoàn toàn ngẫu nhiên MCAR # convert missing data to nan value print(dataset.info()) dataset['PlasmaGlucose'].replace(0, np.nan, inplace=True) dataset['DiastolicBlood'].replace(0, np.nan, inplace=True) dataset['TSThickness'].replace(0, np.nan, inplace=True) dataset['SerumInsulin'].replace(0, np.nan, inplace=True) dataset['BodyMass'].replace(0, np.nan, inplace=True) # create another dataset for pairwise deletion pw = dataset # pairwise deletion pw.dropna() # Covarian matrix print(pw.cov()) Xóa bỏ đặc trưng Sẽ tốt giữ lại liệu thay xóa bỏ khỏi liệu thu thập Nhưng đơi bạn xóa bỏ vài đặc trưng liệu chúng bị khuyết nhiều 60% (hoặc ngưỡng mà bạn thấy phù hợp) tổng số quan sát đặc trưng khơng q quan trọng Tuy nhiên, tốt hết nên tìm cách xử lý liệu bị khuyết thay xóa đặc trưng chúng Trong ví dụ ta xét, có hai đặc trưng làTSThickness SerumInsulin có nhiều liệu thiếu Do đó, ta xóa bỏ hai đặc trưng Để làm điều Python, ta dùng câu lệnh sau: ### Dropping variables ### # create another dataset for dropping variables dv = dataset # drop TSThickness variable dv.drop('TSThickness', axis=1, inplace=True) # drop SerumInsulin variable dv.drop('SerumInsulin', axis=1, inplace=True) print(dv.info()) Điền vào liệu bị khuyết Như nói trên, nhà phân tích liệu thường tìm cách điền vào liệu bị khuyết thay xóa chúng khỏi liệu Đối với loại liệu khác tốn khác nhau, người ta có chiến lược xử lý khác Điền vào liệu bị khuyết dạng Time-Series Trong thực tế nay, khai thác liệu dạng chuỗi thời gian tương đối phát triển với nhiều ứng dụng thực tế dự đoán xu hướng thị trường, dự đoán xu hướng tăng, giảm chứng khốn, phân tích sóng âm thanh, phân tích suy nghĩ dựa vào tín hiệu thời gian thực mạng nơ-ron não người,… Do vậy, việc xử lý liệu dạng giới khoa học quan tâm Cùng với thời gian, người ta đề xuất số cách xử lý liệu bị khuyết dạng sau: Last Observation Carried Forward (LOCF) Next Observation Carried Backward (NOCB): Đây cách tiếp cận thống kê thông thường mà điền vào giá trị bị khuyết dựa giá trị tồn trước sau điểm liệu bị khuyết Hai phương pháp tiếp cận tạo sai số đến q trình phân tích liệu, tệ liệu có xu hướng tăng giảm rõ ràng Nội suy tuyến tính (Linear Interpolation): Phương pháp hoạt động tốt cho chuỗi thời gian với vài khuynh hướng (tăng giảm cách tuyến tính) không phù hợp loại liệu theo mùa (seasonal data – liệu có xu hướng tuần hồn theo chu kỳ) Kết hợp seasonal adjustment nội suy tuyến tính: Phương pháp hoạt động tốt cho liệu có xu hướng tăng, giảm liệu theo mùa Hình 3.1 So sánh phương pháp điền vào liệu time-series bị khuyết Mời bạn đọc tiếp chủ để tiền xử lý liệu phần tiếp thep (phần 2) References: https://statisticalhorizons.com/wp-content/uploads/MissingDataByML.pdf https://towardsdatascience.com/how-to-handle-missing-data-8646b18db0d4 https://machinelearningmastery.com/handle-missing-data-python https://arxiv.org/pdf/1710.01011.pdf https://www.bu.edu/sph/files/2014/05/Marina-tech-report.pdf Time-Series Lecture at University of San Francisco by Nathaniel Stevens ... cấp học học sinh độ tuổi từ tới 18 tuổi 1, 3) TIỀN XỬ LÝ DỮ LIỆU Tinh chỉnh liệu Trong thực tế, liệu khơng thu thập trực tiếp người lý xoay quanh vấn đề chi phí, sở hạ tầng, người Do đó, liệu. .. lầm liệu bạn bạn nhìn vào giá trị sai tổng, trung bình phân phối liệu Bộ liệu Pima Indians Diabetes Bắt đầu từ phần này, qua sở lý thuyết kết hợp với việc xử lý liệu cụ thể liệu mẫu Tôi chọn liệu. .. lưu tâm trước xóa điểm liệu Ngoài ra, cần hiểu cách bỏ qua (khơng xử lý gì) điểm liệu bị khuyết cách khơng nên áp dụng, tai hại bạn không xử lý đắn phân tích liệu bạn Bởi lẽ liệu bị khuyết khiến

Ngày đăng: 30/04/2022, 00:29

Hình ảnh liên quan

Hình 2.1. Ví dụ về một bộ dữ liệu - Tiền xử lý dữ liệu trong lĩnh vực học máy (Phần 1)

Hình 2.1..

Ví dụ về một bộ dữ liệu Xem tại trang 1 của tài liệu.
Hình 3.1 So sánh các phương pháp điền vào dữ liệu time-series bị khuyết Mời bạn đọc tiếp chủ để tiền xử lý dữ liệu trong phần tiếp thep (phần 2). - Tiền xử lý dữ liệu trong lĩnh vực học máy (Phần 1)

Hình 3.1.

So sánh các phương pháp điền vào dữ liệu time-series bị khuyết Mời bạn đọc tiếp chủ để tiền xử lý dữ liệu trong phần tiếp thep (phần 2) Xem tại trang 7 của tài liệu.

Mục lục

    Tiền xử lý dữ liệu trong lĩnh vực học máy (Phần 1)

Tài liệu cùng người dùng

Tài liệu liên quan