Как я могу улучшить точность этой нейронной сети? - PullRequest
0 голосов
/ 05 марта 2019

Я работаю с набором данных Heart Disease из репозитория машинного обучения, и я хочу повысить точность 0,8533 моего NN.

Я перепробовал много вещей и получилнаилучшие результаты с этими настройками

classifier = Sequential()
classifier.add(Dense(units = 16, activation = 'relu', 
                        kernel_initializer = 'normal', input_dim = 13))
classifier.add(Dropout(0.2))
classifier.add(Dense(units = 8, activation = 'relu',
                        kernel_initializer = 'normal'))
classifier.add(Dropout(0.2))
classifier.add(Dense(units = 1, activation = 'sigmoid'))
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy',
                      metrics = ['accuracy'])

classifier.fit(x = attributes, y = classes, batch_size = 1, epochs = 1000,
                  validation_split = 0.25)

Я изменил количество узлов на 10 и 5 соответственно, изменил оптимизатор на rmsprop и sgd, изменил kernel_initializer на 'normal' и 'random_uniform'.Хотя точность не улучшилась.

Какие советы вы могли бы дать мне, ребята, чтобы повысить точность?

1 Ответ

0 голосов
/ 05 марта 2019

Если у вас нет переобучения, попробуйте уменьшить коэффициент отсева.Вы изучали набор данных?Возможно, есть ненужные функции, и вы можете уменьшить размерность, например, с помощью PCA.Попробуйте использовать K-Fold с вашим набором данных, чтобы получить более реалистичную точность.Вы пробовали другие классификаторы?Нейронные сети очень крутые, но иногда SVM, LR, RandomForest, XGBoost работают довольно прилично и их легче настраивать, если вы используете Grid со sklearn.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...