JOURNAL OF SCIENCE OF HNUE DOI: 10.18173/2354-1075.2015-0056<br />
Educational Sci., 2015, Vol. 60, No. 7A, pp. 94-102<br />
This paper is available online at http://stdb.hnue.edu.vn<br />
<br />
<br />
<br />
<br />
NÂNG CAO HIỆU QUẢ PHÂN LỚP DỮ LIỆU BẰNG CÁCH<br />
KẾT HỢP SINH THÊM PHẦN TỬ VỚI GIẢM SỐ CHIỀU THUỘC TÍNH<br />
DỰA TRÊN BÌNH PHƯƠNG TỐI THIỂU TỪNG PHẦN<br />
<br />
Nguyễn Thái Bình, Nguyễn Thị Anh Nga, Nguyễn Thị Hồng và Đặng Xuân Thọ<br />
Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội<br />
<br />
Tóm tắt. Ngày nay con người phải đối mặt với lượng thông tin khổng lồ đến từ rất nhiều<br />
nguồn khác nhau nhưng những thông tin hữu ích, dữ liệu đáng tin cậy lại chiếm tỉ lệ rất<br />
nhỏ. Trong thực tế, cụ thể như trong Y - sinh học xuất hiện ngày càng nhiều bộ dữ liệu có<br />
số thuộc tính lớn, thậm chí lên đến hàng nghìn thuộc tính. Tuy nhiên, trong những thuộc<br />
tính này lại có rất nhiều thuộc tính dư thừa không có ích trong việc dự đoán lớp thiểu số.<br />
Việc phân lớp càng trở nên khó khăn hơn khi gặp phải những bộ dữ liệu có tỉ lệ mất cân<br />
bằng cao, nghĩa là có sự chênh lệch về số phần tử giữa các lớp. Từ thực tế đó, chúng tôi<br />
xin đề xuất một phương pháp mới, phương pháp kết hợp giảm số chiều thuộc tính bình<br />
phương tối thiểu và sinh thêm phần tử nhân tạo SMOTE. Để đánh giá hiệu quả của phương<br />
pháp mới này, chúng tôi đã thực nghiệm dựa trên những bộ dữ liệu chuẩn từ nguồn UCI đó<br />
là: leukemia, breast-p, coil, colon-cancer. Qua những kết quả thu được chúng tôi thấy rằng<br />
phương pháp mới giúp nâng cao hiệu quả phân lớp dữ liệu vừa có số thuộc tính lớn vừa có<br />
tỉ lệ mất cân bằng cao.<br />
Từ khóa: Phân lớp; dữ liệu mất cân bằng; dữ liệu có số chiều cao; Bình phương tối thiểu<br />
từng phần; sinh thêm phần tử nhân tạo.<br />
<br />
1. Mở đầu<br />
Trong thực tế, cụ thể như trong Y - sinh học xuất hiện ngày càng nhiều bộ dữ liệu có số<br />
thuộc tính lớn, thậm chí lên đến hàng nghìn thuộc tính. Tuy nhiên, trong những thuộc tính này lại<br />
có rất nhiều thuộc tính dư thừa không có ích trong việc dự đoán lớp thiểu số. Vì vậy, trong thời<br />
gian qua đã có rất nhiều hướng tiếp cận khác nhau nhằm làm giảm số thuộc tính dư thừa nhưng<br />
không làm mất mát thông tin mà vẫn đảm bảo độ tin cậy cao đó là lựa chọn thuộc tính và trích<br />
chọn thuộc tính. Vì thế đã có nhiều thuật toán được đưa ra để giải quyết bài toán giảm số chiều<br />
dữ liệu thuộc nhóm lựa chọn thuộc tính như: thuật toán RELIEF, FOCUS, LVF [3]. Tuy nhiên với<br />
những tập dữ liệu có số chiều rất cao hoặc các thuộc tính có mối tương quan cao với nhau thì các<br />
phương pháp theo hướng lựa chọn thuộc tính tỏ ra kém hiệu quả, bởi khi bỏ bớt thuộc tính sẽ dẫn<br />
đến mất mát thông tin và làm thay đổi bản chất của dữ lệu, các thuộc tính trong bảng không còn<br />
giữ lại được mối tương quan với nhau, do đó thường cho kết quả có độ tin cậy thấp.<br />
<br />
Ngày nhận bài: 15/7/2015 Ngày nhận đăng: 01/11/2015<br />
Liên hệ: Nguyễn Thái Bình, e-mail: nguyenthaibinh020906@gmail.com<br />
<br />
<br />
<br />
94<br />
Nâng cao hiệu quả phân lớp dữ liệu bằng cách kết hợp sinh thêm phần tử với giảm số chiều...<br />
<br />
<br />
Trích chọn thuộc tính là một hướng nghiên cứu mới trong các phương pháp giảm số chiều<br />
dữ liệu. Ý tưởng chính của nhóm phương pháp này là tạo ra một tập thuộc tính mới đại diện cho<br />
tập thuộc tính cũ. Tập thuộc tính mới này mang đầy đủ đặc tính của thuộc tính cũ nhưng nhỏ hơn<br />
rất nhiều lần số lượng thuộc tính cũ. Việc giảm chiều này hạn chế tối đa mất mát thông tin và đặc<br />
biệt là không làm thay đổi bản chất của dữ liệu ban đầu.<br />
Đại diện cho hướng tiếp cận này là nhóm phương pháp: phân tích thành phần chính<br />
PCA [10], phân tích tương quan kinh điển CCA [10] và phương pháp bình phương tối thiểu từng<br />
phần PLS [10]. Đặc biệt là phương pháp PLS việc giảm số chiều (thuộc tính) của tập dữ liệu dựa<br />
vào cả tập thuộc tính X và tập nhãn Y. Phương pháp PLS sử dụng tập nhãn để xây dựng từng trục<br />
tọa độ trong không gian dữ liệu mới. Để tìm hệ trục tọa độ trong không gian mới, PLS sử dụng<br />
cách giải bài toán cực đại hiệp phương sai, nhờ đó phạm vi áp dụng rộng hơn và độ tin cậy của mô<br />
hình cũng cao hơn.<br />
Tuy nhiên trong thực tế cho thấy, không chỉ xuất hiện những bộ dữ liệu có số thuộc tính lớn<br />
mà còn xuất hiện nhiều bộ dữ liệu có tỉ lệ mất cân bằng cao, nghĩa là có sự chênh lệch về số phần<br />
tử giữa các lớp. Vấn đề không cân bằng lớp thường được quy về bài toán phân lớp nhị phân mà<br />
ở đó một lớp mà người ta quan tâm chiếm tỉ lệ rất nhỏ so với lớp còn lại. Trong nhiều ứng dụng<br />
thực tế, chẳng hạn như phát hiện các giao dịch gian lận, phát hiện xâm nhập mạng trái phép, phát<br />
hiện tràn dầu từ hình ảnh Radar vệ tinh, sự rủi ro trong quản lí, phân loại văn bản hay trong chẩn<br />
đoán y học [1, 2]. Việc mất cân bằng lớp ảnh hưởng rất lớn đến hiệu quả của các mô hình phân<br />
lớp. Chẳng hạn trong cơ sở dữ liệu y học, số người mắc bệnh ung thư chiếm tỉ lệ rất ít trên tổng<br />
số người bình thường. Việc chuẩn đoán sai người bị bệnh thành không bị bệnh ảnh hưởng nghiêm<br />
trọng đến sức khỏe và tính mạng con người.<br />
Vì vậy, trong thời gian qua đã có những nghiên cứu về khai phá dữ liệu mất cân bằng với<br />
các hướng tiếp cận khác nhau nhưng phương pháp sinh thêm phần tử là một trong những hướng<br />
đơn giản mà hiệu quả, chẳng hạn như: SMOTE [2], ADD-BODER-SMOTE [6].<br />
Thuật toán SMOTE giúp cải thiện mật độ của lớp thiểu số, đồng thời không làm thay đổi<br />
lớp đa số. Trong thuật toán SMOTE mỗi dữ liệu được tạo ra bằng cách thực hiện tính khoảng cách<br />
của mỗi phần tử lớp thiểu số đến các phần tử còn lại trong bộ dữ liệu. Sau đó đưa ra k hàng xóm<br />
gần nó nhất và chọn ngẫu nhiên một giá trị bất kì trong k hàng xóm đó để sinh thêm các phần tử<br />
nhân tạo.<br />
Tuy nhiên, vấn đề càng trở nên khó khăn hơn khi xuất hiện những bộ dữ liệu vừa có tỉ lệ<br />
mất cân bằng cao vừa có số thuộc tính rất lớn. Do đó, để giải quyết cùng lúc hai vấn đề trên, chúng<br />
tôi đã đề xuất một phương pháp mới, phương pháp kết hợp sinh thêm phần tử với giảm số chiều<br />
dựa trên bình phương tối thiểu từng phần (PLS_SMOTE) trong lớp thiểu số.<br />
<br />
2. Nội dung nghiên cứu<br />
2.1. Phương pháp bình phương tối thiểu từng phần (PLS)<br />
Phương pháp bình phương tối thiểu từng phần (Partial Least Square) do Herman Wold đưa<br />
ra vào năm 1966 [9]. PLS là một nhóm các kĩ thuật nhằm xây dựng mô hình quan hệ giữa hai bộ<br />
biến đa chiều (là tập dữ liệu học và tập nhãn), tức là xây dựng hàm hồi quy giữa biến phụ thuộc và<br />
biến độc lập trong bài toán hồi quy hoặc xây dựng một hàm rời rạc nhằm xác định lớp giá trị nhận<br />
được của biến.<br />
<br />
<br />
95<br />
Nguyễn Thái Bình<br />
<br />
<br />
PLS là một phương pháp học có giám sát như CCA, có nghĩa là khi thực hiện giảm số chiều<br />
dữ liệu, PLS dựa vào cả thông tin của tập dữ liệu học và thông tin trong tập dữ liệu nhãn. Điều này<br />
đảm bảo tính “định hướng” theo những thông tin có sẵn thu được từ kinh nghiệm thực tiễn hoặc<br />
thông qua các thí nghiệm.<br />
Ý tưởng của PLS là biểu diễn biến được giải thích Y và biến giải thích X thông qua giá trị<br />
biến trung gian (biến ẩn). Biến ẩn được xác định bằng cách tổ hợp tuyến tính các biến ban đầu có<br />
mối quan hệ với nhau. Nhờ vậy, số lượng biến giảm đi rất nhiều so với số lượng biến ban đầu. Điều<br />
này loại bỏ được sai sót chủ quan khi lựa chọn biến tham gia vào bài toán. Việc lựa chọn số lượng<br />
biến ẩn phụ thuộc vào mục đích của người sử dụng về số chiều thể hiện của đối tượng cần quan<br />
sát. Vì vậy, PLS chủ yếu được sử dụng nhằm giảm số chiều dữ liệu cho tập biến.<br />
PLS xây dựng không gian mới có số chiều nhỏ hơn số chiều của không gian ban đầu rất<br />
nhiều lần, hệ tọa độ không gian là hệ trực chuẩn (các trục tọa độ trực giao nhau). PLS tìm các<br />
vector điểm của không gian mới bằng cách giải bài toán cực đại hiệp phương sai giữa các bộ biến.<br />
Nghĩa là bài toán trở về giải bài toán trị riêng, từ đó xác định vector riêng (được trình bày cụ thể<br />
trong giải thuật NIPALS). Số lượng vector riêng chính là số chiều cần sử dụng, được lựa chọn theo<br />
độ lớn của trị riêng đó.<br />
Hàm thực hiện hồi quy mô hình dữ liệu tổng quát, tùy theo cách lựa chọn phương thức, có<br />
thể biến đổi thành hồi quy PLS, PCA, hay CPPLS (bình phương tối thiểu từng phần chính tắc)<br />
tương ứng với các gói hồi quy khác nhau như gói PLS, PCR, CPPLS.<br />
<br />
2.2. SMOTE<br />
Trong thực tế ngày càng xuất hiện nhiều bộ dữ liệu có tỉ lệ mất cân bằng cao, nghĩa là có<br />
sự chênh lệch về số phần tử giữa các lớp. Vấn đề không cân bằng lớp thường được quy về bài toán<br />
phân lớp nhị phân mà ở đó một lớp mà người ta quan tâm chiếm tỉ lệ rất nhỏ so với lớp còn lại.<br />
Trong nhiều ứng dụng thực tế, chẳng hạn như tỉ lệ mất cân bằng trong phát hiện các giao dịch gian<br />
lận là 100:1 hay 100 000:1 (Provost & Fawcett, 2001), các bộ dữ liệu mất cân bằng trong các lĩnh<br />
vực như cuộc gọi điện thoại lừa đảo (Fawcett & Provost, 1996), quản lí viễn thông (Ezawa, Singh,<br />
& Norton, 1996), phân loại văn bản (Lewis & Catlett, 1994; Dumais, Platt, Heckerman, & Sahami,<br />
năm 1998; Mladeni’c & Grobelnik, 1999; Lewis & Ringuette, 1994; Cohen, 1995) và phát hiện<br />
của sự cố tràn dầu trong hình ảnh vệ tinh (Kubat, Holte, & Matwin, 1998) [1, 2].<br />
Việc mất cân bằng lớp ảnh hưởng rất lớn đến hiệu quả của các mô hình phân lớp. Vì vậy<br />
trong thời gian qua đã có một số hướng tiếp cận khác nhau để giải quyết vấn đề mất cân bằng lớp.<br />
Một trong số đó là hướng tiếp cận dựa trên cấp độ dữ liệu. Thuật toán SMOTE giúp cải thiện mật<br />
độ của lớp thiểu số, đồng thời không làm thay đổi lớp đa số.<br />
SMOTE là một phương pháp lấy mẫu trong đó lớp thiểu số được lấy mẫu bằng cách lấy mỗi<br />
phần tử ở lớp thiểu số và chọn k láng giềng gần nó nhất trong lớp thiểu số. Tùy thuộc vào số lượng<br />
lấy mẫu được yêu cầu, hàng xóm từ k láng giềng gần nhất được chọn ngẫu nhiên. Các mẫu nhân<br />
tạo được tạo ra bằng cách: Lấy sự khác biệt giữa các vector đặc trưng (mẫu) được xem xét và hàng<br />
xóm gần nhất của nó [2]. Nhân sự khác biệt này với một số ngẫu nhiên giữa 0 và 1, và thêm vào nó<br />
các vector đặc trưng được xem xét. Điều này làm chọn được một điểm ngẫu nhiên dọc theo đoạn<br />
giữa hai thuộc tính cụ thể. Phương pháp này quyết định các phần tử thiểu số để lớp thiểu số trở<br />
thành lớp phổ biến hơn.<br />
<br />
<br />
<br />
96<br />
Nâng cao hiệu quả phân lớp dữ liệu bằng cách kết hợp sinh thêm phần tử với giảm số chiều...<br />
<br />
<br />
2.3. Phương pháp kết hợp PLS và SMOTE<br />
Thuật toán sinh thêm phần tử lớp thiểu số, mà trong đó thuật toán SMOTE là một trong<br />
những thuật toán tiêu biểu làm tăng tình hiệu quả của việc phân lớp nhờ tăng lượng phần tử nhân<br />
tạo của lớp thiểu số. Nhưng cũng vì thế mà tăng dung lượng của bộ dữ liệu lên theo lượng phần<br />
tử nhân tạo thêm vào. Mặt khác hiện nay trong các ứng dụng thực tế thì các bộ dữ liệu thường có<br />
số thuộc tính rất lớn, có thể lên đến hàng nghìn thuộc tính. Điều đó dẫn đến quá trình phân lớp sẽ<br />
mất rất nhiều thời gian cùng với đó là việc phân lớp những bộ dữ liệu đó sẽ không còn chính xác,<br />
hoặc là độ chính xác phân lớp dữ liệu sẽ không cao. Để khắc phục việc tăng dung lượng bộ dữ liệu,<br />
giảm số thuộc tính dư thừa đó chúng tôi đã đưa ra ý tưởng kết hợp giữa hai thuật toán đó là sinh<br />
thêm phần tử (SMOTE) và giảm số chiều dữ liệu (PLS). Ý tưởng kết hợp này mang lại lợi ích đó<br />
là dung lượng bộ dữ liệu không tăng cao hơn, hoặc chỉ bằng dung lượng bộ dữ liệu gốc, giảm được<br />
thời gian chạy phân lớp xuống rất nhiều, và quan trọng hơn đó là việc kết hợp giữa sinh thêm phần<br />
tử và giảm số chiều dữ liệu do đó cho kết quả phân lớp cao hơn so với các phương pháp riêng biệt.<br />
Thuật toán SMOTE chỉ lấy ngẫu nhiên một trong số k phần tử lân cận thuộc lớp thiểu số để<br />
sinh ra phẩn tử mới, và giữ nguyên lớp đa số. Do đó đã làm tăng đáng kể mật độ của lớp thiểu số<br />
một cách khoa học và tạo ra sự cân bằng dữ liệu. Còn phương pháp PLS lại không tác động đến<br />
các phần tử dữ liệu mà lại tác động đến số chiều (thuộc tính) của dữ liệu, chuyển sang một không<br />
gian mới. Sự kết hợp giữa hai giải thuật SMOTE và PLS là sự kết hợp giữa hai ưu điểm của hai<br />
thuật toán SMOTE và PLS. Làm tăng phần tử của lớp thiểu số, vừa giảm số chiều dữ liệu. Càng<br />
làm tăng sự chính xác để phân lớp tốt dữ liệu trong phân lớp dữ liệu mất cân bằng, lại rút ngắn thời<br />
gian chạy các bộ dữ liệu.<br />
<br />
2.4. Thực nghiệm<br />
2.4.1. Các tiêu chí đánh giá<br />
Đối với phân lớp dữ liệu có hai lớp, một lớp với rất ít mẫu huấn luyện nhưng tầm quan trọng<br />
cao hơn được gọi là lớp tích cực (positive); khác với lớp phổ biến nhưng không có nhiều ý nghĩa<br />
cũng như tầm quan trọng được gọi là lớp tiêu cực (negative). Mẫu có thể được phân loại thành bốn<br />
nhóm trong quá trình phân loại như kí hiệu trong ma trận nhầm lẫn sau:<br />
<br />
Bảng 1. Ma trận nhầm lẫn<br />
Nhãn dự đoán Nhãn Thực tế<br />
Lớp Postive Lớp Negative<br />
Lớp Positive True Positive (TP) False Positive (FP)<br />
Lớp Negative False Negative (FN) True Negative (TN)<br />
<br />
<br />
<br />
<br />
Các tiêu chí đánh giá dựa trên bảng ma trận nhầm lẫn:<br />
TPrate = TP/ (TP+FN) (1)<br />
TNrate = TN/ (TN+FP) (2)<br />
√<br />
G-mean= T Prate .T Nrate (3)<br />
G-mean là một độ đo dùng để đánh giá hiệu quả phân lớp dữ liệu mất cân bằng giữa hai<br />
lớp [2, 4].<br />
<br />
97<br />
Nguyễn Thái Bình<br />
<br />
<br />
2.4.2. Dữ liệu<br />
Chúng tôi đã tiến hành cài đặt và chạy chương trình bằng ngôn ngữ R và Perl được thực<br />
nghiệm trên 4 bộ dữ liệu mất cân bằng từ nguồn UCI (University of California, Irvine) là: breast-p,<br />
coi2000, leukemia và colon-cancer.<br />
<br />
Bảng 2. Các bộ dữ liệu từ UCI<br />
Tên dữ liệu Số phần tử Số thuộc tính Tỉ lệ mất cân bằng<br />
Breast-p 198 32 1:4<br />
Coil2000 5822 86 1:16<br />
Leukemia 72 7128 1:3<br />
Colon - cancer 62 2000 1:2<br />
<br />
2.4.3. Thực nghiệm<br />
Để chuẩn bị dữ liệu thực nghiệm chúng tôi đã thực hiện so sánh 8 phương pháp sau: Dữ<br />
liệu gốc (original), dữ liệu giảm số chiều bằng phương pháp PLS ở cả 3 mô hình điều chỉnh (PLS,<br />
CPPLS, PCR), dữ liệu với các phương pháp kết hợp của 3 mô hình điều chỉnh với thuật toán<br />
SMOTE ta có (PLS_SMOTE, CPPLS_SMOTE, PCR_SMOTE).<br />
Với mỗi cách chạy khác nhau thì sẽ có tham số đầu vào cho phương pháp PLS và SMOTE<br />
khác nhau. Chẳng hạn với phương pháp PLS thì tham số đầu vào (số biến ẩn) phụ thuộc vào giá trị<br />
căn bậc hai bình phương trung bình lỗi dự báo (RMSEP) [7, 8], ví dụ như tại số biến ẩn là 5 trị số<br />
RMSEP không có mức giảm đáng kể vậy thì số biến ẩn bằng 5 chính là số lượng biến ẩn đủ dùng<br />
cho các mô hình điều chỉnh PLS, CPPLS và PCR. Đối với phương pháp SMOTE tham số đầu vào<br />
là N, ứng với mỗi giá trị của N thay đổi sẽ sinh ra một số lượng phần tử nhân tạo là khác nhau để<br />
cố gắng cân bằng dữ liệu giữa tỉ lệ lớp thiểu số và lớp đa số.<br />
Sau khi thực hiện các phương pháp PLS và SMOTE để tác động lên số phần tử cũng như<br />
thuộc tính của dữ liệu chúng tôi sử dụng thuật toán phân lớp SVM (Support Vector Machine) cuối<br />
cùng để đánh giá độ chính xác phân lớp của phương pháp kết hợp chúng tôi dựa trên giá trị trung<br />
bình G-mean của 20 lần 10 fold cross-validation.<br />
<br />
2.5. Kết quả thảo luận<br />
Với mỗi hình bên dưới là đồ thị biểu diễn giá trị G-mean của 8 phương pháp chạy. Khi thực<br />
nghiệm các phương pháp chạy dữ liệu chúng tôi đưa ra kết quả thu được theo giá trị G-mean tốt<br />
nhất.<br />
Trong Hình 1 đối với dữ liệu breast-p thì giá trị G-mean của phương pháp kết hợp<br />
PLS_SMOTE là 68,45% cao hơn hẳn so với các phương pháp khác. Trong Hình 2 Đối với dữ<br />
liệu coil2000 với tỉ lệ mất cân bằng lớn 1:16 ta thấy rằng giá trị G-mean của phương pháp kết hợp<br />
PLS_SMOTE là 29,72% cao hơn hẳn so với hai phương pháp kết hợp khác là PCR_SMOTE và<br />
CPPLS_SMOTE lần lượt là 29,72% và 7,1%.<br />
Trong Hình 3 đối với dữ liệu leukemia ta cũng thấy được rằng giá trị G-mean của phương<br />
pháp PLS_SMOTE cao hơn so với các phương pháp còn lại (CPPLS_SMOTE, PCR_SMOTE,<br />
SMOTE, PLS, CPPPLS, SMOTE, original) là 94,76%. Tương tự trong Hình 4 đối với dữ liệu<br />
colon-cancer thì dựa vào đồ thị ta thấy rằng G-mean của phương pháp kết hợp PLS_SMOTE là<br />
87,12% cao hơn so với origional là 86,46% và SMOTE là 85,44%.<br />
<br />
<br />
98<br />
Nâng cao hiệu quả phân lớp dữ liệu bằng cách kết hợp sinh thêm phần tử với giảm số chiều...<br />
<br />
<br />
<br />
<br />
Hình 1. Đồ thị so sánh giá trị G-mean của bộ dữ liệu breast-p<br />
<br />
<br />
<br />
<br />
Hình 2. Đồ thị so sánh giá trị G-mean của bộ dữ liệu coil2000<br />
<br />
<br />
<br />
<br />
Hình 3. Đồ thị so sánh giá trị G-mean của bộ dữ liệu leukemia<br />
<br />
<br />
<br />
99<br />
Nguyễn Thái Bình<br />
<br />
<br />
<br />
<br />
Hình 4. Đồ thị so sánh giá trị G-mean của bộ dữ liệu colon-cancer<br />
<br />
Do đó, để đánh giá phương pháp kết hợp trên có ý nghĩa thống kê hay không, chúng tôi áp<br />
dụng kiểm định T-test. Nếu p-value của kiểm định này nhỏ hơn hoặc bằng 0.05 thì ta nói hai giá trị<br />
trung bình khác biệt và có ý nghĩa thống kê. Trong bài báo này, chúng tôi sử dụng hàm t.test trong<br />
gói stats của R để tính giá trị p-value. Dựa vào kết quả G-mean của thuật toán phân lớp Ksvm đối<br />
với từng cách chạy của mỗi bộ dữ liệu, chúng tôi đã tiến hành tính giá trị p-value cụ thể như sau:<br />
<br />
Bảng 3. Giá trị p-value<br />
Datasets p-value Original SMOTE PLS PLS_ CPPLS CPPLS_<br />
SMOTE SMOTE<br />
Breast-p Original x<br />
SMOTE