Input
D - Tập dữ liệu cần tăng mẫu
dn - Ngưỡng đặt trước cho mức chịu đựng tối đa của tỷ lệ mất cân bằng lớp β - Tham số chỉ định mức cân bằng mong muốn, β ∈ [0, 1]
k - Số láng giềng gần nhất
Output
Synthetic - Tập các mẫu tổng hợp lớp thiểu số được tạo
Begin
1: Initialize: Synthetic =
2: ms = số bản ghi thuộc lớp thiểu số D
3: ml = là số bản ghi thuộc lớp đa số D
4: d = ms/ml # Tính tỷ lệ mất cân bằng lớp
5: If d < dn then
6: G = (ml - ms) x β
7: r = 0
8: For mỗi bản ghi thuộc lớp thiểu số xi D do
9: Tìm k láng giềng gần nhất với xi
10: Δi = Số bản ghi trong k láng giềng gần nhất của xi thuộc lớp đa số 11: ri = i / k
12: r = r + ri
13: End for
14: For i = 1 to ms do
15: 𝑟̂ = 𝑟𝑖 𝑖⁄𝑟
16: 𝑔𝑖 = 𝑟̂ × 𝐺 𝑖 #Sớ lượng bản ghi tổng hợp cần tạo cho mỗi xi
17: For j = 1 to gi do
18: Chọn ngẫu nhiên mẫu thiểu số xji từ k láng giềng của xi. 19: λ = Số ngẫu nhiên ∈ [0, 1].
20: sj = xi + (xji − xi) × λ #Tạo bản ghi tổng hợp sj
22: End for 23: End for 24: End if 25: Return End d) Borderline-SMOTE
Borderline-SMOTE cũng dựa trên phương pháp SMOTE, như tên của nĩ, và cĩ hai biến thể là Borderline-SMOTE1 (BL-SMOTE1) và Borderline-SMOTE2 (BL-SMOTE2). Phương thức này tăng mẫu các bản ghi thiểu số chỉ ở gần đường biên và các láng giềng gần nhất cùng loại. Sự khác biệt giữa hai phiên bản là BL-SMOTE2 sử dụng cả láng giềng gần nhất dương tính và láng giềng gần nhất âm tính. So với SMOTE thơng thường, Borderline- SMOTE khơng tạo ra các bản ghi tổng hợp cho nhiễu, mà tập trung nỗ lực của nĩ ở gần đường biên, từ đĩ giúp chức năng quyết định tạo ra ranh giới tốt hơn giữa các lớp. Về hiệu suất, Borderline-SMOTE cũng đã được báo cáo là hoạt động tốt hơn SMOTE [14]. Thuật tốn Borderline-SMOTE được thực hiện như trình bày ở Thuật tốn 2.7: