인코딩은 사전적으로 어떤 정보를 정해진 규칙에 따라 변환하는 것을 의미. 우리가 만든 머신러닝 모델은 숫자를 기반으로 학습하기 떄문에 반드시 인코딩 과정이 필요.
sklearn.preprocessing.LabelEncoder- 메소드
fit: 데이터 학습transform: 정수형 데이터로 변환fit_transform: fit과 transform을 연결하여 한번에 실행inverse_transform: 인코딩된 데이터를 원래 문자열로 변환- 속성
classes_: 인코더가 학습한 클래스(범주)
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
le = LabelEncoder()
le.fit(titaninc_df[['Sex']])
le.classes_
# array(['female', 'male'], dtype=object)
titaninc_df['Sex_le'] = le.transform(titaninc_df[['Sex']])
titaninc_df.head(3)

pd.get_dummiessklearn.preprocessing.OneHotEncoder
- 메소드(LabelEncoder와 동일)
categories_: 인코더가 학습한 클래스(범주)get_feature_names_out(): 학습한 클래스 이름(리스트)
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
le = LabelEncoder()
oe = OneHotEncoder()
oe.fit(titaninc_df[['Embarked']])
od.categories_
# [array(['C', 'Q', 'S', nan], dtype=object)]
embarked_csr = oe.transform(titaninc_df[['Embarked']])
embarked_csr_df = pd.DataFrame(embarked_csr.toarray(), columns = oe.get_feature_names_out())
embarked_csr_df.head(3)

pd.concat([titaninc_df, embarked_csr_df],axis = 1).head(3)
