美文网首页
多因素卷积神经网络要点

多因素卷积神经网络要点

作者: Benfrost | 来源:发表于2023-04-09 14:22 被阅读0次

数据预处理

import pandas as pd

from sklearn.preprocessing import StandardScaler

from sklearn.preprocessing import OneHotEncoder

加载数据

data = pd.read_csv('data.csv')

提取自变量和应变量

X = data.iloc[:, :-1].values

Y = data.iloc[:, -1].values

标准化处理

scaler = StandardScaler()

X = scaler.fit_transform(X)

OneHot编码

encoder = OneHotEncoder()

Y = encoder.fit_transform(Y.reshape(-1, 1)).toarray()

划分数据集

from sklearn.model_selection import train_test_split

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)

建立卷积神经网络模型

from keras.models import Sequential

from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense

model = Sequential()

添加卷积层

model.add(Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(3, 1)))

添加池化层

model.add(MaxPooling1D(pool_size=2))

添加全连接层

model.add(Flatten())

model.add(Dense(units=64, activation='relu'))

添加输出层

model.add(Dense(units=3, activation='softmax'))

编译模型

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

训练模型

model.fit(X_train.reshape(-1, 3, 1), Y_train, batch_size=32, epochs=50, verbose=1)

评估模型

score = model.evaluate(X_test.reshape(-1, 3, 1), Y_test, verbose=0)

print('Test loss:', score[0])

print('Test accuracy:', score[1])

模型优化

调整神经网络的层数、神经元个数、激活函数等超参数

model = Sequential()

model.add(Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(3, 1)))

model.add(Conv1D(filters=64, kernel_size=3, activation='relu'))

model.add(MaxPooling1D(pool_size=2))

model.add(Flatten())

model.add(Dense(units=128, activation='relu'))

model.add(Dense(units=64, activation='relu'))

model.add(Dense(units=3, activation='softmax'))

调整优化器、学习率、批大小等训练参数

from keras.optimizers import Adam

model.compile(optimizer=Adam(lr=0.001), loss='categorical_crossentropy', metrics=['accuracy'])

model.fit(X_train.reshape(-1, 3, 1), Y_train, batch_size=64, epochs=100, verbose=1)

输入新的自变量,输出对应的应变量

import numpy as np

X_new = np.array([[3, 30, 5]])

X_new = scaler.transform(X_new)

Y_pred = model.predict(X_new.reshape(-1, 3, 1))

print(Y_pred)

相关文章

  • CS231n 卷积神经网络: 架构, 卷积/池化层(上)

    卷积神经网络: 架构, 卷积/池化层(上) 卷积神经网络: 架构, 卷积/池化层(上) 卷积神经网络(CNNs/C...

  • 视觉

    卷积神经网络整理 各种卷积神经网络变形

  • 卷积神经网络详解

    卷积神经网络和人工神经网络的差异是什么? 利用卷积神经网络训练的数据预处理 全连接带来的问题:1.参数w会非常多,...

  • datawhale-task05(卷积神经网络基础;leNet;

    卷积神经网络基础 LeNet和其他进阶卷积神经网络

  • 卷积神经网络

    第七章 卷积神经网络 卷积层(Convolution Layer) 卷积神经网络(Convolutional Ne...

  • 再战机器学习—卷积神经网络

    卷积神经网络 卷积神经网络可能是离我们最近的神经网络,遍布在计算机视觉应用。通常卷积神经网络是由卷积层、池化层和全...

  • 卷积神经网络

    卷积神经网络   卷积神经网络(Convolutional Neural Network,CNN或ConvNet)...

  • 二维卷积运算

    卷积神经网络是含有卷积层(convolutional layer)的神经网络。本章中卷积神经网络均使用最常见的二维...

  • CNN

    参考:CNN卷积神经网络原理讲解+图片识别应用(附源码)卷积神经网络 – CNN深入学习卷积神经网络(CNN)的原...

  • CNN基本算子与操作

    卷积神经网络(Convolutional Neural Networks,CNN)是一种前馈神经网络。卷积神经网络...

网友评论

      本文标题:多因素卷积神经网络要点

      本文链接:https://www.haomeiwen.com/subject/jqubddtx.html