使用smote模块报错,报错如下:
ValueError: Expected n_neighbors <= n_samples, but n_samples = 2, n_neighbors = 4
原先的代码:
smo = SMOTE()
X_smo, y_smo = smo.fit_sample(X, y)
修改之后的代码
smo = SMOTE(random_state=42, k_neighbors=3)
X_smo, y_smo = smo.fit_sample(X, y)
运行不报错,成功解决
原因分析:smote默认选择 n_neighbors为6,如果样本数小于这个数,就会报错,将 n_neighbors的数值改小,就能解决问题。