홈>
300 개의 데이터 세트에 50 개의 대상 클래스가 있습니다.
이것은 98 가지 기능을 갖춘 샘플 데이터 세트입니다 :
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
dataset = pd.read_csv(root_path + 'pima-indians-diabetes.data.csv', header=None)
X= dataset.iloc[:,0:8]
y= dataset.iloc[:,8]
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X = sc.fit_transform(X)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3)
from keras import Sequential
from keras.layers import Dense
classifier = Sequential()
#First Hidden Layer
classifier.add(Dense(units = 10, activation='relu',kernel_initializer='random_normal', input_dim=8))
#Second Hidden Layer
classifier.add(Dense(units = 10, activation='relu',kernel_initializer='random_normal'))
#Output Layer
classifier.add(Dense(units = 1, activation='sigmoid',kernel_initializer='random_normal'))
#Compiling the neural network
classifier.compile(optimizer ='adam',loss='binary_crossentropy', metrics =['accuracy'])
#Fitting the data to the training dataset
classifier.fit(X_train,y_train, batch_size=2, epochs=10)
여기에서 19 %의 정확도를 얻었고 예측 결과를 최적화하는 방법을 모르겠습니다.
-
답변 # 1
관련 질문
- python - tfkerasapplicationsInceptionV3의 혼합 레이어 란 무엇입니까?
- python - 다중 출력으로 CNN 손실?
- python - StackAbuse 가이드를 따르지만 작동하지 않습니다
- python - 사용자 입력을 받아 경로에 배치하는 방법은 무엇입니까?
- python - typeerror - 혼합 정밀도가 활성화 된 상태에서 사용자 정의 활성화 기능을 사용합니까?
- python - 가변 길이 시퀀스 학습 및 예측
- python - mnist autoencoder - valueerror : 새 배열의 총 크기는 변경되지 않아야 함, input_shape = [748], output_shape = [28, 28]
- python - TensorFlow를 사용한 Deep Learning에서 제공하는 코드의 결과가 책의 스냅 샷과 다른 이유
- python - 사전 학습 vgg19 tensorflow, Keras를 사용하여 CNN 오토 인코더에서 사용자 지정 손실 (지각 손실) 정의
- python - keras 순차 모델을 빌드 이전 상태로 되 돌리는 방법은 무엇입니까?
98 개의 피처를 가진 원본 데이터에 대해 Dimentionality Reduction 기법을 수행하여 모델에서 8 차원 입력 피처를 사용하고 있다고 생각합니다.
구현에 대한 몇 가지 관찰 사항이 있습니다 :
[분류 문제로]샘플이 50 개의 다른 클래스에 속한다고 언급했듯이 문제는 분명히 멀티 클래스 분류 문제입니다. 따라서 다음과 같이 먼저 라벨을 인코딩해야합니다.
이 경우 최종 레이어에서 출력 노드 (클래스를 나타냄) 수와 활성화 기능을 다음과 같이 변경해야합니다.
또한, 당신은categorical_crossentropy
를 ue해야합니다 모델을 컴파일하는 동안 손실 함수로 사용할 수 있습니다. <시간> [회귀 문제]출력이 0에서 50 (연속) 범위 내에 있고 최종 출력에서 단일 출력 노드를 유지할 수 있으므로이 문제를 다중 회귀 문제로 간주 할 수도 있습니다. 그러나이 경우에는
linear
를 사용해야합니다sigmoid
대신 활성화 기능 .마지막 레이어는 다음과 같아야합니다 :
또한, 회귀 문제가 발생하면mean_squared_error
가장 관련성이 높은 비용 함수 (데이터 집합에 특이 치가 많지 않다고 가정) 및accuracy
성능 측정 항목과 관련이 없으므로 (mean_absolute_error
를 사용할 수 있음) 손실과 유사합니다). 따라서 두 번째 수정은 다음과 같습니다.