机器学习基本模型与算法在线实验闯关

第7关:神经网络回归模型及其应用

任务描述

基于5.6的数据集,构建神经网络回归模型,输出其模型准确率,并针对测试数据AT=28.4、V=50.6、AP=1011.9、RH=80.54,预测其PE值。

相关知识

Python神经网络分类应用举例、Python神经网络回归应用举例

Python神经网络分类应用举例

(1)导入神经网络分类模块MLPClassifier。

 
  1. from sklearn.neural_network import MLPClassifier

(2)利用MLPClassifier创建神经网络分类对象clf

 
  1. clf = MLPClassifier(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=(5,2), random_ state=1)

参数说明: solver:神经网络优化求解算法,包括lbfgssgdadam 3种,默认值为adamalpha:模型训练误差,默认值为0.0001。 hidden_layer_sizes:隐含层神经元个数,如果是单层神经元,设置具体数值即可,本例中隐含层有两层,即5×2。 random_state:默认设置为1即可。 (3)调用clf对象中的fit()方法进行网络训练。

 
  1. clf.fit(x, y)

(4)调用clf对象中的score ()方法,获得神经网络的预测准确率(针对训练数据)。

 
  1. rv=clf.score(x,y)

(5)调用clf对象中的predict()方法可以对测试样本进行预测,获得预测结果。

 
  1. R=clf.predict(x1)

示例代码如下:

 
  1. import pandas as pd
  2. data = pd.read_excel('credit.xlsx')
  3. x = data.iloc[:600,:14].as_matrix()
  4. y = data.iloc[:600,14].as_matrix()
  5. x1= data.iloc[600:,:14].as_matrix()
  6. y1= data.iloc[600:,14].as_matrix()
  7. from sklearn.neural_network import MLPClassifier
  8. clf = MLPClassifier(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=(5,2), random_ state=1)
  9. clf.fit(x, y);
  10. rv=clf.score(x,y)
  11. R=clf.predict(x1)
  12. Z=R-y1
  13. Rs=len(Z[Z==0])/len(Z)
  14. print('预测结果为:',R)
  15. print('预测准确率为:',Rs)

执行结果如下: 预测结果为:[0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0] 预测准确率为:0.8222222222222222

Python神经网络回归应用举例

1.数据获取及训练样本构建 训练样本的特征输入变量用x表示,输出变量用y表示。

 
  1. import pandas as pd
  2. data = pd.read_excel('发电场数据.xlsx')
  3. x = data.iloc[:,0:4]
  4. y = data.iloc[:,4]

2.预测样本的构建 预测样本的输入特征变量用x1表示。

 
  1. import numpy as np
  2. x1=np.array([28.4,50.6,1011.9,80.54])
  3. x1=x1.reshape(1,4)

3.神经网络回归模型构建 (1)导入神经网络回归模块MLPRegressor。

 
  1. from sklearn.neural_network import MLPRegressor

(2)利用MLPRegressor创建神经网络回归对象clf。

 
  1. clf = MLPRegressor(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=8, random_ state=1)

参数说明: solver:神经网络优化求解算法,包括lbfgssgdadam 3种,默认为adamalpha:模型训练误差,默认为0.0001。 hidden_layer_sizes:隐含层神经元个数,如果是单层神经元,设置具体数值即可,如果是多层,如隐含层有两层5×2,则hidden_layer_sizes=(5,2)random_state:默认设置为1即可。 (3)调用clf对象中的fit()方法进行网络训练。

 
  1. clf.fit(x, y)

(4)调用clf对象中的score ()方法,获得神经网络回归的拟合优度(判决系数)。

 
  1. rv=clf.score(x,y)

(5)调用clf对象中的predict()可以对测试样本进行预测,获得预测结果。

 
  1. R=clf.predict(x1)

示例代码如下:

 
  1. import pandas as pd
  2. data = pd.read_excel('发电场数据.xlsx')
  3. x = data.iloc[:,0:4]
  4. y = data.iloc[:,4]
  5. from sklearn.neural_network import MLPRegressor
  6. clf = MLPRegressor(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=8, random_state=1)
  7. clf.fit(x, y);
  8. rv=clf.score(x,y)
  9. import numpy as np
  10. x1=np.array([28.4,50.6,1011.9,80.54])
  11. x1=x1.reshape(1,4)
  12. R=clf.predict(x1)
  13. print('样本预测值为:',R)

输出结果为: 样本预测值为:[ 439.27258187]

编程要求

根据提示,在右侧编辑器补充代码,根据相关的神经网络模型知识计算并输出发电厂数据的预测值和预测准确率

测试说明

平台会对你编写的代码进行测试:

测试输入:AT=28.4,V=50.6,AP=1011.9,RH=80.54 预期输出:439.27258187

开始你的任务吧,祝你成功!


任务代码

# -*- coding: utf-8 -*-
#基于上一关的数据集,构建神经网络回归模型,返回计算结果模型准确率r,
#并针对测试数据AT=28.4、V=50.6、AP=1011.9、RH=80.54,预测其PE值。
def return_values():
    from sklearn.neural_network import MLPRegressor 
    import numpy as np
    import pandas as pd
    data=pd.read_excel('发电场数据.xlsx')
    x=data.iloc[:,0:4].values
    y=data.iloc[:,4].values
    clf = MLPRegressor(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=8, random_state=1) 
    clf.fit(x, y)
    r=clf.score(x,y)
    x1=np.array([28.4,50.6,1011.9,80.54]).reshape(1,4)
    PE=clf.predict(x1)
    return(r,PE)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coralberry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值