Publish to my blog (weekly)
-
표현: 데이터 정제 | 머신러닝 단기집중과정 | Google Developers
- 조정이란 부동 소수점 특성 값을 100~900 등의 자연 범위에서 0~1 또는 -1~+1 등의 표준 범위로 변환하는 작업
- 다음과 같은 이점
- 경사하강법이 더 빠르게 수렴됩니다.
- NaN 트랩'이 방지됩니다. NaN 트랩이란 모델의 숫자 중 하나가 NaN(예: 학습 중에 값이 부동 소수점 정밀도 한도를 초과하는 경우)이 된 후 수학 연산 과정에서 모델의 다른 모든 숫자가 결국 NaN이 되는 상황입니다.
- 모델이 각 특성의 적절한 가중치를 익히는 데 도움이 됩니다. 특성 조정을 수행하지 않으면 모델에서 범위가 더 넓은 특성을 과도하게 중시합니다.
- 숫자 데이터를 조정하는 알기 쉬운 방법 중 하나는 [최소값, 최대값]을 [-1, +1] 등의 작은 척도로 선형 매핑하는 것입니다
- Z 점수는 표준편차를 기준으로 평균에서 벗어난 정도를 계산합니다
-
-
표현: 좋은 특성의 조건 | 머신러닝 단기집중과정 | Google Developers
- 좋은 특성 값은 데이터 세트에서 5회 이상 나타나야 합니다.
- 반대로, 특성의 값이 한 번만 나타나거나 매우 드물게 나타난다면 모델에서 해당 특성을 기반으로 예측할 수 없습니다. 예를 들어
unique_house_id
는 각 값이 한 번만 사용되어 모델에서 어떠한 학습도 불가능하므로 좋은 특성이 아닙니다. - 프로젝트의 모든 구성원에게 각 특성은 명확하고 분명한 의미를 가져야 합니다
- 다음 특성 값은 특성을 만든 엔지니어 이외에 다른 사람은 알아보기 어렵습니다.
- 데이터의 노이즈로 인해 값이 불명확해지는 경우도 있습니다.
- 277
- 사용자 나이가 277세인 경우는 없을 것이므로...
- 특수 값이 나타나지 않게 하려면 특성을 다음과 같은 두 특성으로 변환하세요.
- 특성 하나는 특수 값 없이 오로지 품질 등급만 갖습니다.
- 특성 하나는
quality_rating
이 입력되었는지 여부를 나타내는 부울 값을 갖습니다. 이 부울 특성에is_quality_rating_defined
와 같은 이름을 지정합니다. - 특성의 정의는 시간이 지나도 변하지 않아야 합니다.
-
-
표현: 특성 추출 | 머신러닝 단기집중과정 | Google Developers
- 희소 표현
-
-
표현: 특성 추출 | 머신러닝 단기집중과정 | Google Developers
- 머신러닝 모델은 특성 값에 모델 가중치를 곱해야 하므로 실수 벡터로 가중치를 표현해야 합니다.
- 모델은 학습된 가중치로 문자열을 곱할 수 없으므로 특성 추출을 통해 문자열을 숫자값으로 변환합니다
- 제약조건을 모두 제거하기 위해, 대신 모델의 범주형 특성에 바이너리 벡터를 생성할 수 있습니다
-
- 예시에 적용되는 값의 경우 관련 벡터 요소를
1
로 설정합니다. - 다른 요소는 모두
0
으로 설정합니다.
- 예시에 적용되는 값의 경우 관련 벡터 요소를
- 이러한 방식을 통해 모든 특성 값(예: 거리 이름)에 대한 부울 변수를 효과적으로 만들 수 있습니다. 여기에서는 집이 Shorebird Way에 있는 경우 Shorebird Way에만 해당하는 바이너리 값은 1입니다. 따라서 모델은 Shorebird Way의 가중치만 사용합니다.
- 집이 두 거리가 만나는 모퉁이에 위치한 경우 두 바이너리 값은 1로 설정되며 모델은 각각의 가중치를 모두 사용
- multi-hot encoding
- 희소 표현
- sparse representation
-
댓글