Bỏ qua tới nội dung chính
Quay lại tin tức

Kiểm định độ chệch của mô hình bằng tập dữ liệu cân bằng với Mimesis

KDnuggets· Iván Palomares Carrascosa· 25/5/2026general

Tìm hiểu cách sử dụng thư viện Mimesis để tạo tập dữ liệu phản thực tế, cân bằng, hỗ trợ phân tích sai lệch tiềm ẩn trong các mô hình của bạn.

Kiểm toán sai lệch mô hình bằng tập dữ liệu cân bằng với Mimesis - KDnuggets Blog Bài viết hàng đầu Giới thiệu Chủ đề AI Lời khuyên nghề nghiệp Thị giác máy tính Kỹ thuật dữ liệu Khoa học dữ liệu Mô hình ngôn ngữ Học máy MLOps NLP Lập trình Python SQL Tập dữ liệu Sự kiện Tài nguyên Tóm tắt Khuyến nghị Bản tin công nghệ Quảng cáo Tham gia bản tin Kiểm toán sai lệch mô hình bằng tập dữ liệu cân bằng với Mimesis Tìm hiểu cách sử dụng thư viện Mimesis để tạo tập dữ liệu đối chứng cân bằng, giúp phân tích sai lệch tiềm ẩn trong các mô hình của bạn. Bởi Iván Palomares Carrascosa, Chuyên gia nội dung kỹ thuật của KDnuggets vào ngày 25/5/2026 trong Khoa học dữ liệu # Giới thiệu Dù là các bộ phân loại đã được thiết lập hay các mô hình lớn tiên tiến như các mô hình ngôn ngữ lớn (LLM), việc xây dựng các giải pháp học máy thường tiềm ẩn một rủi ro: các thuật toán có thể âm thầm tiếp nhận những định kiến vốn có trong tập dữ liệu huấn luyện lịch sử mà chúng được đào tạo. Nhưng trong một kịch bản có rủi ro cao hoặc một kịch bản mà dữ liệu nhạy cảm, làm thế nào chúng ta có thể kiểm toán xem một mô hình có bị sai lệch hay không mà không làm tổn hại đến thông tin thực tế? Bài viết thực hành này hướng dẫn bạn đào tạo một mô hình phân loại đơn giản để "phê duyệt khoản vay" trên dữ liệu bị sai lệch. Dựa trên điều này, chúng ta sẽ sử dụng Mimesis, một thư viện mã nguồn mở có thể giúp tạo ra một tập dữ liệu đối chứng hoàn toàn cân bằng. Bạn sẽ có thể kiểm tra những người dùng "giả" có nền tảng tài chính giống hệt nhau nhưng đặc điểm nhân khẩu học khác nhau, từ đó xác định xem mô hình có phân biệt đối xử với các nhóm nhất định hay không. # Hướng dẫn từng bước Bắt đầu bằng cách cài đặt thư viện Mimesis nếu bạn mới sử dụng hoặc đang làm việc trong môi trường sổ ghi chép đám mây như Colab: pip install mimesis Trước khi kiểm toán một mô hình, chúng ta thực sự cần có một mô hình! Trong ví dụ này, chúng ta sẽ tạo tổng hợp một tập dữ liệu gồm 1.000 khách hàng ngân hàng, chỉ với hai đặc điểm: giới tính và thu nhập. Các đặc điểm này lần lượt là phân loại và số. Việc tạo dữ liệu sẽ được thao túng một cách có chủ ý để thuộc tính giới tính ảnh hưởng không công bằng đến kết quả nhị phân: phê duyệt khoản vay. Cụ thể, để gán nhãn tập dữ liệu, chúng ta sẽ xem xét một kịch bản trong đó nam giới thường được phê duyệt, trong khi phụ nữ chỉ được phê duyệt khi họ có thu nhập đặc biệt cao. Quá trình tạo tập dữ liệu bị sai lệch rõ ràng này và đào tạo bộ phân loại cây quyết định trên đó được trình bày dưới đây: ```python import pandas as pd import numpy as np from sklearn.tree import DecisionTreeClassifier # 1. Mô phỏng dữ liệu lịch sử có sai lệch (1.000 trường hợp) np.random.seed(42) n_train = 1000 genders = np.random.choice(['Male', 'Female'], n_train) incomes = np.random.randint(30000, 120000, n_train) approvals = [] for gender, income in zip(genders, incomes): if gender == 'Male': # Trong lịch sử, nam giới được chấp thuận approvals.append(1) else: # Chỉ nữ giới có thu nhập cao mới được chấp thuận approvals.append(1 if income > 80000 else 0) train_df = pd.DataFrame({'Gender': genders, 'Income': incomes, 'Approved': approvals}) # Chuyển đổi các danh mục thành số cho mô hình học máy train_df['Gender_Code'] = train_df['Gender'].map({'Male': 1, 'Female': 0}) # 2. Huấn luyện bộ phân loại cây quyết định (Decision Tree classifier) model = DecisionTreeClassifier(max_depth=3) model.fit(train_df[['Gender_Code', 'Income']], train_df['Approved']) ``` Bước tiếp theo cho thấy Mimesis đang hoạt động. Chúng ta sẽ sử dụng thư viện này để tạo một tập hợp nhỏ các đối tượng thử nghiệm bằng cách sử dụng lớp Generic. Điều này sẽ được thực hiện bằng cách định nghĩa ba hồ sơ tài chính cơ bản chứa các mã định danh duy nhất toàn cầu (UUID) ngẫu nhiên và thu nhập trung bình dao động từ 40.000 đến 70.000. Lưu ý rằng các hồ sơ này chưa có thông tin giới tính: ```python from mimesis import Generic generic = Generic('en') # Tạo 3 hồ sơ tài chính cơ bản base_profiles = [] for _ in range(3): profile = { 'Applicant_ID': generic.cryptographic.uuid(), 'Income': generic.random.randint(40000, 70000) # Thu nhập trung bình } base_profiles.append(profile) ``` Ví dụ, ba hồ sơ mới được tạo có thể trông giống như sau: ``` [{'Applicant_ID': '1f1721e1-19af-4bd1-8488-6abf01404ef9', 'Income': 44815}, {'Applicant_ID': '5c862597-7f55-43f4-9d6e-ac9cc0b9083e', 'Income': 47436}, {'Applicant_ID': '3479d4cf-0d9b-4f06-9c43-1c3b7e787830', 'Income': 58194}] ``` Hãy hoàn thành việc xây dựng tập hợp các ví dụ phản thực tế của chúng ta, đây là cốt lõi của quy trình kiểm toán! Đối với mỗi trong ba hồ sơ cơ bản, chúng ta sẽ tạo hai trường hợp phản thực tế được nhân bản: một là nam và một là nữ. Đối với mỗi cặp khách hàng thử nghiệm, ID đơn đăng ký và thu nhập của họ sẽ hoàn toàn giống nhau, vì vậy sự khác biệt duy nhất sẽ là giới tính: bất kỳ sự khác biệt nào trong cách mô hình cây quyết định đã được huấn luyện của chúng ta xử lý họ chắc chắn sẽ là bằng chứng về sự thiên vị giới tính. ```python counterfactual_data = [] for profile in base_profiles: # Phiên bản A: Phản thực tế nam counterfactual_data.append({ 'Applicant_ID': profile['Applicant_ID'], 'Gender': 'Male', 'Gender_Code': 1, 'Income': profile['Income'] }) # Phiên bản B: Phản thực tế nữ counterfactual_data.append({ 'Applicant_ID': profile['Applicant_ID'], 'Gender': 'Female', 'Gender_Code': 0, 'Income': profile['Income'] }) audit_df = pd.DataFrame(counterfactual_data) ``` Đây là những gì ba cặp khách hàng có thể trông giống như: ``` 1f1721e1-19af-4bd1-8488-6abf01404ef9 Male 1 44815 1 1f1721e1-19af-4bd1-8488-6abf01404ef9 Female 0 44815 2 5c862597-7f55-43f4-9d6e-ac9cc0b9083e Male 1 47436 3 5c862597-7f55-43f4-9d6e-ac9cc0b9083e Female 0 47436 4 3479d4cf-0d9b-4f06-9c43-1c3b7e787830 Male 1 58194 5 3479d4cf-0d9b-4f06-9c43-1c3b7e787830 Female 0 58194 ``` Một điểm quan trọng cần nhấn mạnh ở đây: chúng ta vừa sử dụng Mimesis để xây dựng ngay lập tức các cặp đối tượng hoàn toàn phù hợp.

Nguồn tin: KDnuggets — Tác giả: Iván Palomares Carrascosa. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.