[KT AIVLE SCHOOL]

딥러닝(2)

조진목_스터디 2024. 10. 31. 20:59

딥러닝 이진 분류 

# input 개수
n = x_train.shape[1]  

# 메모리 정리
clear_session()

# 모델 생성
model_1 = Sequential([Input(shape=(n,)),
                      Dense(16, activation='relu'),
                      Dense(1, activation='sigmoid')])

# 모델 구조 확인
model_1.summary()

# 컴파일
model_1.compile(optimizer=Adam(learning_rate=0.0001), loss='binary_crossentropy')

# 모델 훈련
model_1.fit(x_train, y_train, epochs=200, validation_split=0.2, verbose=0)

# 예측
pred_1 = model_1.predict(x_val)
pred_1 = np.where(pred_1 > 0.5, 1, 0)

# 결과 출력
print(confusion_matrix(y_val, pred_1))
print(classification_report(y_val, pred_1))

 

 

딥러닝 다중분류 

# 종속 변수 가변수화
data['Species'] = data['Species'].map({'setosa':0, 'versicolor':1, 'virginica':2})

# 컬럼 개수 생성
nfeatures = x_train.shape[1] 

# 메모리 정리
clear_session()

# 모델 생성
model = Sequential( [Input(shape = (nfeatures,)),
                     Dense( 3, activation = 'softmax')] )

# 모델 요약
model.summary()

# 컴파일
model.compile(optimizer=Adam(learning_rate=0.1), loss= 'sparse_categorical_crossentropy')

# 모델 훈련
model.fit(x_train, y_train, epochs = 50, validation_split=0.2)

# 모델 예측
pred = model.predict(x_val)

# 확률 값을 정수로 변환
pred_1 = pred.argmax(axis=1)

# 결과 출력
print(confusion_matrix(y_val, pred_1))
print(classification_report(y_val, pred_1))

 

 

히든 레이어: 예측값과 실제값의 오차를 줄여주는 새로운 특징을 생

'[KT AIVLE SCHOOL]' 카테고리의 다른 글

CNN  (1) 2024.11.04
딥러닝(3)  (0) 2024.11.01
딥러닝(1)  (0) 2024.10.30
머신러닝(7)  (0) 2024.10.22
머신러닝(6)  (0) 2024.10.21