설명 가능한 AI를 위한 10가지 Python 라이브러리
XAI의 목표는 모델의 동작과 결정에 대해 의미 있는 설명을 제공하는 것입니다. 이 기사에서는 지금까지 볼 수 있는 설명 가능한 AI용 Python 라이브러리 10개를 정리했습니다.
XAI란 무엇인가요?
XAI, 설명 가능한 AI는 인공지능(AI) 의사결정 과정과 예측에 대해 명확하고 이해하기 쉬운 설명을 제공할 수 있는 시스템이나 전략을 말합니다. XAI의 목표는 그들의 행동과 결정에 대한 의미 있는 설명을 제공하여 신뢰를 높이고 모델 결정에 대한 책임성과 투명성을 제공하는 것입니다. XAI는 설명을 넘어 사용자가 추론을 더 쉽게 추출하고 해석할 수 있는 방식으로 ML 실험을 수행합니다.
실제로 XAI는 기능 중요도 측정, 시각화 기술을 사용하거나 의사 결정 트리 또는 선형 회귀 모델과 같이 본질적으로 해석 가능한 모델을 구축하는 등 다양한 방법으로 구현할 수 있습니다. 방법의 선택은 해결하려는 문제의 유형과 필요한 해석 수준에 따라 달라집니다.
AI 시스템은 AI가 사람들의 삶에 미치는 잠재적 영향이 크고 결정이 내려진 이유를 이해하는 것이 중요한 의료, 금융, 형사 사법 등 점점 더 많은 응용 분야에서 사용됩니다. 이러한 분야에서는 잘못된 결정으로 인한 비용이 높기 때문에(위험이 높음) XAI가 점점 더 중요해지고 있습니다. AI가 내린 결정이라도 타당성과 설명 가능성을 주의 깊게 확인해야 하기 때문입니다.
설명 가능성 실습 단계
데이터 준비: 이 단계에는 데이터 수집 및 처리가 포함됩니다. 데이터는 고품질이어야 하고, 균형이 잡혀 있어야 하며, 해결 중인 실제 문제를 대표해야 합니다. 균형 있고 대표성이 있으며 깨끗한 데이터를 보유하면 AI를 설명 가능하게 유지하려는 향후 노력이 줄어듭니다.
모델 훈련: 모델은 전통적인 기계 학습 모델이나 딥 러닝 신경망 중 하나를 사용하여 준비된 데이터를 사용하여 훈련됩니다. 모델 선택은 해결해야 할 문제와 필요한 해석 수준에 따라 달라집니다. 모델이 단순할수록 결과를 해석하기는 쉽지만 단순 모델의 성능은 그리 높지 않습니다.
모델 평가: 모델 해석성을 유지하려면 적절한 평가 방법과 성능 지표를 선택하는 것이 필요합니다. 또한 이 단계에서 모델의 해석 가능성을 평가하여 예측에 대한 의미 있는 설명을 제공할 수 있는지 확인하는 것도 중요합니다.
설명 생성: 이는 기능 중요도 측정, 시각화 기술과 같은 다양한 기술을 사용하거나 본질적으로 설명 가능한 모델을 구축하여 수행할 수 있습니다.
설명 검증: 모델이 생성한 설명의 정확성과 완전성을 검증합니다. 이는 설명의 신뢰성을 보장하는 데 도움이 됩니다.
배포 및 모니터링: XAI의 작업은 모델 생성 및 검증으로 끝나지 않습니다. 배포 후 지속적인 설명 작업이 필요합니다. 실제 환경에서 모니터링할 때는 시스템의 성능과 해석 가능성을 정기적으로 평가하는 것이 중요합니다.
1. SHAP(SHapley Additive exPlanations)
SHAP은 모든 기계 학습 모델의 출력을 설명하는 데 사용할 수 있는 게임 이론 방법입니다. 이는 게임 이론 및 관련 확장의 고전적인 Shapley 값을 사용하여 최적의 학점 할당을 지역적 해석과 연관시킵니다.
2. LIME(Local Interpretable Model-agnostic Descriptions)
LIME은 특정 예측을 중심으로 모델의 동작을 지역적으로 근사하는 모델 불가지론적 접근 방식입니다. LIME은 기계 학습 모델이 수행하는 작업을 설명하려고 시도합니다. LIME은 텍스트 분류자, 표 형식 데이터 분류자 또는 이미지의 개별 예측 해석을 지원합니다.
3. Eli5
ELI5는 기계 학습 분류기를 디버깅하고 예측을 해석하는 데 도움이 되는 Python 패키지입니다. 다음 기계 학습 프레임워크 및 패키지에 대한 지원을 제공합니다.
- scikit-learn: ELI5는 scikit-learn 선형 분류기 및 회귀기의 가중치와 예측을 해석할 수 있으며 의사 결정 트리를 텍스트 또는 SVG로 인쇄하여 기능의 중요성을 보여줄 수 있습니다. 속성을 설명하고 의사결정 트리와 트리 앙상블 기반 예측을 설명합니다. ELI5는 또한 scikit-learn의 텍스트 처리기를 이해하고 그에 따라 텍스트 데이터를 강조 표시합니다.
- Keras - Grad-CAM을 통한 이미지 분류 예측의 시각적 해석.
- XGBoost - XGBClassifier, XGBRegressor 및 XGBoost .boost의 예측을 설명하면서 기능 중요성을 보여줍니다.
- LightGBM - LGBMClassifier 및 LGBMRegressor의 예측을 설명하는 기능 중요도를 표시합니다.
- CatBoost: CatBoostClassifier 및 CatBoostRegressor의 기능 중요성을 보여줍니다.
- lightning - 번개 분류기 및 회귀기의 가중치와 예측을 설명합니다.
- sklearn-crfsuite. ELI5를 사용하면 sklearn_crfsuite.CRF 모델의 가중치를 확인할 수 있습니다.
기본 사용법:
Show_weights()는 모델의 모든 가중치를 표시하고, Show_prediction()은 모델의 개별 예측을 확인하는 데 사용할 수 있습니다
ELI5는 블랙박스 모델을 확인하기 위한 일부 알고리즘도 구현합니다.
TextExplainer는 LIME 알고리즘을 사용하여 텍스트 분류기의 예측을 설명합니다. 순열 중요도 방법은 블랙박스 추정기의 특징 중요도를 계산하는 데 사용될 수 있습니다.
4. Shapash
Shapash는 모델을 더 쉽게 이해할 수 있도록 다양한 유형의 시각화를 제공합니다. 요약을 사용하여 모델이 제안한 결정을 이해하세요. 이 프로젝트는 MAIF 데이터 과학자가 개발했습니다. Shapash는 주로 뛰어난 시각화 세트를 통해 모델을 설명합니다.
Shapash는 웹 애플리케이션 메커니즘을 통해 작동하며 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. 앵커
앵커는 로컬 "충분한" 예측 조건을 나타내는 앵커 포인트라는 고정밀 규칙을 사용하여 복잡한 모델의 동작을 설명합니다. 이 알고리즘은 높은 확률 보장으로 모든 블랙박스 모델의 설명을 효율적으로 계산할 수 있습니다.
Anchors는 LIME의 일부 제한 사항(예: 보이지 않는 데이터 인스턴스에 대한 모델을 맞출 수 없음)이 수정된 LIME v2로 생각할 수 있습니다. 앵커는 개별 시점이 아닌 지역적 영역을 활용합니다. SHAP보다 계산이 가벼우므로 고차원 또는 대규모 데이터 세트에 사용할 수 있습니다. 그러나 몇 가지 제한 사항은 레이블이 정수만 될 수 있다는 것입니다.
6. BreakDown
BreakDown은 선형 모델 예측을 설명하는 데 사용할 수 있는 도구입니다. 이는 모델의 출력을 각 입력 기능의 기여로 분해하여 작동합니다. 이 패키지에는 두 가지 주요 방법이 있습니다. explainer() 및 explain()
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는 NLP 모델을 위해 커뮤니티에서 개발한 해석 기술과 결과를 보기 위한 시각화 패널을 결합합니다. 여러 최첨단 통역사를 사용하여 실험을 실행하고 비교 분석할 수 있습니다. 이 툴킷은 각 태그에서 전역적으로 또는 각 문서에서 로컬로 기계 학습 모델을 해석할 수 있습니다.
이 패키지에서 사용할 수 있는 통역사 목록은 다음과 같습니다.
- Classical Text explainer - (기본값: bag ofwords for logistic regression)
- Unified Information explainer
- Introspective Rationale explainer
It's The 장점은 CUDA, RNN 및 BERT와 같은 모델을 지원한다는 것입니다. 그리고 문서의 기능의 중요성에 대한 패널을 생성할 수 있습니다
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)
AI explainability 360 툴킷은 오픈 소스 라이브러리입니다. 이 패키지는 IBM에서 개발한 것입니다. 플랫폼에서 널리 사용됩니다. AI 설명 가능성 360에는 상담사의 설명 가능성 측정항목뿐만 아니라 다양한 설명 차원을 포괄하는 포괄적인 알고리즘 세트가 포함되어 있습니다.
Toolkit은 다음 논문의 알고리즘과 표시기를 결합합니다.
- 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 阶段因此请不要将其用于生产工作流程。
위 내용은 설명 가능한 AI를 위한 10가지 Python 라이브러리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

Oracle 데이터베이스 파일 구조에는 다음이 포함됩니다. 데이터 파일 : 실제 데이터 저장. 제어 파일 : 데이터베이스 구조 정보를 기록합니다. 다시 로그 파일 : 데이터 일관성을 보장하기 위해 트랜잭션 작업을 기록합니다. 매개 변수 파일 : 성능을 최적화하기 위해 데이터베이스 실행 매개 변수를 포함합니다. 아카이브 로그 파일 : 재해 복구를위한 백업 레디 로그 파일.

Oracle 데이터베이스 로그인에는 사용자 이름과 비밀번호뿐만 아니라 연결 문자열 (서버 정보 및 자격 증명 포함) 및 인증 방법도 포함됩니다. SQL*플러스 및 프로그래밍 언어 커넥터를 지원하며 사용자 이름 및 비밀번호, Kerberos 및 LDAP와 같은 인증 옵션을 제공합니다. 일반적인 오류에는 연결 문자열 오류 및 잘못된 사용자 이름/암호가 포함되며 모범 사례는 연결 풀링, 매개 변수화 쿼리, 인덱싱 및 보안 자격 증명 처리에 중점을 둡니다.

이 기사는 데비안 시스템에서 Apache Logs를 분석하여 웹 사이트 성능을 향상시키는 방법을 설명합니다. 1. 로그 분석 기본 사항 Apache Log는 IP 주소, 타임 스탬프, 요청 URL, HTTP 메소드 및 응답 코드를 포함한 모든 HTTP 요청의 자세한 정보를 기록합니다. 데비안 시스템 에서이 로그는 일반적으로 /var/log/apache2/access.log 및 /var/log/apache2/error.log 디렉토리에 있습니다. 로그 구조를 이해하는 것은 효과적인 분석의 첫 번째 단계입니다. 2. 로그 분석 도구 다양한 도구를 사용하여 Apache 로그를 분석 할 수 있습니다.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

