Cân bằng dữ liệu của bạn cho việc học máy với Amazon SageMaker Data Wrangler

Nút nguồn: 1600102

Trình sắp xếp dữ liệu Amazon SageMaker là một khả năng mới của Amazon SageMaker điều đó giúp các nhà khoa học dữ liệu và kỹ sư chuẩn bị dữ liệu cho các ứng dụng máy học (ML) nhanh hơn bằng cách sử dụng giao diện trực quan. Nó chứa hơn 300 phép biến đổi dữ liệu được tích hợp sẵn để bạn có thể nhanh chóng chuẩn hóa, chuyển đổi và kết hợp các tính năng mà không cần phải viết bất kỳ mã nào.

Hôm nay, chúng tôi vui mừng thông báo về các chuyển đổi mới cho phép bạn cân bằng các tập dữ liệu của mình một cách dễ dàng và hiệu quả để đào tạo mô hình ML. Chúng tôi chứng minh cách hoạt động của các phép biến đổi này trong bài đăng này.

Toán tử cân bằng mới

Các toán tử cân bằng mới được công bố được nhóm theo Số dư dữ liệu loại biến đổi trong THÊM BIỂU DIỄN cửa sổ.

Hiện tại, các toán tử biến đổi chỉ hỗ trợ các bài toán phân loại nhị phân. Trong các bài toán phân loại nhị phân, bộ phân loại có nhiệm vụ phân loại từng mẫu vào một trong hai lớp. Khi số lượng mẫu ở nhóm đa số (lớn hơn) lớn hơn đáng kể so với số lượng mẫu ở nhóm thiểu số (nhỏ hơn), thì tập dữ liệu được coi là không cân đối. Sự nghiêng lệch này là một thách thức đối với các thuật toán ML và bộ phân loại vì quá trình đào tạo có xu hướng thiên về tầng lớp đa số.

Đề án cân bằng, giúp tăng cường dữ liệu để cân bằng hơn trước khi đào tạo bộ phân loại, đã được đề xuất để giải quyết thách thức này. Các phương pháp cân bằng đơn giản nhất là lấy mẫu quá mức của lớp thiểu số bằng cách sao chép mẫu thiểu số hoặc lấy mẫu dưới lớp đa số bằng cách loại bỏ mẫu đa số. Ý tưởng thêm mẫu thiểu số tổng hợp vào dữ liệu dạng bảng lần đầu tiên được đề xuất trong Kỹ thuật lấy mẫu quá mức thiểu số tổng hợp (SMOTE), trong đó các mẫu thiểu số tổng hợp được tạo ra bằng cách nội suy các cặp điểm thiểu số ban đầu. SMOTE và các kế hoạch cân bằng khác đã được nghiên cứu rộng rãi theo kinh nghiệm và cho thấy để cải thiện hiệu suất dự đoán trong các tình huống khác nhau, theo ấn phẩm Để SMOTE, hoặc không để SMOTE.

Data Wrangler hiện hỗ trợ các toán tử cân bằng sau như một phần của Số dư dữ liệu biến đổi:

  • Bộ lấy mẫu ngẫu nhiên - Nhân bản ngẫu nhiên các mẫu thiểu số
  • Trình lấy mẫu dưới ngẫu nhiên - Loại bỏ ngẫu nhiên các mẫu đa số
  • NHỎ - Tạo mẫu thiểu số tổng hợp bằng cách nội suy các mẫu thiểu số thực

Bây giờ chúng ta hãy thảo luận chi tiết về các toán tử cân bằng khác nhau.

Lấy mẫu ngẫu nhiên

Lấy mẫu ngẫu nhiên bao gồm việc chọn các ví dụ ngẫu nhiên từ lớp thiểu số để thay thế và bổ sung dữ liệu huấn luyện bằng nhiều bản sao của ví dụ này. Do đó, có thể một phiên bản duy nhất có thể được chọn nhiều lần. Với ngẫu nhiên lấy mẫu kiểu chuyển đổi, Data Wrangler tự động làm mẫu cho lớp thiểu số cho bạn bằng cách sao chép các mẫu thiểu số trong tập dữ liệu của bạn.

