ML.IMPUTER 함수

이 문서에서는 문자열 또는 숫자 표현식의 NULL 값을 바꿀 수 있는 ML.IMPUTER 함수를 설명합니다. NULL 값을 문자열 표현식에 가장 자주 사용되는 값 또는 숫자 표현식의 평균 또는 중앙 값으로 바꿀 수 있습니다.

TRANSFORM에 사용된 경우 평균 값, 중앙 값 및 가장 자주 사용된 값을 학습하는 동안 계산된 값이 예측에 자동으로 사용됩니다.

구문

ML.IMPUTER(expression, strategy) OVER()

인수

ML.IMPUTER은 다음 인수를 사용합니다.

  • expression: 대치할 숫자 또는 STRING 표현식입니다.
  • strategy: NULL 값 대체 방법을 지정하는 STRING 값입니다. 유효한 값은 다음과 같습니다.
    • mean: expression의 평균입니다. 이 값은 숫자 표현식에만 사용할 수 있습니다.
    • median: expression의 중앙 값입니다. 이 값은 숫자 표현식에만 사용할 수 있습니다.
    • most_frequent: expression에서 가장 자주 사용되는 값입니다.

출력

ML.IMPUTERNULL 값에 대한 대체를 포함하는 FLOAT64(숫자 표현식의 경우) 또는 STRING(문자열 표현식의 경우) 값을 반환합니다.

예시

예시 1

다음 예시에서는 숫자 표현식을 대치합니다.

SELECT f, ML.IMPUTER(f, 'mean') OVER () AS output
FROM
  UNNEST([NULL, -3, -3, -3, 1, 2, 3, 4, 5]) AS f
ORDER BY f;

결과는 다음과 유사합니다.

+------+--------+
|  f   | output |
+------+--------+
| NULL |   0.75 |
|   -3 |   -3.0 |
|   -3 |   -3.0 |
|   -3 |   -3.0 |
|    1 |    1.0 |
|    2 |    2.0 |
|    3 |    3.0 |
|    4 |    4.0 |
|    5 |    5.0 |
+------+--------+

예시 2

다음 예시에서는 문자열 표현식을 대치합니다.

SELECT f, ML.IMPUTER(f, 'most_frequent') OVER () AS output
FROM
  UNNEST([NULL, NULL, NULL, NULL, 'a', 'a', 'b', 'b', 'c', 'c', 'c']) AS f
ORDER BY f;

결과는 다음과 유사합니다.

+------+--------+
|  f   | output |
+------+--------+
| NULL | c      |
| NULL | c      |
| NULL | c      |
| NULL | c      |
| a    | a      |
| a    | a      |
| b    | b      |
| b    | b      |
| c    | c      |
| c    | c      |
| c    | c      |
+------+--------+

다음 단계