1. 목표
- 데이터의 Min-Max 정규화를 여러가지 방법에 의해 실행해 본다.
2. 도구
- Google Colaboratory
3. 사전 정보 확인
[Python] Z-Score 표준화 (tistory.com)
[Python] Z-Score 표준화
1. 목표 - Z-Score 표준화를 통해 표준정규분포를 나타낼 수 있다. 2. 도구 - Google Colaboratory [Python] 데이터 프레임 CSV 파일로 저장하기 (tistory.com) [Python] 데이터 프레임 CSV 파일로 저장하기 1. 목표 -
iotcyuty.tistory.com
- Z-Score 표준화에 이어 Mn-Max 정규화에 대해 다뤄볼 예정이다.
- 데이터셋은 위 포스팅에 저장된 CSV 파일로 해보도록 한다.
4. 코드 작성
'''
Min-Max 정규화 구하기
'''
import numpy as np # 넘파이 임포트
import matplotlib.pyplot as plt # 맷플롯립.파이플롯 임포트
import pandas as pd # 판다스 임포트
from google.colab import drive
df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/Sample_normaldistribution.csv') # 정규분포 저장 데이터 불러옴
#### 공식에 의해 Min-Max 정규화 구함 ####
min_a = np.min(df["A"])
max_a = np.max(df["A"])
df["Min_Max_CALC_A"] = (df["A"]-min_a) / (max_a - min_a)
#### 결과 출력 ####
plt.hist(df["Min_Max_CALC_A"])
plt.show()
print("Min-Max 정규화를 거친 데이터의 최소값은 ", np.min(df["Min_Max_CALC_A"]), "이다.")
print("Min-Max 정규화를 거친 데이터의 최대값은 ", np.max(df["Min_Max_CALC_A"]), "이다.")
4.1. 코드 작성 (sklearn 이용)
'''
Min-Max 정규화 구하기
sklearn
'''
import numpy as np # 넘파이 임포트
import matplotlib.pyplot as plt # 맷플롯립.파이플롯 임포트
import pandas as pd # 판다스 임포트
from google.colab import drive
from sklearn.preprocessing import MinMaxScaler
df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/Sample_normaldistribution.csv') # 정규분포 저장 데이터 불러옴
#### sklearn.preprocessing MinMaxScaler 를 이용해서 Min-Max 정규화 구함 ####
scaler = MinMaxScaler() # 인스턴스 생성
df["Min_Max_SK_A"] = scaler.fit_transform(df[["A"]]) # Min-Max 정규화 실행
#### 결과 출력 ####
plt.hist(df["Min_Max_SK_A"])
plt.show()
print("Min-Max 정규화를 거친 데이터의 최소값은 ", np.min(df["Min_Max_SK_A"]), "이다.")
print("Min-Max 정규화를 거친 데이터의 최대값은 ", np.max(df["Min_Max_SK_A"]), "이다.")
'Python' 카테고리의 다른 글
[Python] 데이터 프레임 CSV 파일로 저장하기 (0) | 2023.05.09 |
---|---|
[Python] Z-Score 표준화 (0) | 2023.05.09 |
[Python] 표준정규분포(정규분포) 데이터 생성 (0) | 2023.05.09 |
[Python] Seaborn 패키지 (0) | 2023.05.08 |
[Python] Matplotlib.pyplot 상자수염 그래프 그리기 (0) | 2023.05.08 |