본문 바로가기

IT관련

오라클 에러 정보 (ORA-40027) - 대상 속성에 고유 값이 두 개보다 많이 있습니다.

Oracle 에서 Data Mining (Machine Learning) 을 하는 경우, ORA-40027 에러를 만나는 경우가 있습니다.

 

한글환경에서는 아래와 같이 에러가 발생합니다.

*
1행에 오류:
ORA-40027: 대상 속성에 고유 값이 두 개보다 많이 있습니다. ORA-06512:
"SYS.DBMS_DATA_MINING",  355행
ORA-06512: "SYS.DBMS_DATA_MINING",  605행
ORA-06512: "SYS.DBMS_DATA_MINING",  564행
ORA-06512:  2행

 

 

영어환경에서는 아래와 같이 에러가 발생합니다.

*
ERROR at line 1:
ORA-40027: Target attribute has more than two distinct values
ORA-06512: at "SYS.DBMS_DATA_MINING", line 355
ORA-06512: at "SYS.DBMS_DATA_MINING", line 605
ORA-06512: at "SYS.DBMS_DATA_MINING", line 564
ORA-06512: at line 2

 

이것은  GLM 과 같은 Mining 알고리즘에서 Binary Classification 만 지원하기 때문입니다.

즉, Target Column 으로 값이 2개까지만 나올때 GLM 알고리즘을 사용할 수 있다는 얘기입니다.

 

Target 값이 3개 이상 나오는 경우는 GLM 을 쓸 수 없고, 이때는 다른 Mining 알고리즘을 사용해야 합니다.

 

Naive Bayers, Random Forest, SVM, Neural Network, Decision Tree 알고리즘은 모두 3개이상의 Target 값을 지원합니다.

이런 알고리즘으로 바꿔서 Mining 하면 에러가 나지 않습니다.