Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alibi-det summary #1

Open
KevinRyu opened this issue Mar 24, 2022 · 0 comments
Open

alibi-det summary #1

KevinRyu opened this issue Mar 24, 2022 · 0 comments

Comments

@KevinRyu
Copy link
Owner

8.1.1 Chi-Squared

Overview

드리프트 감지기는 범주형 기능에 대해 기능별 카이제곱 테스트를 적용합니다. 다변수 데이터의 경우 얻은
각 기능의 p-값은 Bonferroni 또는 FDR(False Discovery Rate) 수정을 통해 집계됩니다. 그만큼
Bonferroni 보정은 보다 보수적이며 적어도 하나의 위양성 확률을 제어합니다. FDR
반면에 수정을 통해 예상되는 오탐지 비율이 발생할 수 있습니다. 다른 드리프트와 마찬가지로
감지기의 경우 전처리 단계를 적용할 수 있지만 출력 기능은 범주형이어야 합니다.

용법
초기화

인수:
• x_ref: 참조 분포로 사용되는 데이터.

키워드 인수:

• p_val: 카이제곱 검정의 유의성에 사용되는 p-값입니다. FDR 보정 방법을 사용하는 경우 이
허용 가능한 q-값에 해당합니다.

• category_per_feature: 기능 열 인덱스를 키로 사용하고 값으로 숫자를 사용하는 선택적 사전
해당 기능에 대해 가능한 범주형 값 또는 가능한 값이 있는 목록입니다. 카테고리가 몇 개인지 안다면
주어진 기능에 대해 Dict[int, int]의 category_per_feature 사전에 전달할 수 있습니다.
형식, 예: {0:3,3:2}. N개의 범주를 전달하면 기능에 대해 가능한 값이 [0, . . . ,
N-1]. Dict[int, List[int]] 형식으로 가능한 범주를 명시적으로 전달할 수도 있습니다. {0: [0, 1, 2], 3:
[0, 55]}. 범주는 임의의 int 값일 수 있습니다. 지정하지 않으면 category_per_feature
x_ref에서 추론됩니다.

• preprocess_x_ref: 각 가능한 범주에 대한 인스턴스 수를 이미 계산하여 저장할지 여부
검출기 초기화 시 참조 데이터 x_ref의 각 변수. 전처리 단계가 지정되면
단계가 먼저 적용됩니다. 기본값은 True입니다. 전처리 단계에서 False로 설정해야 할 수도 있습니다.
참조 및 테스트 데이터의 통계가 필요합니다.

• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.

• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다. 일반적으로 차원
감소 기술. 카이제곱 검출기에 대한 범주형 기능을 반환해야 합니다.

• 수정: 다변수 데이터에 대한 수정 유형입니다. 'bonferroni' 또는 'fdr'(False Discovery Rate).

• n_features: 카이제곱 테스트에 사용된 특성의 수입니다. 전처리가 필요하지 않으면 전달할 필요가 없습니다.
장소. 전처리 단계의 경우 자동으로 추론할 수도 있지만 비용이 더 많이 들 수 있습니다.
계산하다.

• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표의'.

초기화된 드리프트 감지기 예:

from alibi_detect.cd import ChiSquareDrift
cd = ChiSquareDrift(x_ref, p_val=0.05)

드리프트 감지

우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. 기능별 p-값을 반환할 수 있습니다. return_p_val을 True로 설정하여 다변수 수정 전에. 드리프트는 기능 수준에서도 감지할 수 있습니다.
드리프트_유형을 '기능'으로 설정합니다. n_features의 출력을 반환하므로 다변수 수정이 발생하지 않습니다.
일변량 테스트. 보정과 결합된 모든 기능에 대한 드리프트 감지의 경우 '일괄 처리'를 사용합니다. return_p_val
equal to True는 또한 검출기에서 사용하는 임계값을 반환합니다(단변수의 경우 또는 다변수 이후 보정).
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 기능 수준 p-값을 포함합니다.
• 임계값: 기능 수준 드리프트 감지의 경우 임계값은 중요도에 사용된 p-값과 같습니다.
카이제곱 검정. 그렇지 않으면 다변수 수정 후 임계값(bonferroni 또는 fdr)이 반환됩니다.
• 거리: 다음과 같은 경우 참조 데이터와 새 배치 간의 기능별 카이제곱 검정 통계
return_distance는 True와 같습니다.

저장 및 로드
드리프트 감지기는 다른 감지기와 동일한 방식으로 저장 및 로드할 수 있습니다.

8.1.2 콜모고로프-스미르노프

개요

드리프트 감지기는 기능별 2표본 Kolmogorov-Smirnov(K-S) 테스트를 적용합니다. 다변수 데이터의 경우 얻은
각 기능의 p-값은 Bonferroni 또는 FDR(False Discovery Rate) 수정을 통해 집계됩니다.
Bonferroni 보정은 보다 보수적이며 적어도 하나의 위양성 확률을 제어합니다. FDR
반면에 수정을 통해 예상되는 오탐지 비율이 발생할 수 있습니다.

고차원 데이터의 경우 일반적으로 특징별 일변량을 계산하기 전에 차원을 줄이기를 원합니다.
K-S는 선택한 수정 방법을 통해 테스트하고 집계합니다.

Failing Loudly: 데이터 세트 이동 감지 방법에 대한 실증적 연구,

우리는 Untrained AutoEncoder(UAE)와 블랙박스를 통합합니다.
분류기의 소프트맥스 출력(BBSD)을 즉시 사용 가능한 전처리 방법으로 사용하는 이동 감지 및
PCA는 scikit-learn을 사용하여 쉽게 구현할 수도 있습니다. 분류기에 의존하지 않는 전처리 방법
일반적으로 입력 데이터의 드리프트를 포착하는 반면 BBSD는 레이블 이동에 중점을 둡니다. 일부인 적대적 탐지기
라이브러리의 분류 성능을 감소시키는 드리프트를 포착하는 드리프트 감지기로 변환될 수도 있습니다.
모델. 따라서 우리는 다른 전처리 기술을 결합하여 상처를 주는 드리프트가 있는지 알아낼 수 있습니다.
모델 성능 및 이 드리프트를 입력 드리프트 또는 레이블 이동으로 분류할 수 있는지 여부.
텍스트 데이터에 대한 입력 데이터 드리프트(공변량 이동) 𝑝(𝑥)를 감지하려면 사용자 정의 전처리 단계가 필요합니다. 우리는 선택할 수 있습니다

(컨텍스트) 임베딩을 추출하여 입력의 의미론적 변화를 높이고 드리프트를 감지합니다. 엄밀히
말하자면 전체 훈련 절차(목적 함수, 훈련 데이터) 이후로 더 이상 𝑝(𝑥)
등) (사전) 훈련된 임베딩의 경우 추출한 임베딩에 영향을 미칩니다. 라이브러리에는 다음과 같은 기능이 포함되어 있습니다.
HuggingFace의 변환기 패키지에서 사전 훈련된 임베딩을 활용하지만 자신의 것을 쉽게 사용할 수도 있습니다.
임베딩 선택. 두 옵션 모두 IMDB 영화 리뷰에서 텍스트 드리프트 감지의 예와 함께 설명되어 있습니다.
공책.

용법
초기화
인수:

• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:

• p_val: K-S 검정의 유의성에 사용되는 p-값. FDR 보정 방법을 사용하는 경우 이는 다음과 같습니다.
허용 가능한 q 값.

• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.

• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.

• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다. 일반적으로 차원
감소 기술.
• 수정: 다변수 데이터에 대한 수정 유형입니다. 'bonferroni' 또는 'fdr'(False Discovery Rate).
• Alternative: 대립 가설을 정의합니다. 옵션은 '양면'(기본값), '덜' 또는 '크게'입니다.
• n_features: K-S 테스트에 사용된 기능의 수입니다. 전처리가 일어나지 않으면 통과할 필요가 없습니다. 입력
전처리 단계의 경우 자동으로 추론할 수도 있지만 계산하는 데 비용이 더 많이 들 수 있습니다.
• input_shape: 입력 데이터의 모양.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표 형식' 또는 '이미지'.

초기화된 드리프트 감지기 예:

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. 기능별 p-값을 반환할 수 있습니다.
return_p_val을 True로 설정하여 다변수 수정 전에. 드리프트는 기능 수준에서도 감지할 수 있습니다.
드리프트_유형을 '기능'으로 설정합니다. n_features의 출력을 반환하므로 다변수 수정이 발생하지 않습니다.
일변량 테스트. 보정과 결합된 모든 기능에 대한 드리프트 감지의 경우 '일괄 처리'를 사용합니다. return_p_val
equal to True는 또한 검출기에서 사용하는 임계값을 반환합니다(단변수의 경우 또는 다변수 이후
보정).
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 기능 수준 p-값을 포함합니다.
• 임계값: 기능 수준 드리프트 감지의 경우 임계값은 K-S의 유의성에 사용된 p-값과 같습니다.
테스트. 그렇지 않으면 다변수 수정 후 임계값(bonferroni 또는 fdr)이 반환됩니다.
• 거리: return_distance가 동일한 경우 참조 데이터와 새 배치 간의 기능별 K-S 통계
진실.

저장 및 로드
드리프트 감지기는 다른 감지기와 동일한 방식으로 저장 및 로드할 수 있습니다.

8.1.3 Cramér-von Mises
개요
CVM 드리프트 검출기는 기능별 2개 샘플 Cramér-von Mises를 적용하는 비모수 드리프트 검출기입니다.
(CVM) 테스트. 두 개의 경험적 분포 𝐹(𝑧) 및 𝐹𝑟𝑒𝑓(𝑧)의 경우 CVM 테스트 통계는 다음과 같이 정의됩니다.

𝑊 =Σ︁|𝐹(𝑧) − 𝐹𝑟𝑒𝑓(𝑧)|2 ,
𝑧∈𝑘

여기서 𝑘은 공동 표본입니다. CVM 테스트는 K-S(Kolmogorov-Smirnov) 2-표본 테스트의 대안입니다.
두 경험적 분포 𝐹(𝑧)와 𝐹𝑟𝑒𝑓(𝑧) 사이의 최대 거리를 사용합니다. 풀 조인트 샘플을 사용하여,
CVM은 분산 변화와 같은 더 높은 순간의 이동에 대해 더 큰 힘을 나타낼 수 있습니다.
다변량 데이터의 경우 검출기는 각 기능에 별도의 CVMtest를 적용하고 각 기능에 대해 얻은 p-값
Bonferroni 또는 FDR(False Discovery Rate) 수정을 통해 집계됩니다. 본페로니 보정은
적어도 하나의 위양성 확률에 대해 더 보수적이며 제어합니다. 반면 FDR 보정
가양성(false positive)의 예상 비율이 발생할 수 있습니다. Kolmogorov-와 같은 다른 단변수 검출기와 마찬가지로
Smirnov 검출기, 고차원 데이터의 경우 일반적으로 계산하기 전에 차원을 줄이기를 원합니다.
기능별 일변량 FET 테스트 및 선택한 수정 방법을 통해 집계. 차원 축소 참조
이에 대한 자세한 안내는

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:
• p_val: CVM 테스트의 유의성에 사용되는 p-값. FDR 보정 방법을 사용하는 경우 이는 해당
허용 가능한 q 값으로.

• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• 수정: 다변수 데이터에 대한 수정 유형입니다. 'bonferroni' 또는 'fdr'(False Discovery Rate).
• n_features: CVM 테스트에 사용된 기능의 수입니다. 전처리가 일어나지 않으면 통과할 필요가 없습니다. 입력
전처리 단계의 경우 자동으로 추론할 수도 있지만 계산하는 데 비용이 더 많이 들 수 있습니다.
• input_shape: 입력 데이터의 모양.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표 형식' 또는 '이미지'.
초기화된 드리프트 감지기 예:

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. 기능별 p-값을 반환할 수 있습니다.
return_p_val을 True로 설정하여 다변수 수정 전에. 드리프트는 기능 수준에서도 감지할 수 있습니다.
드리프트_유형을 '기능'으로 설정합니다. n_features의 출력을 반환하므로 다변수 수정이 발생하지 않습니다.
일변량 테스트. 보정과 결합된 모든 기능에 대한 드리프트 감지의 경우 '일괄 처리'를 사용합니다. return_p_val
equal to True는 또한 검출기에서 사용하는 임계값을 반환합니다(단변수의 경우 또는 다변수 이후
보정).
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 기능 수준 p-값을 포함합니다.
• 임계값: 기능 수준 드리프트 감지의 경우 임계값은 중요도에 사용된 p-값과 같습니다.
CVM 테스트. 그렇지 않으면 다변수 수정 후 임계값(bonferroni 또는 fdr)이 반환됩니다.
• 거리: return_distance인 경우 참조 데이터와 새 배치 간의 기능별 CVM 통계
참과 같습니다.

저장 및 로드
곧!

8.1.4 Fisher의 정확 검정
개요
FET 드리프트 검출기는 비모수 드리프트 검출기입니다. 각 기능에 FET(Fisher's Exact Test)를 적용하며 다음과 같습니다.
(True, False) 또는
(0, 1). 이 감지기는 모델의 인스턴스 수준 정확도에서 드리프트를 모니터링하는 감독 설정에서 사용하는 데 이상적입니다.
정확한 예측 = 0, 잘못된 예측 = 1).

검출기는 주로 일변량 데이터용이지만 다변량 설정에서도 사용할 수 있습니다. 다변수의 경우
데이터에서 각 기능에 대해 얻은 p-값은 Bonferroni 또는 False Discovery Rate를 통해 집계됩니다.
(FDR) 수정. Bonferroni 보정은 보다 보수적이며 하나 이상의 거짓 확률을 제어합니다.
긍정적 인. 반면에 FDR 수정을 통해 예상되는 오탐지 비율이 발생할 수 있습니다. 와 같은
고차원 데이터의 경우 Kolmogorov-Smirnov 검출기와 같은 다른 단변량 검출기의 경우 일반적으로
기능별 일변량 FET 테스트를 계산하고 선택한 테스트를 통해 집계하기 전에 차원을 줄입니다.
수정 방법. 이에 대한 자세한 지침은 차원 축소를 참조하십시오.

𝑗𝑡ℎ 기능의 경우 FET 검출기는 참조 데이터 𝑥𝑟𝑒𝑓 간의 2x2 분할표를 고려합니다.
𝑗 및 테스트 데이터
𝑥𝑗 해당 기능:

True (1)  False (0)

𝑥𝑗 𝑁1 𝑁0
𝑥𝑟𝑒𝑓𝑗 𝑁𝑟𝑒𝑓1 𝑁𝑟𝑒𝑓0

어디 𝑁𝑟𝑒𝑓
1은 참조 데이터(𝑗𝑡ℎ 기능의 경우), 𝑁𝑟𝑒𝑓에서 1의 수를 나타냅니다.
0 0의 수 등.
다음 값을 사용하여 승산비를 정의할 수 있습니다.

̂︂OR = (𝑁1/𝑁0) / (𝑁𝑟𝑒𝑓1 / 𝑁𝑟𝑒𝑓0)

귀무가설은 𝐻0 : ̂︂𝑂𝑅 = 1입니다. 즉, 검정과 검정 사이에서 1과 0의 비율은 변하지 않습니다.
1 대 0의 확률은 데이터가 참조에서 추출되었는지 여부와 무관한 참조 분포
또는 테스트 배포. 오프라인 FET 검출기는 대립 가설을 사용하여 단측 또는 양측 테스트를 수행할 수 있습니다.
대체 키워드 인수로 설정:

• Alternative='더 큼'인 경우 대립 가설은 𝐻𝑎 : ̂︂𝑂𝑅 > 1, 즉 1 대 0의 비율이 다음과 같습니다.
참조 분포에 비해 증가했습니다.

• Alternative='less'인 경우 대립 가설은 𝐻𝑎 : ̂︂𝑂𝑅 < 1 즉, 1 대 0의 비율이
참조 분포에 비해 감소했습니다.

• Alternative='two-sided'인 경우 대립 가설은 𝐻𝑎 :̂︂𝑂𝑅 ̸= 1, 즉 1 대 0의 비율입니다.
참조 분포와 비교하여 변경되었습니다.

검출기에 의해 반환된 p-값은 최소한 관찰된 것만큼 극단적인 승산비를 얻을 확률입니다.
(대안에서 지정한 방향으로), 귀무 가설이 참이라고 가정합니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:
• p_val: FET 테스트의 중요성에 사용되는 p-값. FDR 보정 방법을 사용하는 경우 이는 다음과 같습니다.
허용 가능한 q 값.
• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다. 일반적으로 차원
감소 기술.
• 수정: 다변수 데이터에 대한 수정 유형입니다. 'bonferroni' 또는 'fdr'(False Discovery Rate).
• Alternative: 대립 가설을 정의합니다. 옵션은 '크게'(기본값), '작게' 또는 '양면'입니다.
• n_features: FET 테스트에 사용된 기능의 수입니다. 전처리가 일어나지 않으면 통과할 필요가 없습니다. 입력
전처리 단계의 경우 자동으로 추론할 수도 있지만 계산하는 데 비용이 더 많이 들 수 있습니다.
• input_shape: 입력 데이터의 모양.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표 형식' 또는 '이미지'.
초기화된 드리프트 감지기 예:

드리프트 감지

우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. 기능별 p-값을 반환할 수 있습니다.
return_p_val을 True로 설정하여 다변수 수정 전에. 드리프트는 기능 수준에서도 감지할 수 있습니다.
드리프트_유형을 '기능'으로 설정합니다. n_features의 출력을 반환하므로 다변수 수정이 발생하지 않습니다.
일변량 테스트. 보정과 결합된 모든 기능에 대한 드리프트 감지의 경우 '일괄 처리'를 사용합니다. return_p_val
equal to True는 또한 검출기에서 사용하는 임계값을 반환합니다(단변수의 경우 또는 다변수 이후
보정).
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.

• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 기능 수준 p-값을 포함합니다.
• 임계값: 기능 수준 드리프트 감지의 경우 임계값은 FET의 중요성에 사용된 p-값과 같습니다.
테스트. 그렇지 않으면 다변수 수정 후 임계값(bonferroni 또는 fdr)이 반환됩니다.
• 거리: return_distance가 동일한 경우 참조 데이터와 newbatch 간의 기능별 테스트 통계
진실. 이 경우 검정 통계는 승산비에 해당합니다.

Saving and loading
Coming soon!

8.1.5 최대 평균 불일치
개요

최대 평균 불일치(MMD) 검출기는 다변량 2 샘플 테스트를 위한 커널 기반 방법입니다. 그만큼
MMD는 a의 평균 임베딩 𝜇𝑝 및 𝜇𝑞을 기반으로 하는 2개의 분포 p와 q 사이의 거리 기반 측정입니다.
커널 Hilbert 공간 재생성 𝐹:

𝑀𝑀𝐷(𝐹, 𝑝, 𝑞) = ||𝜇𝑝 − 𝜇𝑞||2𝐹

커널 트릭을 적용한 후 2개 분포의 샘플에서 𝑀𝑀𝐷2의 편향되지 않은 추정치를 계산할 수 있습니다.
기본적으로 방사형 기저 함수 커널을 사용하지만 사용자는 자신의 선호 커널을 감지기에 자유롭게 전달할 수 있습니다.
𝑀𝑀𝐷2의 값에 대한 순열 테스트를 통해 𝑝 값을 얻습니다.

고차원 데이터의 경우 일반적으로 순열 테스트를 계산하기 전에 차원을 줄이기를 원합니다.
Failing Loudly: An Empirical Study of Methods for Detecting Dataset Shift의 제안에 따라 다음을 통합합니다.
훈련되지 않은 AutoEncoder(UAE) 및 분류기의 softmax 출력(BBSD)을 외부로 사용하는 블랙박스 시프트 감지
상자 전처리 방법과 PCA는 scikit-learn을 사용하여 쉽게 구현할 수도 있습니다. 전처리
분류기에 의존하지 않는 방법은 일반적으로 입력 데이터에서 드리프트를 선택하는 반면 BBSD는 레이블에 중점을 둡니다.
옮기다.

텍스트 데이터에 대한 입력 데이터 드리프트(공변량 이동) 𝑝(𝑥)를 감지하려면 사용자 정의 전처리 단계가 필요합니다. 우리는 선택할 수 있습니다
(컨텍스트) 임베딩을 추출하여 입력의 의미론적 변화를 높이고 드리프트를 감지합니다. 엄밀히
말하자면 전체 훈련 절차(목적 함수, 훈련 데이터) 이후로 더 이상 𝑝(𝑥)
등) (사전) 훈련된 임베딩의 경우 추출한 임베딩에 영향을 미칩니다. 라이브러리에는 다음과 같은 기능이 포함되어 있습니다.
HuggingFace의 변환기 패키지에서 사전 훈련된 임베딩을 활용하지만 자신의 것을 쉽게 사용할 수도 있습니다.
임베딩 선택. 두 옵션 모두 IMDB 영화 리뷰에서 텍스트 드리프트 감지의 예와 함께 설명되어 있습니다.
공책.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:
• 백엔드: MMD 감지기의 TensorFlow 및 PyTorch 구현과 다양한 사전 처리
단계를 사용할 수 있습니다. 백엔드(tensorflow 또는 pytorch)를 지정합니다. 기본값은 텐서플로입니다.
• p_val: 순열 테스트의 유의성에 사용되는 p-값.
• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다. 일반적으로 차원
감소 기술.
• 커널: MMD를 계산할 때 사용하는 커널. 기본값은 가우스 RBF 커널입니다(alibi_detect.
utils.pytorch 가져오기 GaussianRBF 또는 alib_detect.utils.tensorflow 가져오기
사용된 백엔드에 따라 달라지는 GaussianRBF).
• sigma: np.ndarray로 커널에 대한 선택적 대역폭. 우리는 또한 여러 다른
대역폭, 예: np.array([.5, 1., 1.5]).
• configure_kernel_from_x_ref: 시그마가 지정되지 않은 경우 감지기는 휴리스틱을 통해 이를 추론하고 설정합니다.
시그마를 2개 샘플 사이의 중앙값 쌍별 거리로. configure_kernel_from_x_ref가 True이면
x_ref에서 유추하여 감지기 초기화 시 시그마를 이미 설정할 수 있으므로 예측 단계의 속도가 빨라집니다.
False로 설정하면 예측 시 각 테스트 배치에 대해 시그마가 별도로 계산됩니다.
• n_permutations: 순열 테스트에 사용된 순열의 수.
• input_shape: 선택적으로 입력 데이터의 모양을 전달합니다.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표 형식' 또는 '이미지'.
추가 PyTorch 키워드 인수:
• 장치: CPU용 GPU 및 CPU를 사용하는 cuda 또는 gpu. 장치가 지정되지 않은 경우 감지기는 다음을 시도합니다.
가능하면 GPU를 활용하고 그렇지 않으면 CPU에 폴백합니다.

초기화된 드리프트 감지기 예:

PyTorch의 동일한 감지기:

또한 두 프레임워크에 대한 전처리 기능을 쉽게 추가할 수 있습니다. 다음 예제에서는 무작위로 초기화된
PyTorch의 이미지 인코더:

동일한 기능이 TensorFlow에서 지원되며 주요 차이점은
alibi_detect.cd.tensorflow import preprocess_drift. 의 출력과 같은 기타 전처리 단계
모델의 은닉층 또는 변환기 모델을 사용하여 추출된 텍스트 임베딩은 두 가지 모두에서 유사한 방식으로 사용될 수 있습니다.
프레임워크. 히든 레이어 출력에 대한 TensorFlow 예시:

자세한 내용은 CIFAR10 예제에서 드리프트 감지를 확인하십시오.
Alibi Detect는 또한 Huggingface의
변압기 패키지:

다시 동일한 기능이 TensorFlow에서 지원되지만 from alib_detect.cd.tensorflow 가져오기를 사용합니다.
preprocess_drift 및 alibi_detect.models.tensorflow에서 가져오기 TransformerEmbedding 가져오기.
자세한 내용은 IMDB 영화 리뷰 예제에서 텍스트 드리프트 감지를 확인하십시오.

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. p-값과 임계값을 반환할 수 있습니다.
return_p_val을 True로 설정하고 최대 평균 불일치 메트릭 및 임계값을 설정하여 순열 테스트의
return_distance를 True로 설정합니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 p-값을 포함합니다.
• 임계값: return_p_val이 True인 경우 p-값 임계값.
• 거리: return_distance가 True인 경우 참조 데이터와 새 배치 간의 MMD^2 메트릭.
• distance_threshold: p-값에 해당하는 순열 테스트의 MMD^2 메트릭 값
한계점.

저장 및 로드
드리프트 감지기는 다른 감지기와 동일한 방식으로 저장 및 로드할 수 있습니다.

현재 TensorFlow 백엔드는 save_detector 및 load_detector에 대해 지원됩니다. PyTorch 지원 추가
단기 우선 순위입니다.

8.1.6 최소제곱 밀도차
개요
최소 제곱 밀도 차이 검출기는 다변량 2 샘플 테스트를 위한 방법입니다. 둘 사이의 LSDD
𝒳에 대한 분포 𝑝 및 𝑞은 다음과 같이 정의됩니다.

𝐿𝑆𝐷𝐷(𝑝, 𝑞) =∫𝒳 (𝑝(𝑥) − 𝑞(𝑥))2 𝑑𝑥.

두 개의 샘플이 주어지면 두 개의 기본 분포 사이에서 𝐿𝑆𝐷𝐷의 추정치를 계산하고 다음과 같이 사용할 수 있습니다.
테스트 통계. 그런 다음 𝐿𝑆𝐷𝐷 추정값에 대한 순열 테스트를 통해 𝑝 값을 얻습니다. 실제로 우리는
차원이 높을 때 수치적 안정성을 유지하는 요인으로 스케일링된 LSDD를 실제로 추정합니다.

고차원 데이터의 경우 일반적으로 순열 테스트를 계산하기 전에 차원을 줄이기를 원합니다.
Failing Loudly: An Empirical Study of Methods for Detecting Dataset Shift의 제안에 따라 다음을 통합합니다.
훈련되지 않은 AutoEncoder(UAE) 및 분류기의 softmax 출력(BBSD)을 외부로 사용하는 블랙박스 시프트 감지
상자 전처리 방법과 PCA는 scikit-learn을 사용하여 쉽게 구현할 수도 있습니다. 전처리
분류기에 의존하지 않는 방법은 일반적으로 입력 데이터에서 드리프트를 선택하는 반면 BBSD는 레이블에 중점을 둡니다.
옮기다.

