더북(TheBook)

 

3원-핫 인코딩

 

이제 케라스를 이용해 아이리스의 품종을 예측해 보겠습니다.

Iris-setosa, Iris-virginica 등 데이터 안에 문자열이 포함되어 있네요. 이럴 때는 numpy보다는 panda로 데이터를 불러와 X와 Y 값을 구분하는 것이 좋습니다.

 

df = pd.read_csv(’../dataset/iris.csv’, names = [“sepal_length”,

“sepal_width”, “petal_length”, “petal_width”, “species”])


dataset = df.values

X = dataset[:,0:4].astype(float)

Y_obj = dataset[:,4]

 

또한, Y 값이 이번에는 숫자가 아니라 문자열입니다. 문자열을 숫자로 바꿔 주려면 클래스 이름을 숫자 형태로 바꿔 주어야 합니다. 이를 가능하게 하는 함수가 sklearn 라이브러리의 LabelEncoder()입니다.

 

from sklearn.preprocessing import LabelEncoder


e = LabelEncoder()

e.fit(Y_obj)

Y = e.transform(Y_obj)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.