imbalanced-learn SMOTE:expects n_neighbors <= n_samples, but n_samples < n_neighbors

記事公開日:
最終更新日:

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

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。