텍스트 데이터에 대한 입력 데이터 드리프트(공변량 이동) 𝑝(𝑥)를 감지하려면 사용자 정의 전처리 단계가 필요합니다. 우리는 선택할 수 있습니다
(컨텍스트) 임베딩을 추출하여 입력의 의미론적 변화를 높이고 드리프트를 감지합니다. 엄밀히
말하자면 전체 훈련 절차(목적 함수, 훈련 데이터) 이후로 더 이상 𝑝(𝑥)
등) (사전) 훈련된 임베딩의 경우 추출한 임베딩에 영향을 미칩니다. 라이브러리에는 다음과 같은 기능이 포함되어 있습니다.
HuggingFace의 변환기 패키지에서 사전 훈련된 임베딩을 활용하지만 자신의 것을 쉽게 사용할 수도 있습니다.
임베딩 선택. 두 옵션 모두 IMDB 영화 리뷰에서 텍스트 드리프트 감지의 예와 함께 설명되어 있습니다.
공책.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:
• 백엔드: LSD 감지기의 TensorFlow 및 PyTorch 구현과 다양한 사전 처리
단계를 사용할 수 있습니다. 백엔드(tensorflow 또는 pytorch)를 지정합니다. 기본값은 텐서플로입니다.
• p_val: 순열 테스트의 유의성에 사용되는 p-값.
• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다. 일반적으로 차원
감소 기술.
• sigma: LSDD 추정에 사용되는 가우스 커널의 대역폭을 선택적으로 설정합니다. 여러 번 통과할 수도 있습니다.
대역폭 값을 배열로. 그런 다음 커널 평가는 해당 대역폭에 대해 평균을 냅니다. 시그마라면
지정되지 않은 경우 '중앙값 휴리스틱'이 채택되어 시그마가 쌍 사이의 중앙값으로 설정됩니다.
참조 샘플.
• n_permutations: 순열 테스트에 사용된 순열의 수.
• n_kernel_centers: 가우스 커널 모델에서 중심으로 사용할 참조 샘플의 수
LSDD를 추정합니다. 기본값은 참조 데이터의 1/20입니다.
• lambda_rd_max: 정규화가 적용되는 LSDD의 두 추정값 간의 최대 상대 차이
매개변수 람다가 발생할 수 있습니다. 논문에서와 같이 기본값은 0.2입니다.
• input_shape: 선택적으로 입력 데이터의 모양을 전달합니다.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표 형식' 또는 '이미지'.
추가 PyTorch 키워드 인수:
• 장치: CPU용 GPU 및 CPU를 사용하는 cuda 또는 gpu. 장치가 지정되지 않은 경우 감지기는 다음을 시도합니다.
가능하면 GPU를 활용하고 그렇지 않으면 CPU에 폴백합니다.
초기화된 드리프트 감지기 예:

PyTorch의 동일한 감지기:

또한 두 프레임워크에 대한 전처리 기능을 쉽게 추가할 수 있습니다. 다음 예제에서는 무작위로 초기화된
PyTorch의 이미지 인코더:

동일한 기능이 TensorFlow에서 지원되며 주요 차이점은
alibi_detect.cd.tensorflow import preprocess_drift. 의 출력과 같은 기타 전처리 단계
모델의 은닉층 또는 변환기 모델을 사용하여 추출된 텍스트 임베딩은 두 가지 모두에서 유사한 방식으로 사용될 수 있습니다.
프레임워크. 히든 레이어 출력에 대한 TensorFlow 예시:

LSDDDrift 검출기는 추가로 시연되는 MMDDrift 검출기와 정확히 동일한 방식으로 사용할 수 있습니다.
CIFAR10 예제의 드리프트 감지에서.
Alibi Detect는 또한 Huggingface의
변압기 패키지:

다시 동일한 기능이 TensorFlow에서 지원되지만 from alib_detect.cd.tensorflow 가져오기를 사용합니다.
preprocess_drift 및 alibi_detect.models.tensorflow에서 가져오기 TransformerEmbedding 가져오기.
자세한 내용은 IMDB 영화 리뷰 예제에서 텍스트 드리프트 감지를 확인하십시오.

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. p-값과 임계값을 반환할 수 있습니다.
return_p_val을 True로 설정하고 최대 평균 불일치 메트릭 및 임계값을 설정하여 순열 테스트의
return_distance를 True로 설정합니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 p-값을 포함합니다.
• 임계값: return_p_val이 True인 경우 p-값 임계값.
• 거리: return_distance가 True인 경우 참조 데이터와 새 배치 간의 LSDD 메트릭.
• distance_threshold: p-값에 해당하는 순열 테스트의 LSDD 메트릭 값
한계점.

8.1.7 학습된 커널
개요
학습된 커널 드리프트 감지기(Liu et al., 2020)는 최대 평균 불일치 드리프트 감지기의 확장입니다.
여기서 MMD를 정의하는 데 사용되는 커널은 결과 추정치를 최대화하기 위해 데이터의 일부를 사용하여 훈련됩니다.
테스트 전원. 커널이 학습되면 MMD 값에 대해 일반적인 방식으로 순열 테스트가 수행됩니다.
이 방법은 분류기를 훈련시켜 인스턴스를 구별하는 분류기 드리프트 검출기와 밀접한 관련이 있습니다.
참조 창에서 및 테스트 창에서 인스턴스. 여기서 차이점은 커널이 출력하도록 훈련한다는 것입니다.
동일한 창의 인스턴스에 대한 높은 유사성과 다른 창의 인스턴스 간의 낮은 유사성. 만약에
이것은 일반화 가능한 방식으로 가능하며 드리프트가 발생했음에 틀림없습니다.
분류자 기반 접근 방식과 마찬가지로 훈련 및 테스트에 사용할 데이터 비율을 각각 지정해야 합니다.
학습률 및 배치 크기와 같은 학습 인수뿐만 아니라 새로운 커널은 각각에 대해 훈련된다는 점에 유의하십시오.
탐지를 위해 통과된 테스트 세트입니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• 커널: 두 개의 인스턴스를 입력으로 사용하고 스칼라를 반환하는 미분 가능한 TensorFlow 또는 PyTorch 모듈
출력으로서의 유사성 개념.
키워드 인수:
• backend: 백엔드(tensorflow 또는 pytorch)를 지정합니다. 이것은 커널의 프레임워크에 따라 다릅니다. 기본값
텐서플로로.
• p_val: 테스트의 중요도에 사용되는 p-값 임계값.
• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다. 입력 데이터 유형이 List[Any]인 경우 update_x_ref는 다음을 수행해야 합니다.
없음으로 설정되고 참조 세트는 고정된 상태로 유지됩니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• n_permutations: MMD가 계산된 후 순열 테스트에서 사용할 순열의 수입니다.
• var_reg: 안정성을 위해 MMD의 추정된 분산에 추가되는 상수입니다.
• reg_loss_fn: 정규화 용어 reg_loss_fn(kernel)이 최적화되는 손실 함수에 추가됩니다.

• train_size: 분류기를 훈련하는 데 사용되는 데이터 세트의 선택적 분수(0과 1 사이의 부동 소수점). 드리프트는
1 - train_size에서 감지되었습니다.
• retrain_from_scratch: 각 테스트 데이터 세트에 대해 커널을 처음부터 다시 교육해야 하는지 또는
대신 이전 세트에서 중단된 위치에서 훈련을 계속해야 하는지 여부.
• 옵티마이저: 커널 훈련 시 사용하는 옵티마이저. PyTorch 및 tf.keras에 대한 torch.optim에서.
TensorFlow용 옵티마이저.
• learning_rate: 옵티마이저에 대한 학습률.
• batch_size: 커널 훈련 시 사용되는 배치 크기.
• preprocess_batch_fn: 선택적 일괄 처리 기능. 예를 들어 일반 개체 목록을 변환하려면
커널에서 처리할 수 있는 텐서로
• epochs: 커널에 대한 교육 epoch의 수입니다.
• verbose: 커널 훈련 중 자세한 정보 수준. 0은 무음이고 1은 진행률 표시줄을 인쇄합니다.
• train_kwargs: 내장 TensorFlow에 대한 선택적 추가 kwargs(alibi_detect.models에서 가져옴).
tensorflow 가져오기 트레이너) 또는 PyTorch(alibi_detect.models.pytorch 가져오기 트레이너에서)
트레이너 기능.
• dataset: 커널 훈련 시 사용하는 Dataset 객체. 기본값은 alibi_detect.utils입니다.
PyTorch 백엔드에 대한 pytorch.data.TorchDataset(torch.utils.data.Dataset의 인스턴스) 및
alibi_detect.utils.tensorflow.data.TFDataset(tf.keras.utils.Sequence의 인스턴스)
텐서플로우 백엔드. PyTorch의 경우 데이터 세트는 Windows x_ref 및 x_test만 입력으로 가져와야 합니다.
예를 들어 TorchDataset은 초기화 시 감지기로 전달되며, 훈련 동안 TorchDataset(x_ref, x_test)이 사용됩니다.
TensorFlow의 경우 데이터 세트는 tf.keras.utils.Sequence의 인스턴스이므로 예를 들어 TFDataset이 전달되었습니다.
TFDataset(x_ref, x_test, batch_size=batch_size, shuffle=True) 훈련 동안 초기화 시 검출기에
사용 된. x_ref 및 x_test는 np.ndarray 또는 List[Any] 유형일 수 있습니다.
• data_type: 선택적으로 데이터 유형(예: 표, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
추가 PyTorch 키워드 인수:
• 장치: CPU용 GPU 및 CPU를 사용하는 cuda 또는 gpu. 장치가 지정되지 않은 경우 감지기는 다음을 시도합니다.
가능하면 GPU를 활용하고 그렇지 않으면 CPU에 폴백합니다.
• dataloader: 커널 훈련 시 사용하는 Dataloader 객체. 기본값은 torch.utils.data입니다.
데이터 로더. 데이터 로더는 아직 초기화되지 않았으며, 이것은 batch_size를 사용하여 감지기를 초기화하는 동안 수행됩니다.
사용자 정의 데이터 로더도 전달할 수 있습니다. 그래프 데이터의 경우 torch_geometric.data를 사용할 수 있습니다.
데이터 로더.

커널 정의
두 개의 인스턴스를 입력으로 사용하고 스칼라를 출력하는 모든 미분 가능한 Pytorch 또는 TensorFlow 모듈(
유사성)은 이 드리프트 검출기에 대한 커널로 사용될 수 있습니다. 그러나 MMD=0이 no-drift를 의미하는지 확인하기 위해
커널은 특성 속성을 만족해야 합니다. 이것은 커널을 다음과 같이 정의하여 보장할 수 있습니다.

𝑘(𝑥, 𝑦) = (1 − 𝜖) * 𝑘𝑎(Φ(𝑥), Φ(𝑦)) + 𝜖 * 𝑘𝑏(𝑥, 𝑦),

여기서 는 학습 가능한 투영이고 𝑘𝑎 및 𝑘𝑏는 가우스 RBF와 같은 단순 특성 커널이며 𝜖 > 0은
작은 상수. 매우 유연하게 함으로써 우리는 이런 방식으로 강력한 커널을 배울 수 있습니다.

이는 alibi_detect에서 제공하는 DeepKernel 클래스를 사용하여 쉽게 구현됩니다. 우리는 우리가 어떻게
Pytorch를 사용하여 이미지에 대한 컨볼루션 커널을 정의할 수 있습니다. 기본적으로 GaussianRBF 커널은 𝑘𝑎 및 𝑘𝑏에 사용됩니다.
여기에서 𝜖 = 0.01을 지정하지만 eps='trainable'로 설정할 수도 있습니다.

감지기 인스턴스화
탐지기를 인스턴스화하는 것은 다음과 같이 참조 데이터와 커널을 전달하는 것만큼 간단합니다.

또는 TensorFlow를 사용하여 커널을 정의하고 감지기를 인스턴스화할 수 있습니다.

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. true와 동일한 return_p_val도 반환됩니다.
테스트의 p-값, true와 동일한 return_distance는 드리프트 및 return_kernel의 강도 개념을 반환합니다.
equals True는 훈련된 커널도 반환합니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• 임계값: 테스트의 중요성을 정의하는 사용자 정의 p-값 임계값
• p_val: return_p_val이 True인 경우 테스트의 p-값입니다.
• 거리: return_distance가 True인 경우 참조 데이터와 새 배치 간의 MMD^2 메트릭.
• distance_threshold: p-값에 해당하는 순열 테스트의 MMD^2 메트릭 값
return_distance가 True인 경우 임계값입니다.
• kernel: return_kernel이 True인 경우 훈련된 커널입니다.

8.1.8 분류기
개요
분류기 기반 드리프트 감지기 Lopez-Paz and Oquab, 2017은 단순히 인스턴스를
참조 세트 대 테스트 세트. 분류기는 주어진 인스턴스가 테스트에 속할 확률을 출력하도록 훈련됩니다.
세트. 보이지 않는 테스트 인스턴스에 할당할 확률이 훨씬 더 높은 경우(Kolmogorov-
Smirnov 테스트)가 보이지 않는 참조 인스턴스에 할당하는 경우 테스트 세트는 참조 세트와 달라야 하고
드리프트 플래그가 지정됩니다. 대안적으로, 검출기는 분류기 예측(0 또는 1)을 이진화하고 이항식을 적용할 수 있습니다.
참조 대 테스트 데이터의 이진화된 예측에 대한 테스트. 사용 가능한 모든 참조 및 테스트 데이터를 활용하려면
계층화된 교차 검증이 적용될 수 있으며 유의성 테스트를 위해 out-of-fold 예측이 사용됩니다. 참고
새로운 분류기는 각 테스트 세트 또는 테스트 세트 내의 각 접힘에 대해 훈련됩니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• 모델: 드리프트 감지에 사용되는 이진 분류 모델. TensorFlow, PyTorch 및 Sklearn 모델은
지원.
키워드 인수:
• 백엔드: 백엔드(tensorflow, pytorch 또는 sklearn)를 지정합니다. 이는 모델의 프레임워크에 따라 다릅니다.
기본값은 텐서플로입니다.
• p_val: 테스트의 중요도에 사용되는 p-값 임계값.
• preprocess_x_ref: 초기화 시 참조 데이터에 (선택) 전처리 단계를 이미 적용할지 여부
그리고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 것이 가능하다
전처리 단계에서 참조와 테스트 모두의 통계가 필요한 경우 False로 설정해야 합니다.
평균 또는 표준 편차와 같은 데이터.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다. 입력 데이터 유형이 List[Any]인 경우 update_x_ref는 다음을 수행해야 합니다.
없음으로 설정되고 참조 세트는 고정된 상태로 유지됩니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• preds_type: 모델이 'probs'를 출력하는지 여부(확률 - 'tensorflow', 'pytorch', 'sklearn' 모델의 경우),
'logits'('pytorch', 'tensorflow' 모델의 경우), 'scores'(decision_function이 지원되는 경우 'sklearn' 모델의 경우).
• binarize_preds: 소프트(예: probs/logits/scores) 모델 예측에 대한 불일치를 직접 테스트할지 여부
K-S 테스트를 사용하거나 0-1 예측 오류로 이진화하고 이항 테스트를 적용합니다. 기본값은 False이므로
K-S 테스트를 적용합니다.
• train_size: 분류기를 훈련하는 데 사용되는 데이터 세트의 선택적 분수(0과 1 사이의 부동 소수점). 드리프트는
1 - train_size에서 감지되었습니다. n_folds와 함께 사용할 수 없습니다.
• n_folds: 훈련에 사용되는 계층화된 접기의 선택적 수입니다. 그런 다음 모델 pred는 모든
아웃 오브 폴드 예측. 이를 통해 비용을 들이고 드리프트 감지를 위해 모든 참조 및 테스트 데이터를 활용할 수 있습니다.
더 긴 계산. train_size와 n_folds를 모두 지정하면 n_folds가 우선 적용됩니다.
• seed: 폴드 선택을 위한 선택적 임의 시드.
• 옵티마이저: 분류기 훈련 중에 사용되는 옵티마이저. PyTorch 및 tf.keras에 대한 torch.optim에서.
TensorFlow용 옵티마이저.
• learning_rate: 옵티마이저에 대한 학습률. tensorflow 및 pytorch 백엔드에만 관련이 있습니다.
• batch_size: 분류기 훈련 중에 사용되는 배치 크기입니다. tensorflow 및 pytorch 백엔드에만 관련이 있습니다.
• epochs: 분류기에 대한 훈련 에포크의 수입니다. n_folds가 지정된 경우 각 접기에 적용됩니다. 관련만
tensorflow 및 pytorch 백엔드용.
• verbose: 분류기 훈련 중 자세한 정보 수준입니다. 0은 무음이고 1은 진행률 표시줄을 인쇄합니다. 관련만
tensorflow 및 pytorch 백엔드용.
• train_kwargs: 내장 TensorFlow에 대한 선택적 추가 kwargs(alibi_detect.models에서 가져옴).
tensorflow 가져오기 트레이너) 또는 PyTorch(alibi_detect.models.pytorch 가져오기 트레이너에서)
트레이너 기능.

• dataset: 분류기 훈련 중에 사용되는 Dataset 객체. 기본값은 alibi_detect.utils입니다.
PyTorch 백엔드에 대한 pytorch.data.TorchDataset(torch.utils.data.Dataset의 인스턴스) 및
alibi_detect.utils.tensorflow.data.TFDataset(tf.keras.utils.Sequence의 인스턴스)
텐서플로우 백엔드. PyTorch의 경우 데이터 세트는 데이터 x와 레이블 y의 배열만 입력으로 가져와야 합니다.
예를 들어 TorchDataset은 TorchDataset(x, y)가 사용되는 동안 초기화 시 감지기로 전달됩니다. 을위한
TensorFlow에서 데이터 세트는 tf.keras.utils.Sequence의 인스턴스이므로 예를 들어 TFDataset은
TFDataset(x, y, batch_size=batch_size, shuffle=True)를 훈련하는 동안 초기화 시 감지기가 사용됩니다. x 수 있습니다
np.ndarray 또는 List[Any] 유형의 y는 np.ndarray 유형입니다.
• data_type: 선택적으로 데이터 유형(예: 표, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
추가 PyTorch 키워드 인수:
• 장치: CPU용 GPU 및 CPU를 사용하는 cuda 또는 gpu. 장치가 지정되지 않은 경우 감지기는 다음을 시도합니다.
가능하면 GPU를 활용하고 그렇지 않으면 CPU에 폴백합니다.
• dataloader: 모델 훈련 중에 사용되는 Dataloader 객체. 기본값은 torch.utils.data입니다.
데이터 로더. 데이터 로더는 아직 초기화되지 않았으며, 이것은 batch_size를 사용하여 감지기를 초기화하는 동안 수행됩니다.
사용자 정의 데이터 로더도 전달할 수 있습니다. 그래프 데이터의 경우 torch_geometric.data를 사용할 수 있습니다.
데이터 로더.
추가 Sklearn 키워드 인수:
• use_calibration : 캘리브레이션 사용 여부. 보정은 모든 모델에서 사용할 수 있습니다. 관련만
sklearn' 백엔드용.
• calibration_kwargs : 보정을 위한 선택적 추가 kwargs입니다. 'sklearn' 백엔드에만 해당됩니다. 보다
자세한 내용은 https://scikit-learn.org/stable/modules/generated/sklearn.calibration.CalibratedClassifierCV.html을 참조하세요.
초기화된 TensorFlow 드리프트 감지기 예시:

PyTorch를 사용하는 유사한 감지기:

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. true와 동일한 return_p_val도 반환됩니다.
테스트의 p-값, return_distance가 True와 같으면 드리프트 및 return_probs의 강도 개념을 반환합니다.
equals True는 참조 및 테스트 데이터에 대한 out-of-fold 분류기 모델 예측 확률도 반환합니다(0 =
참조 데이터, 1 = 테스트 데이터).
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• 임계값: 테스트의 중요성을 정의하는 사용자 정의 임계값
• p_val: return_p_val이 True인 경우 테스트의 p-값입니다.
• 거리: return_distance가 True인 경우 드리프트의 강도 개념. K-S 검정 통계량과 동일
binarize_preds가 False 또는 아래에서 예상되는 기준선 오류에 대한 상대 오류 감소와 같다고 가정합니다.
binarize_preds가 True인 경우 null입니다.
• probs_ref: 참조 데이터 x_ref에 대한 인스턴스 수준 예측 확률(0 = 참조 데이터, 1 = 테스트
데이터) return_probs가 True인 경우.
• probs_test: return_probs가 true인 경우 테스트 데이터 x에 대한 인스턴스 수준 예측 확률.

저장 및 로드
드리프트 감지기는 다른 감지기와 동일한 방식으로 저장 및 로드할 수 있습니다.

현재 TensorFlow 백엔드는 save_detector 및 load_detector에 대해 지원됩니다. PyTorch 지원 추가
단기 우선 순위입니다.

8.1.9 차이점 찾기
개요
spot-the-diff 드리프트 검출기는 분류기가 a에 지정된 분류기 드리프트 검출기의 확장입니다.
탐지가 발생할 때 기능 수준에서 탐지를 해석할 수 있도록 하는 방식입니다. 탐지기는 작업에서 영감을 얻었습니다.
Jitkrittum et al. (2016) 그러나 다양한 주요 적응이 이루어졌습니다.
일반적인 분류기 기반 접근 방식과 마찬가지로 사용 가능한 데이터의 일부는 식별할 수 있는 분류기를 훈련하는 데 사용됩니다.
테스트 인스턴스의 참조 인스턴스. 분류기가 일반화 가능한 방식으로 판별하는 방법을 배울 수 있다면 드리프트
발생했어야 합니다. 여기에서 분류자가 다음 형식을 취하도록 추가로 시행합니다.

logit(^𝑝𝑇 ) = 𝑏0 + 𝑏1𝑘(𝑥,𝑤1) + ... + 𝑏𝐽𝑘(𝑥,𝑤𝐽 ),

여기서 ^𝑝𝑇은 인스턴스 𝑥가 (참조가 아니라) 테스트 창에서 나온 예측 확률이고, 𝑘(·, ·)은 커널입니다.
인스턴스 간의 유사성 개념을 지정하면 𝑤𝑖는 학습 가능한 테스트 위치이고 𝑏𝑖는 학습 가능한 회귀입니다.
계수.

감지기 플래그가 드리프트하고 𝑏𝑖 > 0이면 각 인스턴스가 얼마나 유사한지를 고려하여 결정에 도달했음을 알 수 있습니다.
𝑤𝑖 인스턴스에 대한 것이며, 더 유사한 것들은 참조 인스턴스보다 테스트 인스턴스일 가능성이 더 높습니다.
또는 𝑏𝑖 < 0이면 𝑤𝑖와 더 유사한 인스턴스가 참조 인스턴스일 가능성이 더 높은 것으로 간주됩니다.
노이즈가 적고 해석 가능한 결과를 제공하기 위해 각 테스트 위치를 다음과 같이 정의합니다.

𝑤𝑖 = 𝑥_bar + 𝑑𝑖

여기서 𝑥는 평균 참조 인스턴스입니다. 그런 다음 𝑑𝑖를 가법 변환으로 해석할 수 있습니다.
테스트 인스턴스와 유사한 평균 참조(𝑏𝑖 > 0) 이하(𝑏𝑖 < 0). 이러한 방식으로 테스트 위치를 정의하면
대신 𝑑𝑖의 차이점을 배우고 0이 아닌 값이 개선된 방법으로 정당화되도록 정규화를 적용합니다.
분류 성능. 이를 통해 감지된 드리프트에 기인해야 하는 기능을 보다 명확하게 식별할 수 있습니다.
에게.
표준 분류자 기반 접근 방식과 마찬가지로 교육 및 테스트에 사용할 데이터 비율을 지정해야 합니다.
학습률 및 배치 크기와 같은 학습 인수뿐만 아니라 각각. 분류기는 다음을 위해 훈련되었습니다.
탐지를 위해 통과된 각 테스트 세트.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:
• backend: 커널을 정의하고 테스트 위치를 훈련하는 데 사용할 백엔드(tensorflow 또는 pytorch)를 지정합니다.
차이점.
• p_val: 테스트의 중요도에 사용되는 p-값 임계값.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• 커널: 두 개의 인스턴스를 입력으로 사용하고 스칼라를 반환하는 미분 가능한 TensorFlow 또는 PyTorch 모듈
유사성 os 출력의 개념. 기본값은 가우스 방사형 기저 함수입니다.
• n_diffs: 각각 해석 가능한 차이에 해당하는 사용할 테스트 위치의 수입니다.
• initial_diffs: 학습할 diff를 초기화하는 데 사용되는 배열입니다. 각 기능의 기본값은 가우스입니다.
참조 데이터의 분산과 동일합니다.
• l1_reg: 차이에 적용할 l1 정규화의 강도.
• binarize_preds: 소프트(예: probs/logits) 모델 예측에서 불일치를 테스트할지 여부
K-S 테스트 또는 0-1 예측 오류로 이진화하고 이항 테스트를 적용합니다.
• train_size: 분류기를 훈련하는 데 사용되는 데이터 세트의 선택적 분수(0과 1 사이의 부동 소수점). 드리프트는
1 - train_size에서 감지되었습니다. n_folds와 함께 사용할 수 없습니다.
• n_folds: 훈련에 사용되는 계층화된 접기의 선택적 수입니다. 그런 다음 모델 pred는 모든
아웃 오브 폴드 인스턴스. 이를 통해 드리프트 감지를 위해 모든 참조 및 테스트 데이터를 활용할 수 있습니다.
더 긴 계산. train_size와 n_folds를 모두 지정하면 n_folds가 우선 적용됩니다.
• retrain_from_scratch: 분류기를 테스트 데이터의 각 세트에 대해 처음부터 다시 교육해야 하는지 또는
대신 이전 세트에서 중단된 위치에서 훈련을 계속해야 하는지 여부.
• seed: 폴드 선택을 위한 선택적 임의 시드.
• 옵티마이저: 커널 훈련 시 사용하는 옵티마이저. PyTorch 및 tf.keras에 대한 torch.optim에서.
TensorFlow용 옵티마이저.
• learning_rate: 옵티마이저에 대한 학습률.
• batch_size: 커널 훈련 시 사용되는 배치 크기.
• preprocess_batch_fn: 선택적 일괄 처리 기능. 예를 들어 일반 개체 목록을 변환하려면
커널에서 처리할 수 있는 텐서로
• epochs: 커널에 대한 교육 epoch의 수입니다.
• verbose: 커널 훈련 중 자세한 정보 수준. 0은 무음이고 1은 진행률 표시줄을 인쇄합니다.
• train_kwargs: 내장 TensorFlow에 대한 선택적 추가 kwargs(alibi_detect.models에서 가져옴).
tensorflow 가져오기 트레이너) 또는 PyTorch(alibi_detect.models.pytorch 가져오기 트레이너에서)
트레이너 기능.
• dataset: 분류기 훈련 중에 사용되는 Dataset 객체. 기본값은 alibi_detect.utils입니다.
PyTorch 백엔드에 대한 pytorch.data.TorchDataset(torch.utils.data.Dataset의 인스턴스) 및
alibi_detect.utils.tensorflow.data.TFDataset(tf.keras.utils.Sequence의 인스턴스)
텐서플로우 백엔드. PyTorch의 경우 데이터 세트는 데이터 x와 레이블 y의 배열만 입력으로 가져와야 합니다.
예를 들어 TorchDataset은 TorchDataset(x, y)가 사용되는 동안 초기화 시 감지기로 전달됩니다. 을위한
TensorFlow에서 데이터 세트는 tf.keras.utils.Sequence의 인스턴스이므로 예를 들어 TFDataset은
TFDataset(x, y, batch_size=batch_size, shuffle=True)를 훈련하는 동안 초기화 시 감지기가 사용됩니다. x 수 있습니다
np.ndarray 또는 List[Any] 유형의 y는 np.ndarray 유형입니다.
• data_type: 선택적으로 데이터 유형(예: 표, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
추가 PyTorch 키워드 인수:
• 장치: CPU용 GPU 및 CPU를 사용하는 cuda 또는 gpu. 장치가 지정되지 않은 경우 감지기는 다음을 시도합니다.
가능하면 GPU를 활용하고 그렇지 않으면 CPU에 폴백합니다.
• dataloader: 분류기 훈련 중에 사용되는 Dataloader 객체. 기본값은 torch.utils.data입니다.
데이터 로더. 데이터 로더는 아직 초기화되지 않았으며, 이것은 batch_size를 사용하여 감지기를 초기화하는 동안 수행됩니다.
사용자 정의 데이터 로더도 전달할 수 있습니다. 그래프 데이터의 경우 torch_geometric.data를 사용할 수 있습니다.
데이터 로더.

커널 정의
두 개의 인스턴스를 입력으로 사용하고 스칼라를 출력하는 모든 미분 가능한 Pytorch 또는 TensorFlow 모듈(
유사성)은 이 드리프트 검출기에 대한 커널로 사용될 수 있습니다. 기본적으로 간단한 가우스 RBF 커널이 사용됩니다. 유지
간단한 커널은 해석에 도움이 될 수 있지만 대안적으로 다음 형식의 "딥 커널"

𝑘(𝑥, 𝑦) = (1 − 𝜖) * 𝑘𝑎(Φ(𝑥), Φ(𝑦)) + 𝜖 * 𝑘𝑏(𝑥, 𝑦),

여기서 는 (미분 가능한) 투영이고, 𝑘𝑎 및 𝑘𝑏는 간단한 커널(예: 가우스 RBF)이고 𝜖 > 0은 작은
상수를 사용할 수 있습니다. alibi_detect.utils.tensorflow.kernels 또는
alibi_detect.utils.pytorch.kernels는 이러한 커널을 간단하게 정의하는 것을 목표로 합니다. 당신은 허용해서는 안됩니다
학습 가능한 매개변수가 너무 많지만 분류자가 테스트 위치를 사용하여 구별하기를 원하므로
커널 매개변수보다

감지기 인스턴스화
감지기를 인스턴스화하는 것은 참조 데이터를 전달하고 백엔드를 선택하는 것만큼 간단하지만
모델이 테스트 인스턴스와 참조를 구별하는 데 사용할 "차이점"의 수를 고려하십시오.
적용하려는 정규화의 강도.
n_diffs=1을 사용하는 것이 해석하기 가장 간단하고 실제로 잘 작동하는 것 같습니다. 더 많은 diff를 사용하면
감지 능력은 더 강력하지만 상호 작용 및 조건부 종속성으로 인해 diff를 해석하기가 더 어려울 수 있습니다.
diff에 적용할 정규화의 강도(l1_reg)도 지정해야 합니다. 더 강력한 정규화
분류자가 더 적은 수의 기능을 사용하여 구별하도록 권장되기 때문에 결과가 희박한 diff가 됩니다. 이것은 diff를 더 많이 만들 수 있습니다
해석 가능하지만 탐지 능력을 희생해야 할 수도 있습니다.
또는 TensorFlow 백엔드를 사용하고 컨볼루션 구조로 깊은 커널을 정의할 수 있습니다.

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. true와 동일한 return_p_val도 반환됩니다.
테스트의 p-값인 return_distance가 True와 같으면 드리프트의 강도 개념인 return_probs를 반환합니다.
equals True는 참조 및 테스트 데이터에 대한 out-of-fold 분류기 모델 예측 확률을 반환합니다(0 = 참조
data, 1 = 테스트 데이터) 및 return_kernel이 True와 같으면 훈련된 커널도 반환됩니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• diffs: 테스트 인스턴스에서 참조를 구별하는 데 사용되는 diff를 포함하는 numpy 배열.
• diff_coeffs 계수는 0보다 큰 계수가 대응하는 각 diff에 해당합니다.
diff는 평균 참조 인스턴스를 평균적으로 테스트 인스턴스와 더 유사하고 0보다 작게 만듭니다.
덜 유사함을 의미합니다.
• 임계값: 테스트의 중요성을 정의하는 사용자 정의 p-값 임계값
• p_val: return_p_val이 True인 경우 테스트의 p-값입니다.
• 거리: return_distance가 True인 경우 드리프트의 강도 개념. K-S 검정 통계량과 동일
binarize_preds가 False 또는 아래에서 예상되는 기준선 오류에 대한 상대 오류 감소와 같다고 가정합니다.
binarize_preds가 True인 경우 null입니다.
• probs_ref: 참조 데이터 x_ref에 대한 인스턴스 수준 예측 확률(0 = 참조 데이터, 1 = 테스트
데이터) return_probs가 True인 경우.
• probs_test: return_probs가 true인 경우 테스트 데이터 x에 대한 인스턴스 수준 예측 확률.
• kernel: return_kernel이 True인 경우 훈련된 커널입니다.

8.1.10 모델 불확실성
개요
모델 불확실성 드리프트 감지기는 관심 모델의 성능에 영향을 미칠 가능성이 있는 드리프트를 직접 감지하는 것을 목표로 합니다.
접근 방식은 모델이 있는 입력 공간의 영역에 속하는 인스턴스 수의 변화를 테스트하는 것입니다.
예측이 불확실하다. 참조 세트의 각 인스턴스에 대해 검출기는 모델의 예측을 얻고 일부
불확실성의 관련 개념. 예를 들어 분류기의 경우 예측된 레이블 확률의 엔트로피일 수 있습니다.
또는 dropout 레이어가 있는 회귀자의 경우 dropout Monte Carlo를 사용하여 불확실성 개념을 제공할 수 있습니다. 똑같다
테스트 세트에 대해 수행되고 불확실성의 상당한 차이가 감지되면(Kolmogorov-Smirnoff 테스트를 통해)
드리프트 플래그가 지정됩니다. 검출기의 참조 세트는 모델의 훈련 세트와 분리되어야 합니다.
신뢰도가 더 높을 수 있습니다.)
ClassifierUncertaintyDrift는 분류 모델과 함께 사용해야 하는 반면 RegressorUncertaintyDrift는
회귀 모델과 함께 사용해야 합니다. 그것들은 거의 같은 방식으로 사용됩니다.
기본적으로 ClassifierUncertaintyDrift는 Uncertainty_type='entropy'를 불확실성의 개념으로 사용합니다.
분류기 예측 및 Kolmogorov-Smirnov 2-표본 테스트가 이러한 연속 값에 대해 수행됩니다. 하지만
Uncertainty_type='margin'은 분류기의 예측이 다음 범위에 속하는지 불확실한 것으로 간주하도록 지정할 수도 있습니다.
마진(예: 이진 분류기 확률의 경우 [0.45,0.55])(Sethi 및 Kantardzic(2017)과 유사) 및 Chi-
이러한 0-1 불확실성 플래그에 대해 제곱 2표본 테스트가 수행됩니다.
기본적으로 RegressorUncertaintyDrift는 Uncertainty_type='mc_dropout'을 사용하고 PyTorch 또는 TensorFlow를 가정합니다.
드롭아웃 레이어를 회귀자로 사용하는 모델입니다. 여러 드롭아웃 구성에서 모델을 평가합니다.
그리고 불확실성의 개념으로 변동을 사용합니다. 또는 (각 인스턴스에 대해) 벡터를 출력하는 모델
의 독립 모델 예측을 전달할 수 있고 불확실성_유형='앙상블'을 지정할 수 있습니다. 다시
변동은 불확실성의 개념으로 간주되며 두 경우 모두 Kolmogorov-Smirnov 2-표본 검정이 수행됩니다.
불확실성의 지속적인 개념에 대해.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터. 모델의 훈련 세트에서 분리되어야 합니다.
• 모델: 성능을 일정하게 유지하려는 관심 모델.
키워드 인수:
• p_val: 검정의 유의성에 사용되는 p-값.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.
• data_type: 선택적으로 데이터 유형(예: 표, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
ClassifierUncertaintyDrift 관련 키워드 인수:
• preds_type: 모델의 예측 출력 유형. 옵션은 'probs'([0,1]) 또는 'logits'([-inf,inf])입니다.

• Uncertainty_type: 주어진 인스턴스에 대한 모델의 불확실성을 결정하는 방법. 옵션은 '엔트로피'
또는 '여백'.
• margin_width: Uncertainty_type = 'margin'인 경우 여백의 너비. 모델은 불확실한 것으로 간주됩니다.
인스턴스에 할당하는 가장 높은 두 클래스 확률이 이보다 작은 경우 인스턴스입니다.
RegressorUncertaintyDrift 관련 키워드 인수:
• Uncertainty_type: 주어진 인스턴스에 대한 모델의 불확실성을 결정하는 방법. 옵션은
'mc_dropout' 또는 '앙상블'. 전자의 경우 모델에는 드롭아웃 레이어가 있어야 하며 인스턴스당 스칼라를 출력해야 합니다.
후자의 경우 모델은 인스턴스당 예측 벡터를 출력해야 합니다.
• n_evals: 다양한 드롭아웃 구성에서 모델을 평가하는 횟수입니다. 다음 경우에만 관련
'mc_dropout' 불확실성 유형을 사용합니다.
일괄 예측이 필요한 경우 추가 인수:
• 백엔드: 모델을 정의하는 데 사용된 프레임워크. 옵션은 'tensorflow' 또는 'pytorch'입니다.
• batch_size: 모델 평가에 사용할 배치 크기. 기본값은 32입니다.
• 장치: 사용할 장치의 종류. 기본값 없음은 GPU 사용을 시도하고 필요한 경우 CPU로 대체합니다. 수
'cuda', 'gpu' 또는 'cpu'를 전달하여 지정합니다. 'pytorch' 백엔드에만 해당됩니다.
NLP 모델에 대한 추가 인수
• 토크나이저: 데이터를 모델에 전달하기 전에 사용하는 토크나이저.
• max_len: 토크나이저가 사용할 최대 길이.


확률을 출력하는 TensorFlow 분류기용 드리프트 감지기:

스칼라를 출력하는 PyTorch 회귀자(드롭아웃 레이어 포함)에 대한 드리프트 감지기:

PyTorch RegressorUncertaintyDrift 검출기의 경우 드롭아웃 레이어는 nn 내에 정의되어야 합니다.
불확실성 추정치를 계산할 때 학습 모드로 설정할 수 있는 모듈 초기화, 예:

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. true와 동일한 return_p_val도 반환됩니다.
테스트의 p-값과 True와 같은 return_distance는 테스트 통계를 반환합니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• 임계값: 테스트의 중요성을 정의하는 사용자 정의 임계값.
• p_val: return_p_val이 True인 경우 테스트의 p-값입니다.
• 거리: return_distance가 True인 경우 테스트 통계입니다.

8.1.11 혼합형 표 데이터
개요
드리프트 감지기는 연속 수치 특징에 대해 특징별 2표본 Kolmogorov-Smirnov(K-S) 테스트를 적용합니다.
범주형 기능에 대한 카이 제곱 테스트. 다변수 데이터의 경우 각 기능에 대해 얻은 p-값
Bonferroni 또는 FDR(False Discovery Rate) 수정을 통해 집계됩니다. 본페로니 보정은
적어도 하나의 위양성 확률에 대해 더 보수적이며 제어합니다. 반면 FDR 보정
가양성(false positive)의 예상 비율이 발생할 수 있습니다. 다른 드리프트 감지기와 유사하게 전처리 단계
적용할 수 있지만 출력 기능은 범주형이어야 합니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
키워드 인수:
• p_val: 모든 기능에서 K-S 및 카이제곱 검정의 유의성에 사용되는 p-값입니다. FDR 수정
방법이 사용되는 경우 이는 허용되는 q-값에 해당합니다.
• category_per_feature: 범주형 기능의 열 인덱스를 키로 사용하고 선택적으로 사전
값으로 해당 기능에 대해 가능한 범주형 값의 수 또는 가능한 값이 있는 목록입니다. 만약에
어떤 기능이 범주형인지 알고 있으며 범주형 기능의 가능한 값을 추론하려는 경우
참조 데이터에서 기능 0과 3이 다음과 같은 경우 {0: None, 3: None}과 같은 Dict[int, NoneType]을 전달할 수 있습니다.
범주형. 주어진 기능에 대해 얼마나 많은 카테고리가 있는지 알고 있다면 이것을 전달할 수 있습니다.
dict[int, int] 형식의 category_per_feature 사전, 예: {0:3,3:2}. N개의 카테고리를 통과하면
특성에 대해 가능한 값이 [0, . . . , N-1]. 가능한 범주를 명시적으로 전달할 수도 있습니다.
Dict[int, List[int]] 형식, 예. {0: [0, 1, 2], 3: [0, 55]}. 범주는 임의의 int 값일 수 있습니다.
• preprocess_x_ref: 각 가능한 카테고리에 대한 인스턴스 수를 이미 계산하여 저장할지 여부
검출기를 초기화할 때 참조 데이터 x_ref의 각 범주형 변수. 전처리 단계인 경우
가 지정되면 단계가 먼저 적용됩니다. 기본값은 True입니다. 다음과 같은 경우 False로 설정해야 할 수 있습니다.
전처리 단계에는 참조 데이터와 테스트 데이터 모두의 통계가 필요합니다.
• update_x_ref: 참조 데이터는 선택적으로 감지기에 의해 또는
크기가 N인 저수지 샘플링. 전자의 경우 매개변수는 {'last': N}이고 저수지 샘플링의 경우
{'reservoir_sampling': N}이 전달되었습니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다. 일반적으로 차원
감소 기술.
• 수정: 다변수 데이터에 대한 수정 유형입니다. 'bonferroni' 또는 'fdr'(False Discovery Rate).
• Alternative: K-S 검정에 대한 대립 가설을 정의합니다. 옵션은 '양면'(기본값), '덜' 또는
'보다 큰'. 범주형 특성과 수치 특성을 혼합할 때는 '양면'을 사용해야 합니다.
• n_features: K-S 및 카이제곱 테스트에 사용된 특성의 수입니다. 전처리가 없으면 통과할 필요 없음
일어난다. 전처리 단계의 경우 자동으로 추론할 수도 있지만 더 비쌀 수 있습니다.
계산하기.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표의'.
초기화된 드리프트 감지기 예:

드리프트 감지
우리는 단순히 인스턴스 x의 배치에 대해 predict를 호출하여 데이터 드리프트를 감지합니다. 기능별 p-값을 반환할 수 있습니다.
return_p_val을 True로 설정하여 다변수 수정 전에. 드리프트는 기능 수준에서도 감지할 수 있습니다.
드리프트_유형을 '기능'으로 설정합니다. n_features의 출력을 반환하므로 다변수 수정이 발생하지 않습니다.
일변량 테스트. 보정과 결합된 모든 기능에 대한 드리프트 감지의 경우 '일괄 처리'를 사용합니다. return_p_val
equal to True는 또한 검출기에서 사용하는 임계값을 반환합니다(단변수의 경우 또는 다변수 이후
보정).
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 기능 수준 p-값을 포함합니다.
• 임계값: 기능 수준 드리프트 감지의 경우 임계값은 K-S의 유의성에 사용된 p-값과 같습니다.
및 카이 제곱 테스트. 그렇지 않으면 다변수 수정 후 임계값(bonferroni 또는 fdr)은 다음과 같습니다.
돌아왔다.
• 거리: 다음과 같은 경우 참조 데이터와 새 배치 간의 기능별 K-S 또는 카이 제곱 통계
return_distance는 True와 같습니다.

저장 및 로드
드리프트 감지기는 다른 감지기와 동일한 방식으로 저장 및 로드할 수 있습니다.

8.1.12 컨텍스트 인식 최대 평균 불일치
개요
컨텍스트 인식 최대 평균 불일치 드리프트 감지기(Cobb and Van Looveren, 2022)는 커널 기반 방법입니다.
관련 컨텍스트를 고려할 수 있는 방식으로 드리프트를 감지합니다. 일반 드리프트 감지기는 다음을 감지합니다.
두 샘플 세트의 기본 분포 {𝑥0𝑖}𝑛0𝑖=1 및 {𝑥1𝑖}𝑛1𝑖=1 다름. 상황 인식 드리프트 감지기는
연관된 컨텍스트 변수 세트 간의 해당 차이에 기인할 수 없는 차이 {𝑐0𝑖}𝑛0𝑖=1 그리고 {𝑐1𝑖}𝑛1𝑖=1.

컨텍스트 인식 드리프트 감지기는 실무자에게 원하는 컨텍스트 변수를 지정할 수 있는 유연성을 제공합니다. 그것은 수 있습니다
기능의 하위 집합과 같은 데이터의 변환 또는 시간 또는 날씨와 같은 관련 없는 인덱싱 수량입니다.
실무자가 참조 창과 테스트 창 사이에서 변경하기를 원하는 모든 것은 다음과 같아야 합니다.
컨텍스트 변수 내에서 캡처됩니다.

기술 수준에서 이 방법은 최대 평균 불일치 감지기와 유사한 방식으로 작동합니다. 하지만,
𝑋ref와 𝑋test의 커널 평균 임베딩 간의 차이 제곱 추정치를 테스트로 사용하는 대신
통계, 이제 우리는 커널 조건부 평균 임베딩 간의 예상 제곱 차이 추정치를 사용합니다.
의𝑋ref|𝐶 및𝑋test|𝐶. 뿐만 아니라 테스트 통계를 정의하는 데 필요한 데이터𝑋의 공간에 정의된 커널, 추정
통계에는 컨텍스트 변수 𝐶의 공간에 정의된 커널이 추가로 필요합니다. 주어진 실현에 대해

테스트 통계는 연관된 p-값이 조건부 순열 테스트를 사용하여 계산됩니다.
탐지기는 훈련 데이터에 다양한 컨텍스트와 개별 테스트 창이 포함된 경우를 위해 설계되었습니다.
훨씬 더 제한된 하위 집합을 다룰 수 있습니다. 테스트 컨텍스트가 해당 지원 범위 내에 있다고 가정합니다.
참조 세트에서 관찰됩니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• c_ref: 참조 배포에 대한 컨텍스트입니다.
키워드 인수:
• 백엔드: 컨텍스트 인식 MMD 감지기의 TensorFlow 및 PyTorch 구현과 다양한
전처리 단계를 사용할 수 있습니다. 백엔드(tensorflow 또는 pytorch)를 지정합니다. 기본값은 텐서플로입니다.
• p_val: 순열 테스트의 유의성에 사용되는 p-값.
• preprocess_x_ref: (선택적) 전처리 단계를 참조 데이터 x_ref에 이미 적용할지 여부
초기화하고 전처리된 데이터를 저장합니다. 전처리 단계에 따라 계산을 줄일 수 있습니다.
특히 참조 데이터 세트가 큰 경우 예측 단계에 상당한 시간이 소요됩니다. 기본값은 True입니다. 그것
전처리 단계에 참조 및
평균 또는 표준 편차와 같은 테스트 데이터.
• update_ref: 참조 데이터는 선택적으로 탐지기가 본 마지막 N 인스턴스로 업데이트될 수 있습니다. 매개변수
사전 {'last': N}으로 전달되어야 합니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터(x_ref 및 x)를 사전 처리하는 함수입니다. 일반적으로
차원 축소 기술. 참고: 컨텍스트 데이터에는 사전 처리가 적용되지 않습니다.
• x_kernel: 데이터 x_*에 정의된 커널. 기본값은 Gaussian RBF 커널(alibi_detect.utils에서 가져옴)입니다.
pytorch import GaussianRBF 또는 alibi_detect.utils.tensorflow import GaussianRBF 종속
사용된 백엔드에서).
• c_kernel: 컨텍스트 c_*에 정의된 커널. 기본값은 가우스 RBF 커널입니다(alibi_detect.
utils.pytorch 가져오기 GaussianRBF 또는 alib_detect.utils.tensorflow 가져오기
사용된 백엔드에 따라 달라지는 GaussianRBF).
• n_permutations: 조건부 순열 테스트에 사용된 순열의 수입니다.
• prop_c_held: 조건을 설정하기 위해 보류된 컨텍스트의 비율입니다.
• n_folds: 정규화 매개변수를 조정할 때 사용되는 교차 검증 폴드의 수입니다.
• batch_size: None이 아닌 경우 MMD의 일괄 처리를 한 번에 모두 계산하지 않고 한 번에 계산하여
메모리 문제.
• input_shape: 선택적으로 입력 데이터의 모양을 전달합니다.
• data_type: 메타데이터에 추가되는 데이터 유형을 지정할 수 있다. 예를 들어 '표 형식' 또는 '이미지'.
• verbose: 구성 중 진행 상황을 인쇄할지 여부.

추가 PyTorch 키워드 인수:
• 장치: CPU용 GPU 및 CPU를 사용하는 cuda 또는 gpu. 장치가 지정되지 않은 경우 감지기는 다음을 시도합니다.
가능하면 GPU를 활용하고 그렇지 않으면 CPU에 폴백합니다.
PyTorch 백엔드로 초기화된 드리프트 감지기 예시:

TensorFlow의 동일한 감지기:

드리프트 감지
테스트 또는 배포 인스턴스 x 및 컨텍스트 c의 배치에 대해 단순히 predict를 호출하여 데이터 드리프트를 감지합니다. 우리
return_p_val을 True로 설정하고 컨텍스트 인식을 통해 p-값과 순열 테스트의 임계값을 반환할 수 있습니다.
return_distance를 True로 설정하여 최대 평균 불일치 메트릭 및 임계값. 우리는 또한 설정할 수 있습니다
커플링 행렬 𝑊ref,test, 𝑊ref,ref 및 𝑊test,test를 추가로 반환하는 return_coupling을 True로 설정합니다. 그림과 같이
예(텍스트, ECG)에서 이는 참조 및 테스트 분포가 어디에 있는지에 대한 깊은 통찰력을 제공할 수 있습니다.
비슷하고 다른 곳.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트된 샘플이 참조 데이터에서 드리프트된 경우 1이고 그렇지 않은 경우 0입니다.
• p_val: return_p_val이 True인 경우 p-값을 포함합니다.
• 임계값: return_p_val이 True인 경우 p-값 임계값.
• 거리: return_distance인 경우 참조 데이터와 새 배치 간의 조건부 MMD^2 메트릭
참과 같습니다.
• distance_threshold: 순열 테스트의 조건부 MMD^2 메트릭 값에 해당하는
p-값 임계값.
• coupling_xx: 참조 데이터에 대한 결합 행렬 𝑊ref,ref.
• coupling_yy: 결합 행렬 𝑊test, 테스트 데이터에 대한 테스트.
• coupling_xy: 결합 행렬 𝑊ref, 참조 데이터와 테스트 데이터 간의 테스트.

Saving and loading
Coming soon!

8.2 온라인
원천
8.2.1 온라인 최대 평균 불일치
개요
온라인 최대 평균 불일치(MMD) 감지기는 온라인 드리프트 감지를 위한 커널 기반 방법입니다. 그만큼
MMD는 a의 평균 임베딩 𝜇𝑝 및 𝜇𝑞을 기반으로 하는 2개의 분포 p와 q 사이의 거리 기반 측정입니다.
커널 Hilbert 공간 재생성 𝐹:

𝑀𝑀𝐷(𝐹, 𝑝, 𝑞) = ||𝜇𝑝 − 𝜇𝑞||2𝐹

주어진 참조 샘플 {𝑋𝑖}𝑁𝑖=1 및 테스트 샘플 {𝑌𝑖}𝑡+𝑊𝑖=𝑡 우리는 편향되지 않은 추정치를 계산할 수 있습니다
^𝑀𝑀𝐷2(𝐹, {𝑋𝑖}𝑁 𝑖=1, {𝑌𝑖}𝑡+𝑊𝑖=𝑡)

두 기본 분포 사이의 제곱 MMD. 견적 수
새로운 데이터 포인트가 테스트 창에 들어갈 때 저렴한 비용으로 업데이트됩니다. 기본적으로 방사형 기저 함수 커널을 사용합니다.
그러나 사용자는 자신의 선호 커널을 감지기에 자유롭게 전달할 수 있습니다.

온라인 감지기는 참조 데이터가 크고 고정되어 있으며 한 번에 단일 데이터 포인트에서 작동한다고 가정합니다.
배치). 이 데이터 포인트는 테스트 창 및 2개 샘플 테스트 통계(이 경우 제곱 MMD)로 전달됩니다.
참조 데이터와 테스트 창 사이의 값은 각 시간 단계에서 계산됩니다. 테스트 통계가 미리 구성된 값을 초과하는 경우
임계값, 드리프트가 감지됩니다. 임계값 구성에는 예상 런타임(ERT) 사양이 필요합니다.
검출기가 평균적으로 얼마나 많은 시간 단계를 수행하기 전에 드리프트가 없을 때 실행해야 하는지를 지정합니다.
잘못된 탐지. 또한 테스트 창 크기를 지정해야 하며, 더 작은 창에서는
심한 드리프트와 더 큰 창으로 인해 약간의 드리프트를 감지할 수 있는 더 많은 전력이 제공됩니다.

고차원 데이터의 경우 일반적으로 감지기로 전달하기 전에 차원을 줄이기를 원합니다. 수행원
Failing Loudly: An Empirical Study of Methods for Detecting Dataset Shift, 우리는 Untrained를 통합합니다.
AutoEncoder(UAE) 및 분류기의 softmax 출력(BBSD)을 즉시 사용하여 블랙박스 시프트 감지
PCA는 scikit-learn을 사용하여 쉽게 구현할 수도 있습니다. 전처리 방법
분류기에 의존하지 않는 것은 일반적으로 입력 데이터의 드리프트를 포착하는 반면 BBSD는 레이블 이동에 중점을 둡니다.

텍스트 데이터에 대한 입력 데이터 드리프트(공변량 이동) 𝑝(𝑥)를 감지하려면 사용자 정의 전처리 단계가 필요합니다. 우리는 선택할 수 있습니다
(컨텍스트) 임베딩을 추출하여 입력의 의미론적 변화를 높이고 드리프트를 감지합니다. 엄밀히
말하자면 전체 훈련 절차(목적 함수, 훈련 데이터) 이후로 더 이상 𝑝(𝑥)
등) (사전) 훈련된 임베딩의 경우 추출한 임베딩에 영향을 미칩니다. 라이브러리에는 다음과 같은 기능이 포함되어 있습니다.
HuggingFace의 변환기 패키지에서 사전 훈련된 임베딩을 활용하지만 자신의 것을 쉽게 사용할 수도 있습니다.
임베딩 선택. 두 옵션 모두 IMDB 영화 리뷰에서 텍스트 드리프트 감지의 예와 함께 설명되어 있습니다.
공책.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• ert: t=0에서 시작하여 드리프트가 없을 때 예상되는 실행 시간입니다.
• window_size: 테스트 통계를 계산하는 데 사용되는 슬라이딩 테스트 윈도우의 크기. 작은 창에 집중
심각한 드리프트에 신속하게 대응하는 더 큰 창은 약간의 드리프트를 감지하는 능력에 중점을 둡니다.
키워드 인수:
• 백엔드: MMD 구현 및 구성에 사용되는 백엔드입니다.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• 커널: MMD 계산에 사용되는 커널이며 기본적으로 가우시안 RBF 커널입니다.
• sigma: 선택적으로 GaussianRBF 커널 대역폭을 설정합니다. 여러 대역폭 값을 배열로 전달할 수도 있습니다.
그런 다음 커널 평가는 해당 대역폭에 대해 평균을 냅니다. 시그마가 지정되지 않은 경우 '중앙값 휴리스틱'
시그마가 참조 샘플 사이의 중간 쌍 거리로 설정되는 채택됩니다.
• n_bootstraps: 임계값을 구성하는 데 사용되는 부트스트랩 시뮬레이션 수입니다. 이것이 클수록
보다 정확하게 원하는 ERT가 표적화됩니다. 이상적으로는 다음보다 10배 이상 커야 합니다.
ERT.
• verbose: 구성 중 진행 상황을 인쇄할지 여부.
• input_shape: 입력 데이터의 모양.
• data_type: 선택적으로 데이터 유형(표 형식, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
추가 PyTorch 키워드 인수:
• 장치: 사용된 장치 유형입니다. 기본값 없음은 GPU 사용을 시도하고 필요한 경우 CPU로 대체합니다. 수
'cuda', 'gpu' 또는 'cpu'를 전달하여 지정합니다. 'pytorch' 백엔드에만 해당됩니다.
초기화된 드리프트 감지기 예:

PyTorch의 동일한 감지기:

또한 두 프레임워크에 대한 전처리 기능을 쉽게 추가할 수 있습니다. 다음 예제에서는 무작위로 초기화된
PyTorch의 이미지 인코더:

동일한 기능이 TensorFlow에서 지원되며 주요 차이점은
alibi_detect.cd.tensorflow import preprocess_drift. 의 출력과 같은 기타 전처리 단계
모델의 은닉층 또는 변환기 모델을 사용하여 추출된 텍스트 임베딩은 두 가지 모두에서 유사한 방식으로 사용될 수 있습니다.
프레임워크. 히든 레이어 출력에 대

자세한 내용은 Wine Quality Dataset 예제에서 Online Drift Detection을 확인하십시오.
Alibi Detect는 또한 Huggingface의
변압기 패키지:

다시 동일한 기능이 TensorFlow에서 지원되지만 from alib_detect.cd.tensorflow 가져오기를 사용합니다.
preprocess_drift 및 alibi_detect.models.tensorflow에서 가져오기 TransformerEmbedding 가져오기.

드리프트 감지
단일 인스턴스 x_t(일괄 차원 없음)가 각각 도착할 때 예측을 순차적으로 호출하여 데이터 드리프트를 감지합니다.
return_test_stat를 True로 설정하여 테스트 통계와 임계값을 반환할 수 있습니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 1 테스트 윈도우(가장 최근의 window_size 관찰)가 참조에서 드리프트된 경우
데이터이고 그렇지 않으면 0입니다.
• time: 지금까지 감지기에 테스트 인스턴스로 전달된 관찰의 수입니다.
• ert: 감지기가 드리프트가 없을 때 실행되도록 구성된 예상 런타임.
• test_stat: return_test_stat가 같으면 참조 데이터와 test_window 사이의 MMD^2 메트릭
진실.
• 임계값: return_test_stat인 경우 드리프트가 감지되기 ​​위해 test-statsitic이 초과해야 하는 값
참과 같습니다.

동일한 기준 데이터와 임계값을 사용하여 검출기를 재설정하지만 새롭고 비어 있는 테스트 창을 사용하는 것은 간단합니다.

8.2.2 온라인 최소제곱 밀도 차이
개요
온라인 최소 제곱 밀도 차이 검출기는 온라인 드리프트 검출을 위한 비모수적 방법입니다. LSDD
𝒳의 두 분포 𝑝과 𝑞 사이는 다음과 같이 정의됩니다.

𝐿𝑆𝐷𝐷(𝑝, 𝑞) =∫︁𝒳 (𝑝(𝑥) − 𝑞(𝑥))2 𝑑𝑥

또한 경험적 추정값이 있습니다. \𝐿𝑆𝐷𝐷({𝑋𝑖}𝑁𝑖=1, {𝑌𝑖}𝑡+𝑊𝑖=𝑡 ) 테스트 창으로 저렴한 비용으로 업데이트 가능
{𝑌𝑖}𝑡+1+𝑊(으)로 업데이트되었습니다.
𝑖=𝑡+1 . 검출기는 Bu et al.에 의해 동기가 부여되었지만 수정된 버전입니다. (2017).

온라인 감지기는 참조 데이터가 크고 고정되어 있으며 한 번에 단일 데이터 포인트에서 작동한다고 가정합니다.
배치). 이 데이터 포인트는 테스트 창과 2-표본 테스트 통계로 전달됩니다(이 경우 추정치는
LSDD)는 참조 데이터와 테스트 창 사이의 각 시간 단계에서 계산됩니다. 검정 통계량이 다음을 초과할 때
미리 구성된 임계값, 드리프트가 감지됩니다. 임계값을 구성하려면 예상 런타임을 지정해야 합니다.
(ERT) 드리프트가 없을 때 검출기가 평균적으로 얼마나 많은 시간 단계를 실행해야 하는지 지정합니다.
오탐하기 전에. 또한 테스트 창 크기를 지정해야 하며 더 작은 창에서는
심한 드리프트에 대한 더 빠른 응답과 더 큰 창을 통해 약간의 드리프트를 감지할 수 있는 더 많은 전력을 제공합니다.
고차원 데이터의 경우 일반적으로 감지기로 전달하기 전에 차원을 줄이기를 원합니다. 수행원
Failing Loudly: An Empirical Study of Methods for Detecting Dataset Shift, 우리는 Untrained를 통합합니다.
AutoEncoder(UAE) 및 분류기의 softmax 출력(BBSD)을 즉시 사용하여 블랙박스 시프트 감지
PCA는 scikit-learn을 사용하여 쉽게 구현할 수도 있습니다. 전처리 방법
분류기에 의존하지 않는 것은 일반적으로 입력 데이터의 드리프트를 포착하는 반면 BBSD는 레이블 이동에 중점을 둡니다.
텍스트 데이터에 대한 입력 데이터 드리프트(공변량 이동) 𝑝(𝑥)를 감지하려면 사용자 정의 전처리 단계가 필요합니다. 우리는 선택할 수 있습니다
(컨텍스트) 임베딩을 추출하여 입력의 의미론적 변화를 높이고 드리프트를 감지합니다. 엄밀히
말하자면 전체 훈련 절차(목적 함수, 훈련 데이터) 이후로 더 이상 𝑝(𝑥)
등) (사전) 훈련된 임베딩의 경우 추출한 임베딩에 영향을 미칩니다. 라이브러리에는 다음과 같은 기능이 포함되어 있습니다.
HuggingFace의 변환기 패키지에서 사전 훈련된 임베딩을 활용하지만 자신의 것을 쉽게 사용할 수도 있습니다.
임베딩 선택. 두 옵션 모두 IMDB 영화 리뷰에서 텍스트 드리프트 감지의 예와 함께 설명되어 있습니다.
공책.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• ert: t=0에서 시작하여 드리프트가 없을 때 예상되는 실행 시간입니다.
• window_size: 테스트 통계를 계산하는 데 사용되는 슬라이딩 테스트 윈도우의 크기. 작은 창에 집중
심각한 드리프트에 신속하게 대응하는 더 큰 창은 약간의 드리프트를 감지하는 능력에 중점을 둡니다.
키워드 인수:
• 백엔드: LSDD 구현 및 구성에 사용되는 백엔드.
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• sigma: LSDD 추정에 사용되는 가우스 커널의 대역폭을 선택적으로 설정합니다. 여러 번 통과할 수도 있습니다.
대역폭 값을 배열로. 그런 다음 커널 평가는 해당 대역폭에 대해 평균을 냅니다. 시그마라면
지정되지 않은 경우 '중앙값 휴리스틱'이 채택되어 시그마가 쌍 사이의 중앙값으로 설정됩니다.
참조 샘플.

• n_bootstraps: 임계값을 구성하는 데 사용되는 부트스트랩 시뮬레이션 수입니다. 이것이 클수록
보다 정확하게 원하는 ERT가 표적화됩니다. 이상적으로는 다음보다 10배 이상 커야 합니다.
ERT.
• n_kernel_centers: 가우스 커널 모델에서 중심으로 사용할 참조 샘플의 수
LSDD를 추정합니다. 기본값은 2*window_size입니다.
• lambda_rd_max: 정규화가 적용되는 LSDD의 두 추정값 간의 최대 상대 차이
매개변수 람다가 발생할 수 있습니다. 논문에서와 같이 기본값은 0.2입니다.
• verbose: 구성 중 진행 상황을 인쇄할지 여부.
• input_shape: 입력 데이터의 모양.
• data_type: 선택적으로 데이터 유형(표 형식, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
추가 PyTorch 키워드 인수:
• 장치: 사용된 장치 유형입니다. 기본값 없음은 GPU 사용을 시도하고 필요한 경우 CPU로 대체합니다. 수
'cuda', 'gpu' 또는 'cpu'를 전달하여 지정합니다. 'pytorch' 백엔드에만 해당됩니다.
초기화된 드리프트 감지기 예:

PyTorch의 동일한 감지기:

또한 두 프레임워크에 대한 전처리 기능을 쉽게 추가할 수 있습니다. 다음 예제에서는 무작위로 초기화된
PyTorch의 이미지 인코더:

동일한 기능이 TensorFlow에서 지원되며 주요 차이점은
alibi_detect.cd.tensorflow import preprocess_drift. 의 출력과 같은 기타 전처리 단계
모델의 은닉층 또는 변환기 모델을 사용하여 추출된 텍스트 임베딩은 두 가지 모두에서 유사한 방식으로 사용될 수 있습니다.
프레임워크. 히든 레이어 출력에 대한 TensorFlow 예시:

자세한 내용은 Wine Quality Dataset 예제에서 Online Drift Detection을 확인하십시오.
Alibi Detect는 또한 Huggingface의
변압기 패키지

다시 동일한 기능이 TensorFlow에서 지원되지만 from alib_detect.cd.tensorflow 가져오기를 사용합니다.
preprocess_drift 및 alibi_detect.models.tensorflow에서 가져오기 TransformerEmbedding 가져오기.

드리프트 감지
단일 인스턴스 x_t(일괄 차원 없음)가 각각 도착할 때 예측을 순차적으로 호출하여 데이터 드리프트를 감지합니다.
return_test_stat를 True로 설정하여 테스트 통계와 임계값을 반환할 수 있습니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 1 테스트 윈도우(가장 최근의 window_size 관찰)가 참조에서 드리프트된 경우
데이터이고 그렇지 않으면 0입니다.
• time: 지금까지 감지기에 테스트 인스턴스로 전달된 관찰의 수입니다.
• ert: 감지기가 드리프트가 없을 때 실행되도록 구성된 예상 런타임.
• test_stat: return_test_stat가 True인 경우 참조 데이터와 test_window 사이의 LSDD 메트릭.
• 임계값: return_test_stat인 경우 드리프트가 감지되기 ​​위해 test-statsitic이 초과해야 하는 값
참과 같습니다.

동일한 기준 데이터와 임계값을 사용하여 검출기를 재설정하지만 새롭고 비어 있는 테스트 창을 사용하는 것은 간단합니다.

8.2.3 온라인 Cramér-von Mises
개요
온라인 Cramér-von Mises 검출기는 연속 데이터에 대한 온라인 드리프트 검출을 위한 비모수적 방법입니다. 처럼
오프라인 Cramér-von Mises 검출기에서 각 기능에 단변량 Cramér-von Mises(CVM) 테스트를 적용합니다. 이
검출기는 Ross et al.이 이 논문에서 제안한 것을 개조한 것입니다. [RA12].

임계값 구성
온라인 감지기는 참조 데이터가 크고 고정되어 있으며 한 번에 단일 데이터 포인트에서 작동한다고 가정합니다.
배치). 이 데이터 포인트는 테스트 창으로 전달되고 참조 사이의 2개 샘플 테스트 통계
data 및 test-window는 각 시간 단계에서 계산됩니다. 테스트 통계가 미리 구성된 임계값을 초과하면 드리프트가
감지되었습니다. 임계값을 구성하려면 예상 실행 시간(ERT)을 지정해야 합니다.
평균적으로 탐지기가 잘못된 탐지를 하기 전에 드리프트가 없을 때 실행해야 하는 많은 시간 단계.
그런 다음 임계값은 길이가 t_max =인 스트림의 n_bootstraps 수를 시뮬레이션하여 이 ERT를 대상으로 구성됩니다.
2*max(window_sizes) - 1. 편리하게도 검출기의 비모수적 특성은 임계값이 의존한다는 것을 의미합니다.
참조 데이터 세트의 길이인 𝑀에만 해당됩니다. 따라서 다변수 데이터의 경우 구성 비용이
일변량 사례.

임계값 구성 프로세스의 메모리 요구 사항을 줄이기 위해 스트림은 일괄 처리로 시뮬레이션됩니다.
크기 𝑁𝑏𝑎𝑡𝑐ℎ, batch_size 키워드 인수로 설정. 그러나 메모리 요구 사항은 여전히
𝑂(𝑀2𝑁𝑏𝑎𝑡𝑐ℎ). 구성에 너무 많은 메모리(또는 시간)가 필요한 경우 참조 데이터를 서브샘플링하는 것을 고려하십시오.
참조 인스턴스 수에 대한 비용의 2차 증가𝑀와 감소
테스트 능력의 증가는 종종 이것을 가치 있는 절충안으로 만듭니다.

창 크기
테스트 창 크기 지정(검출기는 크기가 다른 여러 창 허용 𝑊)도 필요합니다.
더 작은 창은 심각한 드리프트에 더 빠른 응답을 허용하고 더 큰 창은 약간의 드리프트를 감지할 수 있는 더 많은 전력을 허용합니다.
이 검출기가 작동하려면 창이 가득 차야 하기 때문에 ERT는 t = min(window_sizes)-1에서 측정됩니다.
다변수 데이터
이 검출기는 주로 단변량 데이터용이지만 다변량 데이터에도 적용할 수 있습니다. 이 경우,
검출기는 오프라인 검출기에 사용되는 Bonferroni 보정과 유사한 보정을 수행합니다. 𝑑 기능이 주어지면,
검출기는 시뮬레이션된 스트림에 대한 테스트 통계의 1 − 𝛽 분위수를 대상으로 임계값을 구성합니다. 여기서
𝛽 = 1 − (1 − (1/𝐸𝑅𝑇))(1/𝑑). 일변량의 경우 이것은 𝛽 = 1/𝐸𝑅𝑇으로 단순화됩니다. 예측 시점에서 드리프트는
기능 스트림의 테스트 통계가 임계값을 초과하면 플래그가 지정됩니다.
메모
다변수의 경우 ERT의 상한이 정확하려면 기능 스트림이 독립적이어야 합니다. 에 관계없이
독립성에도 불구하고 ERT는 여전히 적절하게 하한이 됩니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• ert: t=min(windows_sizes)에서 시작하여 드리프트가 없을 때 예상되는 런타임입니다.
• window_sizes: 테스트 통계를 계산하는 데 사용되는 슬라이딩 테스트 창의 크기. 작은 창 초점
심각한 드리프트에 신속하게 대응할 때 더 큰 창은 약간의 드리프트를 감지하는 능력에 중점을 둡니다.
키워드 인수:
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• n_bootstraps: 임계값을 구성하는 데 사용되는 부트스트랩 시뮬레이션 수입니다. 이것이 클수록
보다 정확하게 원하는 ERT가 표적화됩니다. 이상적으로는 다음보다 10배 이상 커야 합니다.
ERT.
• batch_size: 임계값을 구성할 때 각 배치에서 계산할 부트스트랩 시뮬레이션의 최대 수입니다.
배치 크기가 작을수록 메모리 요구 사항이 줄어들지만 구성 실행 시간이 길어질 수 있습니다.
• n_features: FET 테스트에 사용된 기능의 수입니다. 전처리가 일어나지 않으면 통과할 필요가 없습니다. 입력
전처리 단계의 경우 자동으로 추론할 수도 있지만 계산하는 데 비용이 더 많이 들 수 있습니다.
• verbose: 구성 중 진행 상황을 인쇄할지 여부.
• input_shape: 입력 데이터의 모양.
• data_type: 선택적으로 데이터 유형(표 형식, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
초기화된 드리프트 감지기 예:

드리프트 감지
단일 인스턴스 x_t(일괄 차원 없음)가 각각 도착할 때 예측을 순차적으로 호출하여 데이터 드리프트를 감지합니다.
return_test_stat를 True로 설정하여 테스트 통계와 임계값을 반환할 수 있습니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트 창 중 하나라도 참조 데이터에서 드리프트되면 1이고 그렇지 않으면 0입니다.
• time: 지금까지 감지기에 테스트 인스턴스로 전달된 관찰의 수입니다.
• ert: 감지기가 드리프트가 없을 때 실행되도록 구성된 예상 런타임.
• test_stat: return_test_stat가 같으면 참조 데이터와 test_windows 간의 CVM 테스트 통계
진실.
• 임계값: return_test_stat인 경우 드리프트가 감지되기 ​​위해 test-statsitics가 초과해야 하는 값
참과 같습니다.

동일한 기준 데이터와 임계값을 사용하여 검출기를 재설정하지만 새롭고 비어 있는 테스트 창을 사용하는 것은 간단합니다.

Examples
Coming soon!

8.2.4 온라인 피셔의 정확한 테스트
개요
온라인 Fisher's Exact Test 검출기는 온라인 드리프트 검출을 위한 비모수적 방법입니다. 오프라인 피셔스처럼
정확한 테스트 검출기, 각 기능에 Fisher의 정확한 테스트(FET)를 적용합니다. Bernoulli에 적용하기 위한 것입니다.
(True, False) 또는 (0, 1)로 구성된 이진 데이터가 있는 스트림. 이 검출기는 감독되는 환경에서 사용하기에 이상적입니다.
설정, 모델의 인스턴스 수준 정확도 모니터링 드리프트(예: 정확한 예측 = 0, 잘못된 예측 = 1).

임계값 구성
온라인 감지기는 참조 데이터가 크고 고정되어 있으며 한 번에 단일 데이터 포인트에서 작동한다고 가정합니다.
배치). 이 데이터 포인트는 테스트 창과 2개 샘플 테스트 통계(이 경우 𝐹 = 1 − ^𝑝)로 전달됩니다.
참조 데이터와 테스트 창 사이의 값은 각 시간 단계에서 계산됩니다. 테스트 통계가 미리 구성된 값을 초과하는 경우
임계값, 드리프트가 감지됩니다. 임계값 구성에는 예상 런타임(ERT) 사양이 필요합니다.
검출기가 평균적으로 얼마나 많은 시간 단계를 수행하기 전에 드리프트가 없을 때 실행해야 하는지를 지정합니다.
잘못된 탐지.
Ross et al.이 이 논문에서 제안한 것과 유사한 방식으로. [RTA12], 임계값은 시뮬레이션을 통해 구성됩니다.
n_bootstraps 베르누이 스트림. 스트림의 길이는 t_max 매개변수로 설정할 수 있습니다. 문턱부터
t_max = 2*max(window_sizes) - 1 시간 단계 후에 수렴할 것으로 예상되며 궤적을 시뮬레이션하기만 하면 됩니다.
이 지점까지 임계값을 추정하고 t_max는 기본적으로 이 값으로 설정됩니다. [1]에 이어 테스트 통계는 다음과 같습니다.
지수 이동 평균을 사용하여 평활화하여 불연속성을 제거하여 보다 정확한 분위수를
타겟:

𝐹𝑡 = (1 − 𝜆)𝐹𝑡−1 + 𝜆𝐹𝑡

창 크기가 𝑊인 경우 𝑡 시간에 통계 𝐹𝑡의 값은 이전 𝑊 값 이상에 따라 달라집니다. 𝜆이면,
lam에 의해 설정된 값이 너무 작으면 임계값이 2𝑊 − 1 시간 단계를 훨씬 지나서 계속 감소할 수 있습니다. 이를 방지하기 위해 기본 램
는 𝜆 = 0.99의 높은 값으로 설정되어 이산성이 여전히 깨지지만 테스트 통계의 값은 다음을 의미합니다.
(거의) 마지막 𝑊 관찰에만 의존합니다. 더 스무딩이 필요한 경우 t_max 매개변수를 다음에서 수동으로 설정할 수 있습니다.
더 큰 값.
메모
감지기는 각 창 크기와 기능에 대한 임계값을 구성해야 합니다. 이것은 시간이 많이 소요되는 과정일 수 있습니다
기능의 수가 많은 경우. 고차원 데이터의 경우 차원 축소를 적용하는 것이 좋습니다.
preprocess_fn을 통한 단계.

창 크기
테스트 창 크기 지정(검출기는 크기가 다른 여러 창 허용 𝑊)도 필요합니다.
더 작은 창은 심각한 드리프트에 더 빠른 응답을 허용하고 더 큰 창은 약간의 드리프트를 감지할 수 있는 더 많은 전력을 허용합니다.
이 검출기가 작동하려면 창이 가득 차야 하므로 ERT는 t = min(window_sizes)-1에서 측정됩니다.
다변수 데이터
이 검출기는 주로 단변량 데이터용이지만 다변량 데이터에도 적용할 수 있습니다. 이 경우,
검출기는 오프라인 검출기에 사용되는 Bonferroni 보정과 유사한 보정을 수행합니다. 𝑑 기능이 주어지면,
검출기는 시뮬레이션된 스트림에 대한 테스트 통계의 1 − 𝛽 분위수를 대상으로 임계값을 구성합니다. 여기서
𝛽 = 1 − (1 − (1/𝐸𝑅𝑇))(1/𝑑). 일변량의 경우 이것은 𝛽 = 1/𝐸𝑅𝑇으로 단순화됩니다. 예측 시점에서 드리프트는
기능 스트림의 테스트 통계가 임계값을 초과하면 플래그가 지정됩니다.
메모
다변수의 경우 ERT가 정확하게 대상이 되려면 기능 스트림이 독립적이어야 합니다.

용법
초기화
인수:
• x_ref: 참조 분포로 사용되는 데이터.
• ert: t=min(windows_sizes)에서 시작하여 드리프트가 없을 때 예상되는 런타임입니다.
• window_sizes: 테스트 통계를 계산하는 데 사용되는 슬라이딩 테스트 창의 크기. 작은 창 초점
심각한 드리프트에 신속하게 대응할 때 더 큰 창은 약간의 드리프트를 감지하는 능력에 중점을 둡니다.
키워드 인수:
• preprocess_fn: 데이터 드리프트 메트릭을 계산하기 전에 데이터를 전처리하는 함수입니다.
• n_bootstraps: 임계값을 구성하는 데 사용되는 부트스트랩 시뮬레이션 수입니다. 이것이 클수록
보다 정확하게 원하는 ERT가 표적화됩니다. 이상적으로는 다음보다 10배 이상 커야 합니다.
ERT.
• t_max: 임계값을 구성할 때 시뮬레이션할 스트림의 길이입니다. None이면 2 *로 설정됩니다.
최대(창 크기) - 1.
• Alternative: 대립 가설을 정의합니다. 옵션은 '크게'(기본값) 또는 '덜'이며,
Bernoulli 흐름의 평균 증가 또는 감소.
• lam: 지수 이동 평균에 사용되는 평활 계수. 무거운 평활화가 적용된 경우(lam<<1),
임계값이 수렴되도록 하려면 더 큰 t_max가 필요할 수 있습니다.
• n_features: FET 테스트에 사용된 기능의 수입니다. 전처리가 일어나지 않으면 통과할 필요가 없습니다. 입력
전처리 단계의 경우 자동으로 추론할 수도 있지만 계산하는 데 비용이 더 많이 들 수 있습니다.
• verbose: 구성 중 진행 상황을 인쇄할지 여부.
• input_shape: 입력 데이터의 모양.
• data_type: 선택적으로 데이터 유형(표 형식, 이미지 또는 시계열)을 지정합니다. 메타데이터에 추가되었습니다.
초기화된 드리프트 감지기 예:

드리프트 감지
단일 인스턴스 x_t(일괄 차원 없음)가 각각 도착할 때 예측을 순차적으로 호출하여 데이터 드리프트를 감지합니다.
return_test_stat를 True로 설정하여 테스트 통계와 임계값을 반환할 수 있습니다.
예측은 메타 및 데이터 키가 있는 사전 형식을 취합니다. meta는 감지기의 메타데이터를 포함하는 반면
data는 다음 키에 저장된 실제 예측을 포함하는 사전이기도 합니다.
• is_drift: 테스트 창 중 하나라도 참조 데이터에서 드리프트되면 1이고 그렇지 않으면 0입니다.
• time: 지금까지 감지기에 테스트 인스턴스로 전달된 관찰의 수입니다.
• ert: 감지기가 드리프트가 없을 때 실행되도록 구성된 예상 런타임.

• test_stat: 참조 데이터와 test_windows 간의 FET 테스트 통계(1-p_val)인 경우
return_test_stat는 True와 같습니다.
• 임계값: return_test_stat인 경우 드리프트가 감지되기 ​​위해 test-statsitics가 초과해야 하는 값
참과 같습니다.

동일한 참조 데이터와 임계값으로 검출기를 재설정하지만 새롭고 비어 있는 테스트 창을 사용하는 것은 간단합니다.

Examples
Coming soon!

9.1 소득 예측에 대한 범주형 및 혼합형 데이터 드리프트 감지
9.1.1 방법
드리프트 감지기는 연속 수치 특징에 대해 특징별 2표본 Kolmogorov-Smirnov(K-S) 테스트를 적용합니다.
범주형 기능에 대한 카이 제곱 테스트. 다변수 데이터의 경우 각 기능에 대해 얻은 p-값
Bonferroni 또는 FDR(False Discovery Rate) 수정을 통해 집계됩니다. 본페로니 보정은
적어도 하나의 위양성 확률에 대해 더 보수적이며 제어합니다. 반면 FDR 보정
가양성(false positive)의 예상 비율이 발생할 수 있습니다.
9.1.2 데이터 세트
인스턴스는 연령, 결혼 여부 또는 교육과 같은 개인의 특성을 포함하는 반면 레이블은 여부를 나타냅니다.
그 사람은 연간 $50,000 이상 또는 이하를 번다. 데이터 세트는 수치 및 범주가 혼합된 것으로 구성됩니다.
특징. pip로 설치할 수 있는 Alibi 라이브러리를 사용하여 가져옵니다.

9.1.3 수입 예측 데이터 세트 로드
fetch_adult 함수는 인스턴스, 대상, 기능 이름 및 사전을 포함하는 Bunch 개체를 반환합니다.
키로 범주 기능의 열 인덱스 및 값으로 각 범주에 대한 가능한 범주
변하기 쉬운.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant