This post is also available in: English-US (英語)
imbalanced-learn の SMOTE関数 を使ってオーバーサンプリングした際に、下記のようなエラーが出た時の対処方法について、備忘録的にメモを書いています。
expects n_neighbors <= n_samples, but n_samples < n_neighbors
簡易的な対処法としては、SMOTE関数の k_neighbors の設定値がデフォルトでは k_neighbors=5 となっているので、エラー内容の通り、
・k_neighbors の設定値を少なくする
・n_samples の数を増やす
という対処法が必要になるかと思います。
参考:
imbalanced-learnドキュメント
https://imbalanced-learn.org/stable/references/generated/imblearn.over_sampling.SMOTE.html
Stack Overflow(詳細な対処法が書かれています)
https://stackoverflow.com/questions/49395939/smote-initialisation-expects-n-neighbors-n-samples-but-n-samples-n-neighbo