C Drive : Registry : 레지스트리 편집기를 사용하여 "Oracle"을 검색하여 설치 경로, 서비스 이름 등을 포함한 정보를 찾기 위해 "Oracle"을 검색하기 위해 "Oracle"을 검색합니다. 파일 시스템 : Oracle 파일은 홈 디렉토리, 시스템 파일, 임시 파일 등을 포함하여 여러 위치에 흩어져 있습니다. 환경 변수 : Oracle_home, Oracle_home, Oracle_home과 같은 환경 변수. 신중한 조치 : Oracle을 제거하면 파일을 삭제해야 할뿐만 아니라 레지스트리 및 서비스를 정리해야합니다. 공식 제거 도구를 사용하거나 전문적인 도움을 구하는 것이 좋습니다. 공간 관리 : C 드라이브에 Oracle 설치를 피하기 위해 디스크 공간을 최적화합니다. 정기적으로 임시 파일을 청소하십시오

개발 환경과 생태계에서 Laravel과 Python의 비교는 다음과 같습니다. 1. Laravel의 개발 환경은 간단하며 PHP와 작곡가 만 필요합니다. Laravelforge와 같은 풍부한 확장 패키지를 제공하지만 확장 패키지 유지 보수는시기 적절하지 않을 수 있습니다. 2. 파이썬의 개발 환경도 간단하며 파이썬과 PIP 만 필요합니다. 생태계는 거대하고 여러 분야를 다루지 만 버전 및 종속성 관리는 복잡 할 수 있습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.
