'Kaggle 비망록' One-hot 벡터로 변환
5239 단어 pandas파이썬scikit-learnKaggle
목적
질적 변수(카테고리 변수)를 One-hot 벡터로 변환
사용 데이터 및 환경
데이터 : kaggle Titanic 데이터
환경: kaggle notebook
방법
onehot_encoding.py
#モジュールのインポート,osの準備
import numpy as np
import pandas as pd
import matplotlib as plt
import os
for dirname, _, filenames in os.walk('/kaggle/input'):
for filename in filenames:
print(os.path.join(dirname, filename))
데이터 로드
onehot_encoding.py
train_data=pd.read_csv('../input/titanic/train.csv')
test_data=pd.read_csv('../input/titanic/test.csv')
데이터를 살펴보기
onehot_encoding.py
train.data.head()
카테고리 변수의 데이터 프레임이 몇 가지 있음을 알 수 있습니다. 이것들을 One-hot 벡터로 변환하는 것을 목표로합니다.
첫째, 문자열을 그대로 사용하기가 어렵 기 때문에 각 카테고리에 다른 숫자를 할당합니다.
Pandas의
factorize()
를 사용합니다.factorize()
는 숫자 데이터 (emb_cat_encoded)와 카테고리 목록 (emb_categories)을 모두 반환합니다.onehot_encoding.py
train_cat=train_data['Embarked']
train_cat_encoded,train_categories=train_cat.factorize()
#見てみる
print(train_cat.head())
print(train_cat_encoded[:10])
print(train_categories)
그런 다음 one-hot 벡터로 변환
scikit-learn에서 제공하는 OneHotEncoder를 사용합니다.
onehot_encoding.py
#scikit-learnからOneHotEncoderをインポート
from sklearn.preprocessing import OneHotEncoder
#one-hotベクトルに変換
oe=OneHotEncoder(categories='auto')
train_cat_1hot=oe.fit_transform(train_cat_encoded.reshape(-1,1))
#中を見てみる
train_cat_1hot
변환 완료.
Reference
이 문제에 관하여('Kaggle 비망록' One-hot 벡터로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/8trees_yagi/items/a62f0355e57d1d761126텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)