Scikit-learn: [0.23.1] doctest GradientBoostingClassifier gagal pada prosesor arm(rhel)

Dibuat pada 1 Jul 2020  ·  3Komentar  ·  Sumber: scikit-learn/scikit-learn

Jelaskan bugnya

Pada prosesor lengan (AWS:gravition2, rhel), saya mendapatkan kegagalan berikut di versi 0.23.1

1038     >>> from sklearn.model_selection import train_test_split
1039     >>> X, y = make_classification(random_state=0)
1040     >>> X_train, X_test, y_train, y_test = train_test_split(
1041     ...     X, y, random_state=0)
1042     >>> clf = GradientBoostingClassifier(random_state=0)
1043     >>> clf.fit(X_train, y_train)
1044     GradientBoostingClassifier(random_state=0)
1045     >>> clf.predict(X_test[:2])
1046     array([1, 0])
1047     >>> clf.score(X_test, y_test)
Expected:
    0.88
Got:
    0.84

Langkah/Kode untuk Mereproduksi

pytest -v sklearn/ensemble/_gb.py::sklearn.ensemble._gb.GradientBoostingClassifier

Hasil yang diharapkan

PASSED dilempar.

Hasil nyata

GAGAL dilempar.

1047     >>> clf.score(X_test, y_test)
Expected:
    0.88
Got:
    0.84

Versi

System:
    python: 3.6.8 (default, Dec  5 2019, 16:02:25)  [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
executable: /usr/bin/python3
   machine: Linux-4.18.0-193.1.2.el8_2.aarch64-aarch64-with-redhat-8.2-Ootpa

Python dependencies:
          pip: 20.1.1
   setuptools: 39.2.0
      sklearn: 0.23.1
        numpy: 1.14.3
        scipy: 1.0.0
       Cython: 0.29
       pandas: 1.0.5
   matplotlib: 3.2.1
       joblib: 0.14.0
threadpoolctl: 2.1.0

Built with OpenMP: True
Linux-4.18.0-193.1.2.el8_2.aarch64-aarch64-with-redhat-8.2-Ootpa
Traceback (most recent call last):
  File "<string>", line 3, in <module>
NameError: name 'Python' is not defined
Bug arm help wanted ensemble

Semua 3 komentar

Terima kasih atas laporannya @murata-yu , saya dapat mereproduksi di https://github.com/scikit-learn/scikit-learn/pull/17996

Belum yakin apakah itu indikasi masalah yang sebenarnya, kita harus meningkatkan toleransi.

Dari sudut pandang pengguna, 4% perubahan akurasi dalam kisaran 0,8 terlihat lebih dari sekadar perbedaan pembulatan numerik kecil. Ini layak untuk diselidiki.

Saya dapat mereproduksi masalah secara lokal dengan membangun scikit-learn di lingkungan miniforge arm64 di docker / wadah qemu seperti yang dijelaskan dalam https://github.com/scikit-learn/scikit-learn/pull/17644#issuecomment -663857435 .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat