日々精進

新しく学んだことを書き留めていきます

「DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use `array.size > 0` to check that an array is not empty.」エラー

原因は以下。 ・cross_val_score関数の内部に以下のコードがあり、想定外のクラス(カテゴリ)がないかをチェックしている。 ・その際、想定外のクラスが無ければdiffが空のndarrayになる。if diff: のところはndarrayが空の場合Falseと判定されることを利用している ・その挙動がDeprecatedになったので警告を吐いている

        diff = np.setdiff1d(y, np.arange(len(self.classes_)))
        if diff:
            raise ValueError("y contains new labels: %s" % str(diff))

なのでこの警告はsklearnのバグ的なもので無視して問題無いがDeprecationWarningをすべて無視すると 必要な警告を見落としそうなので放置。邪魔くさい。。

参考:

stackoverflow.com