Это простой проект ИНС для тех, кто плохо знаком с ИНС и хочет применить ИНС в простом проекте.

Я буду объяснять код, если вы не знакомы с ИНС, то можете посмотреть это видео

В этой модели мы должны предсказать, есть ли у человека диабет или нет.

Шаг 1. Сначала мы импортируем библиотеки

# Importing libraraies
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
  1. Pandas используется для обработки и анализа данных.
  2. Sequential используется для инициализации нейронной сети.
  3. Dense используется для создания слоев в нашей искусственной нейронной сети.

Шаг 2. Загрузите набор данных

# Loading the dataset
dataset = pd.read_csv('pima-indians-diabetes.csv')

Чтение файла CSV!

Шаг 3. Разделение набора данных

# Feature and target matrix
X = dataset.iloc[:, 0:8].values
y = dataset.iloc[:, 8].values

В массиве [:, 0:8] «:» представляет количество строк, и мы берем все строки, а «0:8» представляет количество столбцов, которые мы берем в столбце от 0 до 7 (8 не является включены).

Шаг 4.Определение модели

# Defining the model
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu')) # input layer
model.add(Dense(8, activation='relu')) # hidden layer
model.add(Dense(1, activation='sigmoid')) # out layer

Sequential назначается переменной модели
Поскольку мы знаем, что Dense используется для создания слоев, первый слой, который мы создаем, — это входной слой.
В входном слое мы назначаем input_dim = 8,означает, что мы используем 8 входных данных (матрица признаков X) для обучения ИНС.
Скрытый слой,у нас снова 8 (концепция обратного распространения), функция активации, используемая в входном и скрытом слое, — это функция выпрямителя ('relu').
выходной слой , мы используем сигмоидальную функцию, и выход равен 1 (потому что это проблема классификации 1 или 0)

Шаг 5. Компиляция подгонки модели

# Compile the keras model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the keras model
model.fit(X, y, epochs=150, batch_size=10)

Составление всей искусственной нейронной сети (ИНС).

1. Оптимизатор — это просто алгоритм, который используется для поиска оптимального набора весов в нейронной сети. В оптимизаторе используется алгоритм стохастический градиентный спуск adma.

2. потеря,используется ‘binary_crossentropy’, потому что это проблема классификации.

3. Показатели — это критерий, который вы выбираете для оценки своей модели. «точность» используется для улучшения производительности модели.

Метод подбора используется для подгонки нашей ИНС к обучающему набору.
X, y используются в качестве обучающего набора, эпохи =150; batch_size = 10, поэтому мы видим, что точность улучшается с каждым раундом.

Шаг 6.Оценка модели

# Evaluate the keras model
_, accuracy = model.evaluate(X, y)
print("Accuracy: %.2f" % (accuracy*100))

Печатаем точность нашей модели!

И мы закончили!
Вы можете получить код, файлы из здесь