Sepuluh perpustakaan Python untuk AI yang boleh dijelaskan
Matlamat XAI adalah untuk memberikan penjelasan yang bermakna untuk tingkah laku dan keputusan model Artikel ini menyusun 10 perpustakaan Python yang kini tersedia untuk AI yang boleh dijelaskan
Apakah itu XAI?
XAI, AI Boleh Dijelaskan merujuk kepada sistem atau strategi yang boleh memberikan penjelasan yang jelas dan boleh difahami untuk proses dan ramalan membuat keputusan kecerdasan buatan (AI). Matlamat XAI adalah untuk memberikan penjelasan yang bermakna untuk tindakan dan keputusan mereka, yang membantu meningkatkan kepercayaan, menyediakan akauntabiliti dan ketelusan dalam keputusan model. XAI tidak terhad kepada tafsiran, tetapi juga menjalankan eksperimen ML dengan cara yang menjadikan inferens lebih mudah untuk diekstrak dan ditafsirkan untuk pengguna.
Dalam praktiknya, XAI boleh dicapai melalui pelbagai kaedah, seperti menggunakan ukuran kepentingan ciri, teknik visualisasi atau dengan membina model yang sememangnya boleh ditafsir, seperti pepohon keputusan atau model regresi linear. Pemilihan kaedah bergantung kepada jenis masalah yang diselesaikan dan tahap kebolehtafsiran yang diperlukan.
Sistem AI digunakan dalam semakin banyak aplikasi, termasuk penjagaan kesihatan, kewangan dan keadilan jenayah, di mana potensi kesan AI terhadap kehidupan manusia adalah tinggi dan di mana keputusan dibuat dengan pengetahuan Sebab khusus adalah penting. Oleh kerana kos keputusan yang salah dalam bidang ini tinggi (pertaruhannya tinggi), XAI menjadi semakin penting, malah keputusan yang dibuat oleh AI perlu disemak dengan teliti untuk kesahihan dan kebolehjelasan.
Langkah-langkah amalan kebolehjelasan
Penyediaan data: Peringkat ini termasuk pengumpulan dan pemprosesan data. Data hendaklah berkualiti tinggi, seimbang dan mewakili masalah dunia sebenar yang sedang diselesaikan. Mempunyai data yang seimbang, mewakili, bersih mengurangkan usaha masa hadapan untuk memastikan AI boleh dijelaskan.
Latihan model: Model ini dilatih pada data yang disediakan, sama ada model pembelajaran mesin tradisional atau rangkaian saraf pembelajaran mendalam. Pemilihan model bergantung kepada masalah yang hendak diselesaikan dan tahap kebolehtafsiran yang diperlukan. Lebih mudah model, lebih mudah untuk mentafsir keputusan, tetapi prestasi model mudah tidak akan menjadi sangat tinggi.
Penilaian model: Memilih kaedah penilaian dan metrik prestasi yang sesuai adalah perlu untuk mengekalkan kebolehtafsiran model. Ia juga penting untuk menilai kebolehtafsiran model pada peringkat ini untuk memastikan ia dapat memberikan penjelasan yang bermakna untuk ramalannya.
Penjanaan penjelasan: Ini boleh dilakukan menggunakan pelbagai teknik seperti ukuran kepentingan ciri, teknik visualisasi atau dengan membina model yang boleh dijelaskan secara semula jadi.
Pengesahan penjelasan: Sahkan ketepatan dan kesempurnaan penjelasan yang dijana oleh model. Ini membantu memastikan penjelasan itu boleh dipercayai.
Pengerahan dan Pemantauan: Kerja XAI tidak berakhir dengan penciptaan dan pengesahan model. Ia memerlukan kerja kebolehjelasan berterusan selepas penggunaan. Apabila memantau dalam persekitaran sebenar, adalah penting untuk sentiasa menilai prestasi dan kebolehtafsiran sistem.
1. SHAP (SHapley Additive exPlanations)
SHAP ialah kaedah teori permainan yang boleh digunakan untuk menerangkan output mana-mana model pembelajaran mesin. Ia menggunakan nilai Shapley klasik daripada teori permainan dan sambungan berkaitannya untuk mengaitkan peruntukan kredit optimum dengan tafsiran tempatan.
2. LIME (Penjelasan Model-agnostik yang Boleh Ditafsirkan Tempatan)
LIME ialah kaedah model-agnostik yang menghampiri ramalan khusus secara setempat dengan mengelilinginya Tingkah laku model kepada bekerja dengan. LIME cuba menerangkan perkara yang dilakukan oleh model pembelajaran mesin. LIME menyokong tafsiran ramalan individu daripada pengelas teks, pengelas untuk data jadual atau imej.
3 Eli5
ELI5 ialah pakej Python yang membantu nyahpepijat pengelas pembelajaran mesin dan mentafsir ramalannya. Ia menyediakan sokongan untuk rangka kerja dan pakej pembelajaran mesin berikut:
- scikit-learn: ELI5 boleh mentafsir pemberat dan ramalan pengelas dan regressor linear scikit-learn, dan pepohon keputusan boleh dicetak sebagai teks atau SVG yang menunjukkan kepentingan ciri dan menerangkan ramalan daripada pokok keputusan dan kumpulan pokok. ELI5 juga memahami pengendali teks dalam scikit-learn dan menyerlahkan data teks dengan sewajarnya.
- Keras - Mentafsir ramalan pengelas imej secara visual melalui Grad-CAM.
- XGBoost - Menunjukkan kepentingan ciri dan menerangkan ramalan XGBClassifier, XGBRegressor dan XGBoost .boost.
- LightGBM - Menunjukkan kepentingan ciri dan menerangkan ramalan LGMClassifier dan LGBMRegressor.
- CatBoost: Memaparkan kepentingan ciri CatBoostClassifier dan CatBoostRegressor.
- kilat - Menerangkan berat dan ramalan pengelas dan regressor kilat.
- sklearn-crfsuite. ELI5 membolehkan menyemak berat model sklearn_crfsuite.CRF.
Penggunaan asas:
Show_weights() menunjukkan semua berat model, Show_prediction() boleh digunakan untuk menyemak ramalan individu model
ELI5 juga melaksanakan beberapa algoritma untuk menyemak model kotak hitam:
TextExplainer menggunakan algoritma LIME untuk menerangkan ramalan mana-mana pengelas teks. Kaedah kepentingan pilih atur boleh digunakan untuk mengira kepentingan ciri bagi penganggar kotak hitam.
4. Shapash
Shapash menyediakan beberapa jenis visualisasi untuk menjadikannya lebih mudah untuk memahami model. Gunakan ringkasan untuk memahami keputusan yang dicadangkan oleh model. Projek ini dibangunkan oleh saintis data MAIF. Shapash terutamanya menerangkan model melalui satu set visualisasi yang sangat baik.
Shapash berfungsi melalui mekanisme aplikasi web dan boleh disepadukan dengan sempurna dengan Jupyter/ipython.
from shapash import SmartExplainer xpl = SmartExplainer( model=regressor, preprocessing=encoder, # Optional: compile step can use inverse_transform method features_dict=house_dict# Optional parameter, dict specifies label for features name ) xpl.compile(x=Xtest, y_pred=y_pred, y_target=ytest, # Optional: allows to display True Values vs Predicted Values ) xpl.plot.contribution_plot("OverallQual")
5. Sauh
Sauh menggunakan peraturan ketepatan tinggi yang dipanggil sauh untuk menerangkan kelakuan model yang kompleks dan mewakili keadaan ramalan "mencukupi" setempat . Algoritma ini boleh mengira penjelasan mana-mana model kotak hitam dengan cekap dengan jaminan kebarangkalian tinggi.
Sauh boleh dianggap sebagai LIME v2, di mana beberapa had LIME (seperti ketidakupayaan untuk memuatkan model untuk kejadian data yang tidak kelihatan) telah diperbetulkan. Sauh menggunakan kawasan tempatan dan bukannya setiap sudut pandangan individu. Ia adalah ringan dari segi pengiraan daripada SHAP dan oleh itu boleh digunakan dengan set data berdimensi tinggi atau besar. Tetapi beberapa batasan ialah label hanya boleh menjadi integer.
6. Breakdown
Breakdown ialah alat yang boleh digunakan untuk menerangkan ramalan model linear. Ia berfungsi dengan menguraikan output model kepada sumbangan setiap ciri input. Terdapat dua kaedah utama dalam pakej ini. Explainer() dan Explanation()
model = tree.DecisionTreeRegressor() model = model.fit(train_data,y=train_labels) #necessary imports from pyBreakDown.explainer import Explainer from pyBreakDown.explanation import Explanation #make explainer object exp = Explainer(clf=model, data=train_data, colnames=feature_names) #What do you want to be explained from the data (select an observation) explanation = exp.explain(observation=data[302,:],direction="up")
7 Interpret-Text
Interpret-Text menggabungkan komuniti untuk NLP. Teknik kebolehtafsiran untuk pembangunan model dan panel visualisasi untuk melihat hasil. Percubaan boleh dijalankan pada berbilang jurubahasa terkini dan dianalisis secara perbandingan. Kit alat ini boleh mentafsir model pembelajaran mesin secara global pada setiap teg atau secara setempat pada setiap dokumen.
Berikut ialah senarai jurubahasa yang tersedia dalam pakej ini:
- Penjelasan Teks Klasik - (Lalai: beg perkataan untuk regresi logistik)
- Penjelasan Maklumat Bersatu
- Penjelasan Rasional Introspektif
Kelebihannya ialah ia menyokong model seperti CUDA, RNN dan BERT. Dan boleh menjana panel untuk kepentingan ciri dalam dokumen
from interpret_text.widget import ExplanationDashboard from interpret_text.explanation.explanation import _create_local_explanation # create local explanation local_explanantion = _create_local_explanation( classification=True, text_explanation=True, local_importance_values=feature_importance_values, method=name_of_model, model_task="classification", features=parsed_sentence_list, classes=list_of_classes, ) # Dash it ExplanationDashboard(local_explanantion)
8, aix360 (AI Explainability 360)
Kit alat AI Explainability 360 ialah perpustakaan sumber terbuka Pakej ini dibangunkan oleh IBM dan digunakan secara meluas pada platform mereka. AI Explainability 360 mengandungi set algoritma komprehensif yang meliputi dimensi penjelasan yang berbeza serta metrik kebolehjelasan ejen.
Kit alat menggabungkan algoritma dan penunjuk daripada kertas berikut:
- Towards Robust Interpretability with Self-Explaining Neural Networks, 2018. ref
- Boolean Decision Rules via Column Generation, 2018. ref
- Explanations Based on the Missing: Towards Contrastive Explanations with Pertinent Negatives, 2018. ref
- Improving Simple Models with Confidence Profiles, , 2018. ref
- Efficient Data Representation by Selecting Prototypes with Importance Weights, 2019. ref
- TED: Teaching AI to Explain Its Decisions, 2019. ref
- Variational Inference of Disentangled Latent Concepts from Unlabeled Data, 2018. ref
- Generating Contrastive Explanations with Monotonic Attribute Functions, 2019. ref
- Generalized Linear Rule Models, 2019. ref
9、OmniXAI
OmniXAI (Omni explable AI的缩写),解决了在实践中解释机器学习模型产生的判断的几个问题。
它是一个用于可解释AI (XAI)的Python机器学习库,提供全方位的可解释AI和可解释机器学习功能,并能够解决实践中解释机器学习模型所做决策的许多痛点。OmniXAI旨在成为一站式综合库,为数据科学家、ML研究人员和从业者提供可解释的AI。
from omnixai.visualization.dashboard import Dashboard # Launch a dashboard for visualization dashboard = Dashboard( instances=test_instances,# The instances to explain local_explanations=local_explanations, # Set the local explanations global_explanations=global_explanations, # Set the global explanations prediction_explanations=prediction_explanations, # Set the prediction metrics class_names=class_names, # Set class names explainer=explainer# The created TabularExplainer for what if analysis ) dashboard.show()
10、XAI (eXplainable AI)
XAI 库由 The Institute for Ethical AI & ML 维护,它是根据 Responsible Machine Learning 的 8 条原则开发的。它仍处于 alpha 阶段因此请不要将其用于生产工作流程。
Atas ialah kandungan terperinci Sepuluh perpustakaan Python untuk AI yang boleh dijelaskan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Membolehkan pecutan GPU pytorch pada sistem CentOS memerlukan pemasangan cuda, cudnn dan GPU versi pytorch. Langkah-langkah berikut akan membimbing anda melalui proses: Pemasangan CUDA dan CUDNN Tentukan keserasian versi CUDA: Gunakan perintah NVIDIA-SMI untuk melihat versi CUDA yang disokong oleh kad grafik NVIDIA anda. Sebagai contoh, kad grafik MX450 anda boleh menyokong CUDA11.1 atau lebih tinggi. Muat turun dan pasang Cudatoolkit: Lawati laman web rasmi Nvidiacudatoolkit dan muat turun dan pasang versi yang sepadan mengikut versi CUDA tertinggi yang disokong oleh kad grafik anda. Pasang Perpustakaan Cudnn:

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Penyimpanan Objek Minio: Penyebaran berprestasi tinggi di bawah CentOS System Minio adalah prestasi tinggi, sistem penyimpanan objek yang diedarkan yang dibangunkan berdasarkan bahasa Go, serasi dengan Amazons3. Ia menyokong pelbagai bahasa pelanggan, termasuk Java, Python, JavaScript, dan GO. Artikel ini akan memperkenalkan pemasangan dan keserasian minio pada sistem CentOS. Keserasian versi CentOS Minio telah disahkan pada pelbagai versi CentOS, termasuk tetapi tidak terhad kepada: CentOS7.9: Menyediakan panduan pemasangan lengkap yang meliputi konfigurasi kluster, penyediaan persekitaran, tetapan fail konfigurasi, pembahagian cakera, dan mini

Latihan yang diedarkan Pytorch pada sistem CentOS memerlukan langkah -langkah berikut: Pemasangan Pytorch: Premisnya ialah Python dan PIP dipasang dalam sistem CentOS. Bergantung pada versi CUDA anda, dapatkan arahan pemasangan yang sesuai dari laman web rasmi Pytorch. Untuk latihan CPU sahaja, anda boleh menggunakan arahan berikut: PipinstallToRchTorchVisionTorchaudio Jika anda memerlukan sokongan GPU, pastikan versi CUDA dan CUDNN yang sama dipasang dan gunakan versi pytorch yang sepadan untuk pemasangan. Konfigurasi Alam Sekitar Teragih: Latihan yang diedarkan biasanya memerlukan pelbagai mesin atau mesin berbilang mesin tunggal. Tempat

CentOS Memasang Nginx memerlukan mengikuti langkah-langkah berikut: memasang kebergantungan seperti alat pembangunan, pcre-devel, dan openssl-devel. Muat turun Pakej Kod Sumber Nginx, unzip dan menyusun dan memasangnya, dan tentukan laluan pemasangan sebagai/usr/local/nginx. Buat pengguna Nginx dan kumpulan pengguna dan tetapkan kebenaran. Ubah suai fail konfigurasi nginx.conf, dan konfigurasikan port pendengaran dan nama domain/alamat IP. Mulakan perkhidmatan Nginx. Kesalahan biasa perlu diberi perhatian, seperti isu ketergantungan, konflik pelabuhan, dan kesilapan fail konfigurasi. Pengoptimuman prestasi perlu diselaraskan mengikut keadaan tertentu, seperti menghidupkan cache dan menyesuaikan bilangan proses pekerja.

Apabila memasang pytorch pada sistem CentOS, anda perlu dengan teliti memilih versi yang sesuai dan pertimbangkan faktor utama berikut: 1. Keserasian Persekitaran Sistem: Sistem Operasi: Adalah disyorkan untuk menggunakan CentOS7 atau lebih tinggi. CUDA dan CUDNN: Versi Pytorch dan versi CUDA berkait rapat. Sebagai contoh, Pytorch1.9.0 memerlukan CUDA11.1, manakala Pytorch2.0.1 memerlukan CUDA11.3. Versi CUDNN juga mesti sepadan dengan versi CUDA. Sebelum memilih versi PyTorch, pastikan anda mengesahkan bahawa versi CUDA dan CUDNN yang serasi telah dipasang. Versi Python: Cawangan Rasmi Pytorch
