Scikit-learn: warnings.filterwarnings -- tolong jangan lakukan ini. itu perilaku buruk.

Dibuat pada 10 Agu 2018  ·  3Komentar  ·  Sumber: scikit-learn/scikit-learn

# Make sure that DeprecationWarning within this package always gets printed
warnings.filterwarnings('always', category=DeprecationWarning,
module=r'^{0}\.'.format(re.escape(__name__)))

melalui __init__.py

Ini benar-benar perilaku yang sangat buruk. Jika Anda merasa benar-benar harus melakukan ini, silakan gunakan append=True

Komentar yang paling membantu

Bisakah Anda menjelaskan mengapa sklearn menimpa konfigurasi peringatan khusus?

Jika Anda menambahkan append=True , maka Anda tidak akan mengesampingkan konfigurasi peringatan yang tidak disesuaikan.

Masalahnya adalah status global aplikasi saya seharusnya tidak terpengaruh dengan mengimpor paket Anda. Saya juga tidak ingin Anda melakukan hal-hal seperti mengubah konfigurasi logging saya.

Semua 3 komentar

Bisakah Anda menjelaskan dengan cara apa ini menjadi masalah untuk aplikasi Anda? Dari komentar, sepertinya itu hanya mempengaruhi DeprecationWarnings dalam scikit-learn.

(Juga lihat diskusi terkait di https://github.com/scikit-learn/scikit-learn/pull/6930)

Bisakah Anda menjelaskan mengapa sklearn menimpa konfigurasi peringatan khusus?

Jika Anda menambahkan append=True , maka Anda tidak akan mengesampingkan konfigurasi peringatan yang tidak disesuaikan.

Masalahnya adalah status global aplikasi saya seharusnya tidak terpengaruh dengan mengimpor paket Anda. Saya juga tidak ingin Anda melakukan hal-hal seperti mengubah konfigurasi logging saya.

Jika Anda menambahkan append=True, maka Anda tidak akan mengesampingkan konfigurasi peringatan yang tidak disesuaikan.

Mencoba, itu, dengan menginstal sklearn dari sumber, dan secara manual meningkatkan penghentian di sklearn.utils.__init__.py . Dengan konfigurasi default, peringatan itu muncul seperti yang diharapkan saat memanggil python -c "import sklearn.utils" . Jika kita menambahkan append=True ke warnings.filterwarnings digunakan dalam sklearn/__init__.py DeprecationWarning tidak lagi dinaikkan. Saya belum menyelidiki mengapa.

Saya setuju situasi saat ini buruk, saya hanya ingin tahu masalah praktis seperti apa yang Anda hadapi dengan pengaturan ini (di luar fakta bahwa itu buruk pada prinsipnya). Memiliki pemahaman yang baik tentang kasus penggunaan, juga akan membantu kami menemukan solusi yang tepat. Masalah ini telah dibahas di https://github.com/scikit-learn/scikit-learn/issues/9857 (lihat khususnya https://github.com/scikit-learn/scikit-learn/issues/9857#issuecomment- 333351913 dan https://github.com/scikit-learn/scikit-learn/issues/9857#issuecomment-333359072) yang menguraikan alasan situasi saat ini.

Menutup ini sebagai duplikat dari https://github.com/scikit-learn/scikit-learn/issues/9857 (untuk menghindari memecah diskusi yang sama atas beberapa masalah). Anda sangat dipersilakan untuk berkomentar atau mengusulkan solusi di sana.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat