Evalml: Menjalankan AutoML di Iris Dataset Gagal

Dibuat pada 23 Jul 2020  ·  3Komentar  ·  Sumber: alteryx/evalml

Menjalankan evalml 0.11.2. Sepertinya opsi untuk menyetel pemeriksaan data ke False telah dihapus dari AutoMLSearch, yang sebelumnya merupakan solusi untuk masalah ini.


TypeError Traceback (panggilan terakhir terakhir)
di
1 automl = AutoMLSearch(objective="log_loss_multi", max_pipelines=5, problem_type="multiclass")
2
----> 3 automl.search(X, y)

~.conda\envs\evalml_test_1.0\lib\site-packages\evalml\automl\automl_search.py ​​dalam pencarian(self, X, y, data_checks, feature_types, raise_errors, show_iteration_plot)
316
317 data_checks = self._validate_data_checks(data_checks)
--> 318 data_check_results = data_checks.validate(X, y)
319
320 jika len(data_check_results) > 0:

~.conda\envs\evalml_test_1.0\lib\site-packages\evalml\data_checks\data_checks.py di validasi(sendiri, X, y)
33 pesan = []
34 untuk data_check di self.data_checks:
---> 35 pesan_baru = data_check.validate(X, y)
36 pesan.perpanjang(messages_new)
37 pesan balasan

~.conda\envs\evalml_test_1.0\lib\site-packages\evalml\data_checks\label_leakage_data_check.py di validasi(sendiri, X, y)
53 jika len(X.columns) == 0:
54 kembali []
---> 55 corrs = {label: abs(y.corr(col)) untuk label, col di X.iteritems() if abs(y.corr(col)) >= self.pct_corr_threshold}
56
57 very_corr_cols = {key: nilai untuk kunci, nilai dalam corrs.items() jika nilai >= self.pct_corr_threshold}

~.conda\envs\evalml_test_1.0\lib\site-packages\evalml\data_checks\label_leakage_data_check.py di(.0)
53 jika len(X.columns) == 0:
54 kembali []
---> 55 corrs = {label: abs(y.corr(col)) untuk label, col di X.iteritems() if abs(y.corr(col)) >= self.pct_corr_threshold}
56
57 very_corr_cols = {key: nilai untuk kunci, nilai dalam corrs.items() jika nilai >= self.pct_corr_threshold}

~.conda\envs\evalml_test_1.0\lib\site-packages\pandas\core\series.py di corr(self, other, method, min_periods)
2252 jika metode dalam ["pearson", "spearman", "kendall"] atau callable(metode):
2253 mengembalikan nanops.nancorr(
-> 2254 this.values, other.values, method=method, min_periods=min_periods
2255 )
2256

~.conda\envs\evalml_test_1.0\lib\site-packages\pandas\core\nanops.py di _f( args, * kwargs)
67 mencoba:
68 dengan np.errstate(invalid="ignore"):
---> 69 kembali f( args, * kwargs)
70 kecuali ValueError sebagai e:
71 # kami ingin mengubah array objek

~.conda\envs\evalml_test_1.0\lib\site-packages\pandas\core\nanops.py di nancorr(a, b, metode, min_periods)
1238
1239 f = get_corr_func(metode)
-> 1240 kembali f(a, b)
1241
1242

~.conda\envs\evalml_test_1.0\lib\site-packages\pandas\core\nanops.py di _pearson(a, b)
1254
1255 def _pearson(a, b):
-> 1256 kembali np.corrcoef(a, b)[0, 1]
1257
1258 def _kendall(a, b):

<__array_function__ internals> di corrcoef( args, * kwargs)

~.conda\envs\evalml_test_1.0\lib\site-packages\numpy\lib\function_base.py di corrcoef(x, y, rowvar, bias, ddof)
2524 warnings.warn('bias dan ddof tidak berpengaruh dan tidak digunakan lagi',
2525 Peringatan Penghentian, stacklevel=3)
-> 2526 c = cov(x, y, rowvar)
2527 coba:
2528 d = diag(c)

<__array_function__ internals> di cov( args, * kwargs)

~.conda\envs\evalml_test_1.0\lib\site-packages\numpy\lib\function_base.py di cov(m, y, rowvar, bias, ddof, fweights, aweights)
2429 w *= berat
2430
-> 2431 rata-rata, w_sum = rata-rata(X, sumbu=1, bobot=w, dikembalikan=Benar)
2432 w_sum = w_sum[0]
2433