Mẫu gạch dưới ngẫu nhiên

Lấy mẫu dưới ngẫu nhiên ngược lại với lấy mẫu ngẫu nhiên. Phương pháp này tìm cách chọn ngẫu nhiên và loại bỏ các mẫu từ lớp đa số, do đó làm giảm số lượng ví dụ ở lớp đa số trong dữ liệu được chuyển đổi. Các ngẫu nhiên ví dụ kiểu chuyển đổi cho phép Data Wrangler tự động lấy mẫu lớp đa số cho bạn bằng cách xóa phần lớn các mẫu trong tập dữ liệu của bạn.

NHỎ

Trong SMOTE, các mẫu thiểu số tổng hợp được thêm vào dữ liệu để đạt được tỷ lệ mong muốn giữa mẫu đa số và mẫu thiểu số. Các mẫu tổng hợp được tạo ra bằng cách nội suy các cặp điểm thiểu số ban đầu. Các NHỎ biến đổi hỗ trợ cân bằng các tập dữ liệu bao gồm các tính năng số và không phải số. Các đối tượng địa lý dạng số được nội suy theo giá trị trung bình có trọng số. Tuy nhiên, bạn không thể áp dụng phép nội suy trung bình có trọng số cho các đối tượng địa lý không phải là số — không thể lấy trung bình “dog”“cat” Ví dụ. Thay vào đó, các đối tượng địa lý không phải số được sao chép từ một trong hai mẫu thiểu số ban đầu theo trọng lượng trung bình.

Ví dụ, hãy xem xét hai mẫu A và B:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

Giả sử các mẫu được nội suy với các trọng số 0.3 cho mẫu A và 0.7 cho mẫu B. Do đó, các trường số được tính trung bình với các trọng số này để thu được lần lượt là 0.3 và 0.6. Trường tiếp theo được lấp đầy bởi “dog” với xác suất 0.3 và “cow” với xác suất 0.7. Tương tự, cái tiếp theo bằng “carnivore” với xác suất 0.3 và “herbivore” với xác suất 0.7. Việc sao chép ngẫu nhiên được thực hiện độc lập cho từng tính năng, vì vậy mẫu C dưới đây là một kết quả có thể xảy ra:

C = [0.3, 0.6, "dog", "herbivore"]

Ví dụ này cho thấy quá trình nội suy có thể dẫn đến các mẫu tổng hợp không thực tế như thế nào, chẳng hạn như một con chó ăn cỏ. Điều này phổ biến hơn với các đối tượng phân loại nhưng cũng có thể xảy ra với các đối tượng số. Mặc dù một số mẫu tổng hợp có thể không thực tế, SMOTE vẫn có thể cải thiện hiệu suất phân loại.

Để tạo ra các mẫu thực tế hơn, SMOTE chỉ nội suy các cặp gần nhau trong không gian đối tượng. Về mặt kỹ thuật, mỗi mẫu chỉ được nội suy với k lân cận gần nhất của nó, trong đó giá trị chung của k là 5. Trong triển khai SMOTE của chúng tôi, chỉ các tính năng số được sử dụng để tính toán khoảng cách giữa các điểm (khoảng cách được sử dụng để xác định vùng lân cận của mỗi mẫu). Thông thường để chuẩn hóa các tính năng số trước khi tính toán khoảng cách. Lưu ý rằng các tính năng số được chuẩn hóa chỉ nhằm mục đích tính khoảng cách; các tính năng nội suy kết quả không được chuẩn hóa.

Bây giờ hãy cân bằng Tập dữ liệu dành cho người lớn (còn được gọi là tập dữ liệu Thu nhập điều tra dân số) bằng cách sử dụng biến đổi SMOTE tích hợp do Data Wrangler cung cấp. Tập dữ liệu đa biến này bao gồm sáu tính năng số và tám tính năng chuỗi. Mục tiêu của tập dữ liệu là một nhiệm vụ phân loại nhị phân để dự đoán liệu thu nhập của một cá nhân có vượt quá 50,000 đô la mỗi năm hay không dựa trên dữ liệu điều tra dân số.

