목록2025/03 (3)
HwangHub
데이터 스케일링은 머신러닝 모델의 성능을 최적화하기 위한 중요한 전처리 단계입니다. 서로 다른 범위를 가진 특성들이 모델에 미치는 영향을 균등하게 만들어 더 나은 결과를 얻을 수 있습니다. 이 포스트에서는 데이터 스케일링의 중요성, 주요 기법, 그리고 파이썬을 이용한 구현 방법에 대해 알아보겠습니다.Data Scaling이란?데이터 스케일링은 데이터셋의 특성(feature)들을 특정 범위로 변환하는 과정입니다. 간단히 말해, 서로 다른 단위와 범위를 가진 특성들을 비슷한 스케일로 조정하여 데이터 포인트 간의 거리를 줄이는 작업입니다.왜 하는가?스케일링을 거친 데이터를 기반으로 학습을 하면 머신러닝/딥러닝 알고리즘의 성능이 향상되니 사용합니다. 자 그러면, 왜 성능이 향상되는지를 고민해봐야 합니다.사실 이..

TL;DR샘플링 보다는 클래스 가중치로 불균형을 해소하는 것이 '일반적으로' 더 강력하다. 하지만 은탄환은 없으니 파이프라인을 구축하여 스코어를 비교해보는 것은 언제나 가치있는 일이다. 머신 러닝 모델을 만들 때 학습에 사용되는 데이터셋의 품질에 따라 성능이 크게 좌우된다는 것은 자명하다. 그렇다면 데이터의 분포가 불균형하다면 이를 어떻게 처리할 수 있을까. 해당 포스트에서는 SMOTE-Tomek 등의 샘플링 기법을 활용한 불균형 데이터에 대한 전처리 방법과 그 실효성에 대하여 탐구해본다. 데이터 샘플링데이터 샘플링은 raw data로부터 sample data를 추출하는 기법을 말한다. 직관적으로 보통의 경우 '샘플링'이라는 단어를 마주하면 자연스럽게 전체 데이터 중 일부 데이터를 추출하여 샘플로 쓰는 ..

지금까지의 프로그램은 개발자가 로직을 직접 구성하는 방식으로 만들어져 왔다. 하지만 머신러닝 또는 딥러닝으로 대표되는 인공지능 모델은 입력과 출력이라는 데이터를 바탕으로 추론 로직이 완성되는 형태이다. 즉, 코드 뿐만 아니라 학습에 사용되는 데이터 또한 로직을 구성하는 데에 큰 영향을 끼친다는 것이다. 기존의 프로그램은 개발자가 구성하는 로직이 그대로 규칙이 되는 반면, ML / DL 모델은 데이터가 그 규칙을 결정하는 데에 "매우 크게" 관여한다는 것이 포인트이다. 이에 따라 세간에서는 모델을 개발할 때 "Garbage in, Garbage out" 이라는 말을 많이 한다. 이 대목에서 생각해봐야 할 포인트가 있다. 만약 데이터가 편향되어 있다면 어쩌나.데이터의 편향성? 그게 문제가 될까? 된다. 위에..