: 알고리즘 中 하나 -> 딥러닝
:여러 단계를 거쳐 결정을 만들어냄
-> MLP에서는 가중치 합을 만드는 과정(y hat)이 여러번 반복
이것만 보면 선형 모델이랑 비슷하기 때문에, 더 강력하게 만들기 위해서
렐루 or 하이퍼볼릭 탄젠트 (비선형 함수)를 적용
★ 우리가 정해야할 중요 매개변수: 은닉층의 유닛 개수
-> 많은 은닉층으로 구성된 대규모의 신경망 = 딥러닝!
from sklearn.neural_network import MLPClassifier
#훈련 세트 평균 계산
mean_on_train = X_train.mean(axis=0)
#훈련 세트 표준 편차 계산
std_on_train = X_train.std(axis=0)
#표준정규분포로 만들기
X_train_scaled = (X_train - mean_on_train) / std_on_train
#테스트 세트도 표준정규분포로 만들기
X_test_scaled = (X_test - mean_on_train) / std_on_train
mlp = MLPClassifier(random = 0)
# 반복횟수가 100이 기본값이기 때문에 max_iter 매개변수를 이용해 늘려줘야 함
# 안 그럼 오류!
mlp.fit(X_train_scaled, y_train)
print("훈련 세트 정확도: {:.3f}".format(mlp.score(X_train_scaled, y_train)))
print("테스트 세트 정확도: {:.3f}".format(mlp.score(X_test_scaled, y_test)))
아래는 2.4절의 분류 예측의 불확실성 추정!
: 이진 분류에서 decision_function 반환값의 크기는 (n_samples,)
-> 각 샘플이 하나의 실수 값을 반환
정말 역대급으로 이해 못하겠음 ^^... 이 값이 의미하는 바가 무엇인가?
결정 함수만 따로 공부해야겠다
: predict_proba의 출력은 각 클래스에 대한 확률 -> decision_function의 출력보다 이해하기 쉬움 (오예!)
반환값 = (n_samples, 2)
지도 학습이 끝났다 ~!~!~!~! 신경망에서는 들어본 단어 (다중 퍼셉트론 등등...)이 많아서 공부하는데 재미있었는데, 그 뒤에 새로운 관문이 기다리고 있었다 ^^... 분류 예측의 불확실성 추정...... 멀지 않은 미래에 정복하러 오겠다 !!!