Bạn cũng có thể thấy sự phân bố của các lớp một cách trực quan bằng cách tạo một biểu đồ bằng cách sử dụng loại phân tích biểu đồ trong Data Wrangler. Phân phối mục tiêu không cân đối và tỷ lệ các bản ghi với >50K đến <=50K là khoảng 1: 4.

Chúng tôi có thể cân bằng dữ liệu này bằng cách sử dụng NHỎ toán tử được tìm thấy dưới Dữ liệu số dư chuyển đổi trong Data Wrangler với các bước sau:

  1. Chọn income làm cột mục tiêu.

Chúng tôi muốn sự phân bổ của cột này cân bằng hơn.

  1. Đặt tỷ lệ mong muốn thành 0.66.

Do đó, tỷ lệ giữa số lượng mẫu thiểu số và đa số là 2: 3 (thay vì tỷ lệ thô là 1: 4).

  1. Chọn NHỎ dưới dạng biến đổi để sử dụng.
  2. Để lại các giá trị mặc định cho Số hàng xóm bình thường hóa và có chuẩn hóa hay không.
  3. Chọn Xem trước để xem trước chuyển đổi được áp dụng và chọn Thêm để thêm biến đổi vào luồng dữ liệu của bạn.

Bây giờ chúng ta có thể tạo một biểu đồ mới tương tự như những gì chúng ta đã làm trước đây để xem sự phân bố được thiết kế lại của các lớp. Hình sau cho thấy biểu đồ của income cột sau khi cân bằng tập dữ liệu. Sự phân bố của các mẫu bây giờ là 3: 2, như đã định.

Giờ đây, chúng tôi có thể xuất dữ liệu cân bằng mới này và đào tạo một bộ phân loại trên đó, điều này có thể mang lại chất lượng dự đoán vượt trội.

Kết luận

Trong bài đăng này, chúng tôi đã trình bày cách cân bằng dữ liệu phân loại nhị phân không cân bằng bằng cách sử dụng Data Wrangler. Data Wrangler cung cấp ba toán tử cân bằng: lấy mẫu dưới ngẫu nhiên, lấy mẫu quá ngẫu nhiên và SMOTE để cân bằng lại dữ liệu trong tập dữ liệu không cân bằng của bạn. Tất cả ba phương pháp được cung cấp bởi Data Wrangler đều hỗ trợ dữ liệu đa phương thức bao gồm các tính năng số và không phải số.

Trong các bước tiếp theo, chúng tôi khuyên bạn nên sao chép ví dụ trong bài đăng này trong luồng dữ liệu Data Wrangler của bạn để xem những gì chúng tôi đã thảo luận trong thực tế. Nếu bạn mới sử dụng Data Wrangler hoặc Studio SageMaker, tham khảo Bắt đầu với Data Wrangler. Nếu bạn có bất kỳ câu hỏi nào liên quan đến bài viết này, vui lòng thêm nó trong phần bình luận.


Về các tác giả

Yotam Elor là Nhà khoa học ứng dụng cao cấp tại Amazon SageMaker. Mối quan tâm nghiên cứu của anh ấy là học máy, đặc biệt là đối với dữ liệu dạng bảng.

Arunprasath Shankar là Kiến trúc sư chuyên về giải pháp trí tuệ nhân tạo và máy học (AI / ML) của AWS, giúp khách hàng toàn cầu mở rộng quy mô các giải pháp AI của họ một cách hiệu quả và hiệu quả trên đám mây. Khi rảnh rỗi, Arun thích xem phim khoa học viễn tưởng và nghe nhạc cổ điển.

Nguồn: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

Dấu thời gian:

Thêm từ Blog Học máy AWS