机器学习之经典算法月度综合训练(三)

本文介绍了一个基于发动机生产数据集的机器学习任务,涵盖了数据预处理、使用MLPClassifier库进行神经网络训练及评估,以及手动实现神经网络的详细步骤,包括前向传播和反向传播算法,并提供了可视化结果。
摘要由CSDN通过智能技术生成

题目要求

(一)题目要求
已知某发动机工厂生产数据集,样本数量超过1万,共有10个系列不同品种的发动机。每个样本的特征数据储存engineX.txt中,样本的标签文件存储在enginey.txt中。请实现下列要求。

1.数据集加载,进行0-1缩放特征, 将数据集分成训练集(75%)和测试集(25%)(4分)
2.调用神经网络MLPClassifier库函数实现分类(共10分):
-设置模型参数:隐藏层共2层,单元数分别为400,100;正则化参数0.1;最大迭代次数为200 (4分)
-使用训练集完成模型的训练,并计算和输出训练集和测试集的准确率(2分)
-分别计算并输出训练集和测试集的混淆矩阵和分类报告(4分)
3.编写神经网络实现(共26分):
-完成数据初始化和对y值的onehotEncoder编码(4分)
-建立适当的神经网络模型,包括神经网络结构,相关参数初始化(要求隐藏层共2层,单元数分别为400,100)(4分)
-实现正(前)向传播算法(4分)
-实现反向传播算法(8分)
-分别计算和输出训练集和测试集的准确率(2分)
-分别计算并输出训练集和测试集的混淆矩阵和分类报告(4分)

神经网络调库代码实现

import numpy as np
# from matplotlib import pyplot as plt
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import confusion_matrix,classification_report
# 读取数据
X = np.loadtxt(r'engineX.txt',delimiter=',')
y = np.loadtxt(r'enginey.txt',delimiter=',')


# 数据预处理函数
def preprocess(X,y):
    # 特征缩放
    X_min = np.min(X)
    X_max = np.max(X)
    X = (X - X_min) / (X_max - X_min)
    # 数据切分
    d = int(0.75 * len(X))
    X_train,X_test = np.split(X,[d])
    y_train,y_test = np.split(y,[d])
    return X_train,X_te
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值