반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 안드로이드
- 뉴로 심볼릭
- 모두의 딥러닝
- nlp
- 예측선
- 과적합
- 밑시딥2
- GPT-3
- 선형회귀
- gradiant descent
- 밑바닥부터 시작하는 딥러닝
- 다중분류
- MRC
- 안드로이드 구조
- 독서 #독서후기 #피로사회 #행동과잉 #긍정과잉
- ESG
- 면접왕 이형
- k겹 교차검증
- 학습 자동 중단
- 딥페이크
- 밑시딥
- 경사하강법
- 보이스피싱
- 로지스틱 회귀법
- 코틀린
- andoriod with kotlin
- 면접왕이형
- 베스트 모델
- 경제신문스크랩
- ESG 채권
Archives
- Today
- Total
Practice makes perfect!
[모두의 딥러닝] 12장 다중 분류 문제 해결하기 본문
# species 데이터에 문자열이 있기 때문에 numpy대신 pandas를 이용해 데이터 불러옴
df = pd.read_csv('../dataset/iris.csv',names = ["sepal_length","sepal_width","petal_length","petal_width","species"])
print(df.head())
import seaborn as sns
import matplotlib.pyplot as plt
# pairplot 함수를 이용해 데이터 전체를 한번에 보는 그래프 출력
sns.pairplot(df,hue='species')
plt.show()
# 꽃잎과 꽃받침의 크기와 너비가 품종별로 차이가 있음을 확인할 수 있음.
# 문자열을 숫자로 변환
클래스 이름(문자열)을 숫자 형태로 바꿔주기 위해 LabelEncoder() 함수 이용
e = LabelEncoder()
e.fit(Y_obj)
Y = e.transform(Y_obj)
# array(['Iris-setosa','Iris-versicolor','Iris-virginica']) => array([1,2,3])
# 원-핫 인코딩 : 여러 개의 Y값을 0과 1로만 이루어진 형태로 바꿔주는 기법
활성화 함수를 적용하려면 Y값이 숫자 0과 1로 이루어져 있어야 함.
tf.keras.utils.categorical() 함수 적용
Y_encoded = tf.keras.utils.to_categorical(Y)
# array([1,2,3]) => array([[1.,0.,0.],[0.,1.,0.],[0.,0.,1.]])
# 모델의 설정
최종 출력값은 3개 중 하나이므로 출력층의 노드 수는 3으로 설정, 활성화 함수로 softmax 사용
- softmax : 총합이 1인 형태로 바꿔서 계산해 주는 함수
-> 큰 값이 두드러지게 나타남 -> 원-핫 인코딩 값으로 전환 가능.
model = Sequential()
model.add(Dense(16,input_dim=4,activation='relu'))
model.add(Dense(3,activation='softmax')) # 출력층
반응형
'Study > 딥러닝' 카테고리의 다른 글
[모두의 딥러닝] 14장 베스트 모델 만들기 (0) | 2021.05.30 |
---|---|
[모두의 딥러닝] 13장 과적합 피하기 (0) | 2021.05.29 |
[모두의 딥러닝] 11장 데이터 다루기 (0) | 2021.05.29 |
[모두의 딥러닝] 10장 모델 설계하기 (0) | 2021.04.17 |
[모두의 딥러닝] 6~9장 퍼셉트론, 다층 퍼셉트론, 오차 역전파 (0) | 2021.04.13 |
Comments