자동 기능 엔지니어링
자동 기능 엔지니어링을 통해 Qlik AutoML은 교육 데이터의 기존 기능을 사용하여 새로운 기능을 만들 수 있습니다. 이 새로운 자동 엔지니어링 기능을 사용하면 데이터에서 새로운 패턴을 검색하고 기계 학습 모델의 성능을 크게 향상시킬 수 있습니다.
기능 엔지니어링은 현재 기능 열에서 새 기능 열을 만드는 프로세스입니다. AutoML은 특정 유형의 데이터 처리를 개선하기 위해 자동으로 기능 추출을 수행할 수 있습니다. 기능 추출에 대한 일반 정보는 새 기능 열 만들기를 참조하십시오.
자동 엔지니어링 날짜 기능과 해당 기능이 파생된 상위 기능은 아이콘으로 표시됩니다.
실험에 사용할 데이터 집합을 선택하면 데이터 집합이 분석되고 그 안의 열이 특정 데이터 유형을 포함하는 것으로 식별됩니다. 이러한 데이터 유형을 통해 AutoML은 데이터 집합의 각 열에 기능 유형을 할당할 수 있습니다. 각 열에는 다음 기능 유형 중 하나가 제공됩니다.
-
범주
-
숫자
-
날짜
-
무료 문자
가능한 경우 AutoML은 적합한 상위 기능에서 만들어질 수 있는 자동 엔지니어링 기능 목록을 표시합니다. 자동 엔지니어링 기능 목록은 전처리가 시작됨에 따라 더욱 구체화되고 축소됩니다. 실험에 자동 엔지니어링 기능을 포함하는 것이 권장되지만 선택 사항입니다. 교육을 시작하기 전과 각각의 새로운 실험 버전을 구성할 때 개별 자동 엔지니어링 기능을 제거할 수 있습니다.
실험 교육이 시작되기 전에 완료되는 프로세스에 대한 자세한 내용은 자동 데이터 준비 및 변환을 참조하십시오.
날짜 기능 엔지니어링
AutoML은 날짜 및 시간 정보가 포함된 것으로 식별된 날짜 기능 유형이 있는 적합한 열에서 자동 엔지니어링 기능을 생성합니다. 자동 엔지니어링 날짜 기능과 해당 기능이 파생된 상위 기능은 아이콘으로 표시됩니다.
Qlik Cloud 분석는 AutoML에서 사용하기 위해 선택한 교육 데이터 집합을 프로파일링할 때 특정 데이터 유형을 날짜 기능 유형에 연결합니다. 여기에는 다음 데이터 유형이 포함됩니다.
-
날짜
-
날짜/시간
-
시간
-
타임스탬프
프로파일링 중에 이러한 데이터 유형이 할당된 기능에는 날짜 기능 유형이 지정됩니다. 데이터 필드에 대해 볼 수 있는 사용할 수 있는 프로필 통계에 대한 자세한 내용은 프로필 목록 보기를 참조하십시오.
가능한 경우 AutoML은 날짜 기능 유형이 있는 적격 상위 기능에서 만들어질 수 있는 자동 엔지니어링 날짜 기능 목록을 표시합니다. 자동 엔지니어링된 날짜 기능은 기본적으로 실험에 포함됩니다. 이를 포함하도록 선택하면 실험 v1 후에 새 기능이 생성됩니다.
자동 엔지니어링된 날짜 기능에는 숫자 기능 유형이 있습니다. 기본적으로 실험에 포함되지만 선택 사항입니다. 실험 교육을 시작하기 전이나 다음 실험 버전을 구성할 때 일부 또는 전부를 제거할 수 있습니다. 자동 엔지니어링된 날짜 기능이 포함되면 원본 상위 날짜 기능이 실험에서 제거됩니다.
대신 실험에 상위 날짜 기능을 포함할 수 있습니다. 이 작업을 선택하면 상위 기능의 기능 유형이 날짜에서 범주형으로 전환되고 자동 엔지니어링된 날짜 기능을 더 이상 사용할 수 없습니다. 기계 학습 모델의 성능을 향상시키므로 실험에서 사용할 수 있는 자동 엔지니어링 기능을 사용하는 것이 좋습니다.
자동 엔지니어링 날짜 기능은 Qlik Cloud 구독에 지정된 AutoML 데이터 집합 크기(교육 데이터 집합 및 적용 데이터 집합의 최대 셀 수)에 포함되지 않습니다. 원본 날짜 열 셀만 계산됩니다.
날짜 기능을 실험 대상으로 사용
드물지만 날짜 및 시간 정보가 있는 기능을 실험 대상으로 사용하려는 경우 열의 기능 유형이 날짜에서 범주형으로 전환되고 자동 엔지니어링된 기능이 제거됩니다. 다른 대상을 선택한 후 나중에 날짜 및 시간 기능을 일반 기능으로 추가하려면 필요한 경우 수동으로 날짜 기능 유형으로 다시 변경해야 합니다. 기능을 날짜 기능 유형으로 되돌리면 자동 엔지니어링된 날짜 기능이 다시 생성됩니다.
기능 유형을 변경하는 방법에 대한 자세한 내용은 기능 유형 변경을 참조하십시오.
사용할 수 있는 자동 엔지니어링 날짜 기능
데이터 집합의 열에서 자동 엔지니어링된 날짜 기능을 생성할 때 AutoML은 각 날짜 및 날짜-시간 값의 특정 구성 요소를 추출하고 계산하여 각 구성 요소를 자체 열에 격리합니다.아래 표에는 AutoML에서 생성할 수 있는 자동 엔지니어링 기능이 나열되어 있습니다.
자동 엔지니어링 기능 | 데이터 유형 | 기능 유형 | 설명 |
YEAR | 정수 | 숫자 | 소스 날짜 또는 타임스탬프에서 직접 구문 분석된 연도 필드입니다. |
MONTH | 정수 | 숫자 | 소스 날짜 또는 타임스탬프에서 직접 구문 분석된 월 필드입니다. |
DAY | 정수 | 숫자 | 소스 날짜 또는 타임스탬프에서 직접 구문 분석된 요일 필드입니다. |
HOUR | 정수 | 숫자 | 소스 타임스탬프에서 직접 구문 분석된 시간 필드입니다. |
MINUTE | 정수 | 숫자 | 소스 타임스탬프에서 직접 구문 분석된 분 필드입니다. |
SECOND | 정수 | 숫자 | 소스 타임스탬프에서 직접 구문 분석된 두 번째 필드입니다. |
DAYOFWEEK | 정수 | 숫자 | 요일은 소스 일, 월, 연도에서 계산됩니다. |
WEEK | 정수 | 숫자 | 소스 일, 월, 연도에서 계산된 연도의 주입니다. |
새로운 기능이 만들어질 때마다 원본 열 이름 뒤에 해당 자동 엔지니어링 기능이 추가됩니다.
예측의 자동 엔지니어링 날짜 기능
자동 엔지니어링된 날짜 기능은 교육 데이터 집합을 사용하여 모델을 만들 때 만들어집니다. 이 모델은 새로운 데이터(적용 데이터 집합)에 대한 예측을 위해 ML 배포로 배포 및 사용됩니다.
자동 엔지니어링 날짜 기능으로 교육된 모델이 예측을 위해 배포되는 경우 예측을 생성하는 적용 데이터 집합에는 자동 엔지니어링 날짜 기능이 포함될 필요가 없습니다. AutoML은 예측하기 전에 적용 데이터 집합에 대한 자동 엔지니어링 기능을 생성합니다. 그러나 적용 데이터 집합에는 상위 날짜 기능이 포함되어야 하며 열은 날짜, 날짜/시간, 타임스탬프 또는 시간 데이터 유형을 갖도록 프로파일링되어야 합니다.
SHAP 및 적용 데이터 집합을 포함하여 ML 배포로 만들어진 예측 데이터 집합에는 자동 엔지니어링 날짜 기능이 포함됩니다.
실시간 예측의 자동 엔지니어링 날짜 기능
실시간 예측 API가 날짜 및 타임스탬프 필드를 처리할 수 있으려면 실시간 예측 API로 보내는 JSON 페이로드가 아래 요구 사항을 따라야 합니다.
-
날짜 및 날짜/시간 값은 ISO 8601 표준에 따라 형식이 지정된 문자열이어야 합니다.
-
각 열 내의 데이터는 표준 시간대가 동일해야 합니다.
무료 문자 데이터의 처리
무료 문자(예: 양식에 입력된 텍스트 문자열 데이터)가 모델에서 유용하려면 기계 학습 알고리즘에 의한 특수 처리가 필요합니다. Qlik AutoML에서 무료 문자 처리는 자동 기능 추출의 한 형태입니다. 기술적으로 말하면 이 처리에는 TF-IDF(용어 빈도 - 역 문서 빈도) 방법이 사용됩니다.
AutoML은 영어로 된 무료 문자 데이터가 있는 기능에 대해 별도의 처리를 지원합니다.
교육 데이터의 열에 무료 문자가 포함되어 있으면 무료 문자 기능 유형이 할당됩니다. 범주형 기능으로 사용할 수도 있지만 집합 크기가 높은 경우(고유 값이 너무 많은 경우) 권장하지 않습니다.
실험에서 무료 문자 기능으로 사용할 열을 최대 3개까지 선택할 수 있습니다.
무료 문자 인코딩 요구 사항
무료 문자가 포함된 열을 무료 문자로 성공적으로 인코딩하려면 두 가지 요구 사항을 충족해야 합니다. 이러한 요구 사항은 실험 만들기의 다양한 단계에서 확인됩니다.
요구 사항은 다음과 같습니다.
-
열의 평균 문자 길이는 50자 이상이어야 합니다.
-
열의 평균 단어 길이는 5단어 이상이어야 합니다.
기능을 무료 문자로 처리
기능을 무료 문자로 처리하는 과정은 다음과 같습니다.
-
교육 데이터를 선택하면 Qlik AutoML은 무료 문자로 처리될 수 있는 기능을 식별합니다. 스키마 보기에서 가능한 무료 문자 통찰력으로 표시되며 무료 문자 기능 유형을 갖게 됩니다.
-
v1 실험을 실행한 후 추가 분석이 완료됩니다. 이 시점에서 초기에 무료 문자 가능으로 표시된 기능은 무료 문자 기능으로 사용할 수 없는 것으로 확인될 수 있습니다.
무료 문자로 사용할 수 없는 기능의 집합 크기가 높으면 실험에서 해당 기능을 선택 취소하는 것이 좋습니다. 이러한 기능은 범주형으로 처리될 때 모델 성능에 아무런 가치도 기여하지 않습니다.
무료 문자로 사용할 수 없는 기능의 집합 크기가 높지 않은 경우 범주형으로 처리를 클릭하거나 기능 유형을 무료 문자에서 범주형으로 전환하여 실험에 포함할 수 있습니다. 기능 유형을 무료 문자로 두면 내부적으로도 범주형으로 처리되어 impact encoded됩니다.
사전 처리에 대한 자세한 내용은 자동 데이터 준비 및 변환을 참조하십시오.
스키마 보기에 표시되는 각 통찰력에 대한 자세한 내용은 교육 데이터에 대한 통찰력 보기을 참조하십시오.
무료 문자 기능을 실험 대상으로 사용
드문 경우지만 무료 문자 기능을 대상으로 선택할 수 있습니다. 기능이 무료 문자 인코딩에 대한 모든 요구 사항을 충족하고 2~10개의 고유 값을 포함하는 경우 대상으로 사용할 수 있습니다. 이러한 시나리오에서 실험은 표준 이진 분류 또는 다중 클래스 분류 문제로 정의됩니다.
예측의 무료 문자 기능
무료 문자 기능으로 교육된 모델을 배포하는 경우 적용 데이터 집합에 대해 다음 요구 사항이 충족되는 한 결과 ML 배포에서 예측을 생성할 수 있습니다.
-
교육 데이터 집합과 적용 데이터 집합 간의 기능 일치 열 이름
-
교육 데이터의 무료 문자 기능에 해당하는 적용 데이터 집합의 열에는 문자열 데이터가 포함되어 있습니다.
고려사항
실험에 무료 문자 기능을 포함하면 실험의 복잡성과 실험 실행에 필요한 프로세스가 늘어납니다. 무료 문자 데이터가 충분히 복잡한 경우 결과 모델에 대해 permutation importance 차트를 사용하지 못할 수도 있습니다.
문제 해결
무료 문자 데이터를 사용하여 모델을 교육하는 것은 리소스 집약적인 프로세스일 수 있습니다. 수많은 고유 단어가 포함된 무료 문자 열을 기능으로 포함하면 오류가 발생할 수 있습니다.
다음은 이러한 오류를 해결하기 위한 몇 가지 지침입니다.
-
더 적은 수의 무료 문자 행을 포함하도록 교육 데이터 집합의 데이터 하위 집합을 줄입니다.
-
모델 교육에 포함할 필요가 없는 무료 문자 기능을 제거합니다.
-
하나 이상의 무료 문자 열을 무료 문자가 아닌 범주형 기능으로 처리합니다. 이러한 무료 문자 기능에 높은 집합 크기가 포함되어 있는 경우 이는 권장되지 않습니다.