需要kddtrain2018.txt和kddtest2018.txt的盆友,请下载我上传的资源:神经网络训练数据分类_kdd
内容:
根据给定数据集创建分类器。
训练数据集(kddtrain2018.txt):100 predictive attributes A1,A2,...,A100和一个类标C,每一个属性是介于0~1之间的浮点数,类标C有三个可能的{0,1,2},给定的数据文件有101列,6270行。
测试数据集(kddtest2018.txt):500行
处理过程:
1.将两个txt文件转换成excel,得到6270*101、500*100(test2018.xlsx)的两个.xlsx表格。
2.将训练文件6270*101分成两个表格:6000*101和270*101,得到train2018.xlsx文件和val2018.xlsx文件。
3.用train2018.xlsx代码训练
4.用val2018.xlsx验证,得到准确率96.7%
5.可以预测test结果,但是没有标签,所以不知道正确率......此步略:)
神经网络设计:
原则:简单点,写代码的方式简单点
三层网络,输入层,隐含层,输出层。
n_x=6000(6000个训练样本),n_h=32(32个神经元,也可以是别的数字),n_y=3(3类)
训练代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def initialize_parameters(n_x, n_h, n_y):
W1 = np.random.randn(n_h,n_x) * 0.01
b1 = np.zeros((n_h,1))
W2 = np.random.randn(n_y,n_h) * 0.01
b2 = np.zeros((n_y,1))
assert (W1.shape == (n_h, n_x))
assert (b1.shape == (n_h, 1))
assert (W2.shape == (n_y, n_h))
assert (b2.shape == (n_y, 1))
parameters