파이썬. 머신러닝/sklearn
분류 분석 모델링 (MinMaxScaler, LabelEncoder, train_test_split)
한국수달보호협회장
2024. 10. 12. 21:29
import matplotlib.pylab as plt
import seaborn as sns
import numpy as np
import pandas as pd
penguins = sns.load_dataset('penguins')
penguins
penguins = penguins.dropna().reset_index(drop=True)
penguins
MinMaxScaler로 정규화
수치들을 0 ~ 1로 바꿔준다.
정규화 참고
https://beneagain.tistory.com/183
sklearn : 전처리 스케일링(Scaling) - 정규화(Normalization)
본격적인 머신러닝을 배우다보니 새로운 단어를 많이 접했는데, 일반적으로도 사용되는 통계용어다. 수치를 분석할 때 단위나 스케일 차이가 크면 학습모델 성능이 저하된다. 데이터 단위를 맞
beneagain.tistory.com
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
features = penguins[['bill_length_mm','bill_depth_mm','flipper_length_mm','body_mass_g']]
features_normed = scaler.fit_transform(features)
penguins = penguins.assign(bill_length_mm = features_normed[:, 0],
bill_depth_mm = features_normed[:, 1],
flipper_length_mm = features_normed[:, 2],
body_mass_g = features_normed[:, 3])
penguins
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
features = penguins[['species', 'island', 'sex']]
encoded = features.apply(encoder.fit_transform)
penguins = penguins.assign(species = encoded['species'],
island = encoded['island'],
sex = encoded['sex'])
penguins
from sklearn.model_selection import train_test_split
X = penguins.drop('sex', axis=1)
Y = penguins['sex']
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, shuffle=True)