Если вы новичок в искусственном интеллекте или глубоком обучении, вот ваша первая CNN, а пока код глубокого обучения.
В. Почему данные IRIS?
О. Поскольку все уже знакомы с данными Iris, почему бы не начать с данных IRIS. Конечно, это слишком просто для CNN, но тогда было бы слишком просто понять и углубиться.
Хотя известно, что данные IRIS слишком малы для сложного процесса, такого как глубокое обучение, тем не менее, это хороший способ начать понимать глубокое обучение на базовом наборе данных, который мы все использовали в качестве первого примера науки о данных. Просто, коротко и легко.
Вот краткое описание со всем кодом, необходимым для этого.
Давайте импортируем несколько хороших пакетов
import matplotlib.pyplot as plt import tensorflow as tf import numpy as np import pandas as pd import os import math from tensorflow.keras.layers import Input, Embedding from tensorflow.keras.backend import square, mean from tensorflow.keras.models import Sequential from tensorflow.keras.layers import InputLayer, Input from tensorflow.keras.layers import Reshape, MaxPooling1D from tensorflow.keras.layers import Conv1D, Dense, Flatten from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_split
Вот фрагмент данных

Давайте прочитаем эти данные во фрейме данных
df = pd.read_excel('/content/IRIS_Edited.xlsx')
print(df)
Читать как

Прочтите характеристики
feature_names = [ 'sepal_length','sepal_width', 'petal_length','petal_width'] feature = df[feature_names] target_names = ['species'] targets = df[target_names] x_data = feature.values y_data = targets.values
Подгонка данных, масштабирование данных и проверка данных
x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.15) x_scaler = MinMaxScaler() x_train_ = x_scaler.fit_transform(x_train) x_test_ = x_scaler.transform(x_test) y_scaler = MinMaxScaler() y_train_ = y_scaler.fit_transform(y_train) y_test_ = y_scaler.transform(y_test)
Сделать модель CNN
model = Sequential()
model.add(Conv1D(64, 2, activation="relu", input_shape=(4,1)))
model.add(Dense(4, activation="relu"))
model.add(MaxPooling1D())
model.add(Flatten())
model.add(Dense(3, activation = 'sigmoid'))
model.compile(loss = 'mse',
optimizer = "adam",
metrics = ['mse'])
model.summary()
Вот модель и параметры

Найдите результат, т. точность
model.fit(x_train_, y_train_, batch_size=16,epochs=100)
result = model.evaluate(x=x_test_,
y=y_test_)
print("\n\nResult:", result)
Вот результаты тренировок и тестирования, потери и mse

Это приводит к результату с убытком и mse как 0,0372.