둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
데이터 정규화 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
데이터 정규화
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
데이터 정규화(data normalization)는 데이터를 특정한 범위나 척도로 변환하는 것을 말한다. 일반적으로는 데이터의 분포를 표준화하거나 정규화하여 데이터 간의 크기 차이나 단위 차이를 제거하고, 데이터 분포를 정규분포에 가깝게 만드는 것을 목적으로 한다. ==용도== #데이터 분포의 스케일을 일정하게 유지할 수 있다. 이렇게 하면 모델이 입력 데이터의 크기나 단위 차이에 덜 민감해지고, 학습 과정이 안정화될 수 있다. #모델의 성능을 향상시킬 수 있다. 데이터를 정규화하면 모델이 입력 데이터 간의 상관 관계를 더 잘 파악할 수 있게 되므로, 학습 성능이 향상될 수 있다. #모델의 일반화 성능을 향상시킬 수 있다. 데이터를 정규화하면 모델이 노이즈에 덜 민감해지고, 일반화 성능이 향상될 수 있다. ==방법== 정규화 방법에는 여러가지가 있으며, 주로 데이터의 평균과 분산을 이용하여 표준화(Standardization)하거나, 최소값과 최대값을 이용하여 정규화(Min-Max normalization)하는 등의 방법이 있다. 이외에도 정규화 방법은 다양하므로, 데이터의 특성과 모델에 따라 적절한 정규화 방법을 선택해야 한다. ===표준화=== 표준화(Standardization)는 데이터를 평균이 0이고 표준편차가 1인 표준정규분포로 변환하는 방법이다. 이 방법은 다음과 같이 수식으로 나타낼 수 있다. <math>z=(x-\mu)/\sigma</math> (<code>x</code>는 원래 데이터, <code>μ</code>는 평균, <code>σ</code>는 표준편차, <code>z</code>는 정규화된 데이터) 이 수식을 파이썬 코드로는 다음과 같이 구현할 수 있다.<syntaxhighlight lang="python"> import numpy as np x = np.array([1, 2, 3, 4, 5]) mu = np.mean(x) # 평균 sigma = np.std(x) # 표준편차 z = (x - mu) / sigma # 정규화된 데이터 </syntaxhighlight>NumPy에서 표준화를 구현하는 방법으로는 다음이 있다.<syntaxhighlight lang="python"> import numpy as np X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]) # 입력 데이터 정의 X_scaled = (X - np.mean(X, axis=0)) / np.std(X, axis=0) # 입력 데이터 표준화 print(X_scaled) </syntaxhighlight>scikit-learn의 <code>StandardScaler</code> 모듈을 이용하면 다음과 같이 <code>StandardScaler</code> 모듈을 이용하여 데이터를 표준화할 수 있다.<syntaxhighlight lang="python"> from sklearn.preprocessing import StandardScaler X = [[1, 2], [3, 4], [5, 6], [7, 8]] # 입력 데이터 정의 scaler = StandardScaler() # StandardScaler 객체 생성 X_scaled = scaler.fit_transform(X) # 입력 데이터 표준화 print(X_scaled) </syntaxhighlight> ===최소-최대 정규화=== 최소-최대 정규화(Min-Max Normalization)는 데이터를 최소값이 0, 최대값이 1이 되도록 스케일링하는 방법이다. <math>z = (x - min) / (max - min)</math><syntaxhighlight lang="python"> import numpy as np # 입력 데이터를 정의합니다. X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]) # Min-Max normalization을 적용합니다. X_normalized = (X - np.min(X, axis=0)) / (np.max(X, axis=0) - np.min(X, axis=0)) print(X_normalized) </syntaxhighlight> [[분류:분야/인공 신경망]] [[분류:분야/기계학습]] [[분류:분야/IT]] [[분류:분야/컴퓨터]] [[분류:분야/데이터과학]] [[분류:분야/통계학]]
데이터 정규화
문서로 돌아갑니다.
다른 언어