<__array_function__ internals> rata-rata( args, * kwargs)

~.conda\envs\evalml_test_1.0\lib\site-packages\numpy\lib\function_base.py rata-rata (a, sumbu, bobot, dikembalikan)
391
392 jika bobot Tidak ada:
--> 393 rata-rata = a.mean(sumbu)
394 scl = avg.dtype.type(a.size/avg.size)
395 lainnya:

~.conda\envs\evalml_test_1.0\lib\site-packages\numpy\core_methods.py di _mean(a, axis, dtype, out, keepdims)
152 if isinstance(ret, mu.ndarray):
153 ret = um.true_divide(
--> 154 ret, rcount, out=ret, casting='unsafe', subok=False)
155 jika is_float16_result dan keluar adalah Tidak Ada:
156 ret = arr.dtype.type(ret)

TypeError: jenis operan yang tidak didukung untuk /: 'str' dan 'int'

Itu melakukan sesuatu yang sedikit berbeda saat dijalankan - pencarian dijalankan alih-alih gagal dengan jejak tumpukan, tetapi semua skor untuk semua saluran pipa adalah nan.

Mengoptimalkan untuk Multiclass Log Loss.
Skor yang lebih rendah lebih baik.

Mencari hingga 4 saluran pipa.
Keluarga model yang diizinkan: random_forest, xgboost, linear_model, catboost

(1/4) Mode Baseline Multiclass Classificati... Berlalu:00 :00
Memulai validasi silang
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Validasi silang selesai - rata-rata Log Loss Multiclass: nan
(2/4) CatBoost Classifier dengan Imputer Sederhana : 0 :00
Mulai validasi silang
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Validasi silang selesai - rata-rata Log Loss Multiclass: nan
(3/4) XGBoost Classifier dengan Imputer Sederhana : 00 :02
Mulai validasi silang
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Validasi silang selesai - rata-rata Log Loss Multiclass: nan
(4/4) Pengklasifikasi Hutan Acak dengan Im... Berlalu:00 :02
Mulai validasi silang
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Kesalahan dalam PipelineBase.score saat mencetak objektif Log Loss Multiclass: ufunc 'isnan' tidak didukung untuk tipe input, dan input tidak dapat dipaksakan dengan aman ke tipe yang didukung sesuai dengan aturan casting ''aman''
Validasi silang selesai - rata-rata Log Loss Multiclass: nan

Pencarian selesai setelah 00:02
Pipa terbaik: Mode Baseline Multiclass Classification Pipeline
Pipa Log Loss Multiclass terbaik: nan
ToolId 3: Alat AutoML selesai
Selesai dalam 14,397 detik

Tipe data panda sama di kedua lingkungan.

sepal.panjang float64
sepal.width float64
kelopak.panjang float64
kelopak.lebar float64
objek kelas
dtype: objek

Notebook Jupyter menggunakan Python 3.7.3 dan alatnya adalah 3.6.8.

bug

Semua 3 komentar

@SydneyAyx : ya, kami mengubah mekanisme untuk menonaktifkan pemeriksaan data di 0.11.2:

automl.search(..., data_checks=None, ...)

Membuat catatan bahwa kita harus menambahkannya ke bagian panduan pengguna.

Silakan coba itu dan jika itu masih tidak memperbaiki masalah Anda, mari kita bicara lagi.

Jika itu memperbaiki masalah, saya ingat #828 sebelumnya diajukan untuk melacak ini. Dan kami menutupnya demi #645 , yang saat ini sedang berlangsung. Namun, saya tidak yakin #645 akan benar-benar memperbaiki masalah mendasar. Jadi mari kita tetap terbuka.

Ah, saya bingung tentang timeline: #932 digabungkan minggu lalu dan memperbaiki masalah ini! Saya baru saja menjalankan reproduksi yang saya tulis di #828 untuk mengonfirmasi ini. Rilis berikutnya ( 0.12.0 , Sel berikutnya) akan menyertakan perbaikan.

Aku akan tetap membuka dan menutupnya saat kita mengeluarkan rilis itu.

Memperbaiki v0.12.0 yang baru saja keluar!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat