본문으로 바로가기
본문으로 바로가기

categoricalInformationValue

categoricalInformationValue

도입 버전: v20.1

이진 타깃 변수와의 관계에서 범주형 특성의 정보값(Information Value, IV)을 계산합니다.

각 범주에 대해 함수는 다음을 계산합니다: (P(tag = 1) - P(tag = 0)) × (log(P(tag = 1)) - log(P(tag = 0)))

여기서:

  • P(tag = 1)은 주어진 범주에서 타깃이 1일 확률입니다.
  • P(tag = 0)은 주어진 범주에서 타깃이 0일 확률입니다.

Information Value는 예측 모델링에서 범주형 특성과 이진 타깃 변수 간 관계의 강도를 측정하는 데 사용하는 통계량입니다. 절대값이 클수록 예측력이 더 강함을 나타냅니다.

결과는 각 이산(범주형) 특성 [category1, category2, ...]tag 값을 예측하는 학습 모델에 얼마나 기여하는지를 나타냅니다.

구문

categoricalInformationValue(category1[, category2, ...,]tag)

인수(Arguments)

  • category1, category2, ... — 분석할 하나 이상의 범주형 특성(feature)입니다. 각 category에는 이산(discrete) 값이 포함되어야 합니다. UInt8
  • tag — 예측을 위한 이진 타깃 변수입니다. 값 0과 1만 포함해야 합니다. UInt8

반환 값(Returned value)

각 고유한 category 조합에 대한 정보값(information value)을 나타내는 Float64 값의 배열을 반환합니다. 각 값은 해당 category 조합이 타깃 변수에 대해 가지는 예측력을 나타냅니다. Array(Float64)

예시(Examples)

연령대 그룹과 모바일 사용 여부를 분석하는 기본 사용 예

-- Using the metrica.hits dataset (available on https://sql.clickhouse.com/) to analyze age-mobile relationship
SELECT categoricalInformationValue(Age < 15, IsMobile)
FROM metrica.hits;
[0.0014814694805292418]

USER 인구통계 정보가 포함된 여러 개의 범주형 특성

SELECT categoricalInformationValue(
    Sex,                 -- 0=male, 1=female
    toUInt8(Age < 25),   -- 0=25+, 1=under 25
    toUInt8(IsMobile)    -- 0=desktop, 1=mobile
) AS iv_values
FROM metrica.hits
WHERE Sex IN (0, 1);
[0.00018965785460692887,0.004973668839403392]