深度学习实战1-(keras框架)企业数据分析与预测

2023-11-16

大家好,我是微学AI,今天给大家带来深度学习框架keras的实战项目,用于基本的企业数据分析,预测企业净利润情况,并利用灰色预测函数GM11进行预测模型。我们拿到企业数据,这里参数抽象成x1-x9,y表示净利润,数据如下:

下面我们开始编写代码进行分析,首先我们引入库:

import numpy as np
import pandas as pd
from keras.models import Sequential  
from keras.layers.core import Dense, Activation
import matplotlib.pylab as plt   # 绘制图像库

 编写GM11灰色预测函数, 灰色预测函数是通过少量的、不完全的信息,建立数学模型并做出预测的一种预测方法。它是基于客观事物的过去和现在的发展规律,利用科学的方法对未来的发展趋势和状况进行描述和分析,灰色预测函数如下:

def GM11(x0): #自定义灰色预测函数
  import numpy as np
  x1 = x0.cumsum() #1-AGO序列
  z1 = (x1[:len(x1)-1] + x1[1:])/2.0 
  z1 = z1.reshape((len(z1),1))
  B = np.append(-z1, np.ones_like(z1), axis = 1)
  Yn = x0[1:].reshape((len(x0)-1, 1))
  [[a],[b]] = np.dot(np.dot(np.linalg.inv(np.dot(B.T, B)), B.T), Yn) #计算参数
  f = lambda k: (x0[0]-b/a)*np.exp(-a*(k-1))-(x0[0]-b/a)*np.exp(-a*(k-2)) #还原值
  delta = np.abs(x0 - np.array([f(i) for i in range(1,len(x0)+1)]))
  C = delta.std()/x0.std()
  P = 1.0*(np.abs(delta - delta.mean()) < 0.6745*x0.std()).sum()/len(x0)
  return f, a, b, x0[0], C, P #返回灰色预测函数、a、b、首项、方差比、小残差概率

 读取数据:

data = pd.read_csv('data.csv') #读取数据
data.index = range(2000,2020) # 标注索引信息年份

 数据操作,预测2020-2022这三年的企业各参数的预测值

data.loc[2020] = None
data.loc[2021] = None
data.loc[2022] = None
l = ['x1', 'x2', 'x3', 'x4', 'x5', 'x7']
l1 = ['x3','x5','x7']
for i in l1:
  f,_,_,_,C,_ = GM11(data[i].loc[range(2000,2020)].values)
  print("%s后验差比值:%0.4f"%(i,C))   #后验差比值c,即:真实误差的方差同原始数据方差的比值。
  data[i].loc[2020] = f(len(data)-2) #2014年预测结果
  data[i].loc[2021] = f(len(data)-1) #2015年预测结果
  data[i].loc[2022] = f(len(data))  # 2016年预测结果
  data[i] = data[i].round(2) #保留两位小数

data[l1+['y']].to_csv('GM11.csv') #结果输出

生成的数据并读取:

data = pd.read_csv('GM11.csv',index_col = 0) #读取数据
feature = ['x3','x5','x7']  # 提取特征

 取2020年前的数据进行建模,数据标准化 后进行训练

data_train = data.loc[range(2000,2020)] #取2014年前的数据建模
print(data_train)
data_mean = data_train.mean()
data_std = data_train.std()
data_train = (data_train - data_mean)/data_std  #数据标准化 后进行训练

x_train = data_train[feature].values #特征数据
y_train = data_train['y'].values #标签数据

 建立keras神经网络

model = Sequential() #建立模型
model.add(Dense(12,activation='relu',input_dim=3))
model.add(Dense(24,activation='relu'))  # 隐藏层
model.add(Dense(1))  # 输出层
model.compile(loss='mean_squared_error', optimizer='adam') #编译模型
model.fit(x_train, y_train, epochs = 10000, batch_size = 16,verbose=2) #训练模型,训练1000次
model.save_weights('net.model') #保存模型参数

 训练过程:

Epoch 1/10000
2/2 - 0s - loss: 0.6044 - 421ms/epoch - 210ms/step
Epoch 2/10000
2/2 - 0s - loss: 0.5691 - 996us/epoch - 498us/step
Epoch 3/10000
2/2 - 0s - loss: 0.5365 - 2ms/epoch - 975us/step
Epoch 4/10000
2/2 - 0s - loss: 0.5037 - 3ms/epoch - 1ms/step
Epoch 5/10000
2/2 - 0s - loss: 0.4765 - 2ms/epoch - 997us/step
Epoch 6/10000
2/2 - 0s - loss: 0.4492 - 2ms/epoch - 1ms/step
Epoch 7/10000
2/2 - 0s - loss: 0.4218 - 2ms/epoch - 997us/step
Epoch 8/10000
2/2 - 0s - loss: 0.3960 - 2ms/epoch - 998us/step
Epoch 9/10000
2/2 - 0s - loss: 0.3678 - 993us/epoch - 496us/step
Epoch 10/10000
2/2 - 0s - loss: 0.3436 - 2ms/epoch - 980us/step

 模型预测与保存

x = ((data[feature] - data_mean[feature])/data_std[feature]).values
data[u'y_pred'] = model.predict(x) * data_std['y'] + data_mean['y']
data.to_csv('result.csv')

 预测结果绘图:

p = pd.read_csv('result.csv')
p = p[['y','y_pred']].copy()
p.index=range(2000,2023)
p.plot(style=['b-o','r-*'],xticks=p.index,figsize=(15,5))
plt.xlabel("Year")
plt.show()

 

可以看出2000-2019预测值基本与真实值吻合,2020-2022预测结果呈现上升趋势。

具体数据文件可以私信我,我会发给读者,后续更多深度学习实战内容,敬请关注!

 往期作品:

深度学习实战项目

1.深度学习实战1-(keras框架)企业数据分析与预测

2.深度学习实战2-(keras框架)企业信用评级与预测

3.深度学习实战3-文本卷积神经网络(TextCNN)新闻文本分类

4.深度学习实战4-卷积神经网络(DenseNet)数学图形识别+题目模式识别

5.深度学习实战5-卷积神经网络(CNN)中文OCR识别项目

6.深度学习实战6-卷积神经网络(Pytorch)+聚类分析实现空气质量与天气预测

7.深度学习实战7-电商产品评论的情感分析

8.深度学习实战8-生活照片转化漫画照片应用

9.深度学习实战9-文本生成图像-本地电脑实现text2img

10.深度学习实战10-数学公式识别-将图片转换为Latex(img2Latex)

11.深度学习实战11(进阶版)-BERT模型的微调应用-文本分类案例

12.深度学习实战12(进阶版)-利用Dewarp实现文本扭曲矫正

13.深度学习实战13(进阶版)-文本纠错功能,经常写错别字的小伙伴的福星

14.深度学习实战14(进阶版)-手写文字OCR识别,手写笔记也可以识别了

15.深度学习实战15(进阶版)-让机器进行阅读理解+你可以变成出题者提问

16.深度学习实战16(进阶版)-虚拟截图识别文字-可以做纸质合同和表格识别

17.深度学习实战17(进阶版)-智能辅助编辑平台系统的搭建与开发案例

18.深度学习实战18(进阶版)-NLP的15项任务大融合系统,可实现市面上你能想到的NLP任务

19.深度学习实战19(进阶版)-ChatGPT的本地实现部署测试,自己的平台就可以实现ChatGPT

...(待更新)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习实战1-(keras框架)企业数据分析与预测 的相关文章

随机推荐

  • pip install 快速下载和安装包的方法

    一个 快速下载和安装包的方法 转载自他人 见下面链接 输入指令 pip default timeout 100 install 库名称 i http pypi douban com simple trusted host pypi doub
  • 在geany中使用中文注释

    geany中使用中文注释如果不加以特别说明会报错误 像这样 只需在首行指定编码格式 就可以愉快使用中文注释了 coding utf 8 coding utf 8 magicians alice david altman for magici
  • 通俗易懂的RNN

    目录 一 什么是RNN 二 为什么要发明RNN 三 RNN的基础知识 1 循环核介绍 2 循环核按时间步展开 3 记忆体 4 循环计算层 5 TF描述循环计算层 二 RNN的补充知识 1 RNN梯度消失的原因 一 什么是RNN RNN Re
  • 字符大全

    icon a m1 爱心符号 心形符号 扑克符号 1 m2 笑脸符号 2 gt c m3 商标符号 版权符号大全 3
  • Android TextView加载带有多张图片的HTML,并且解决图片造成的OOM

    版权声明 本文为博主原创文章 未经博主允许不得转载 转载请注明本文出自 renxhui 的博客 http blog csdn net qq 34760508 article details 70146189 请尊重他人的辛勤劳动成果 谢谢
  • 区块链能否开启人工智能金融2.0时代?

    随着人们对区块链技术地不断探索挖掘 区块链在金融领域的应用也是越来越多 其对传统金融机构的影响也越来越深 人们越来越期望能够利用区块链开启人工智能金融2 0时代 这将对银行业的再造与重构产生颠覆性的结果 随着全球区块链技术峰会的频繁举办 这
  • 获取任意月份天数

    获取月份天数 import java text ParseException import java text SimpleDateFormat import java util Calendar public class demo2 pu
  • 下载安装VMware,centos7,创建虚拟机一条龙

    1 vmware下载安装 1 阿里云盘下载 VMware workstation full 16 exe https www aliyundrive com s zxRkiiJnzmN 提取码 91mh 2 安装 双击exe 修改安装位置到
  • Stable diffusion模型种类说明

    1 基础模型 pruned是完整版模型 emaonly是剪枝版模型 如果想要训练自己的模型 需要下载完整的大模型 1 SD系列 sd v1 4 sd v1 5 sd v2之类的 都是stable diffusion自带的大模型 效果会比较差
  • 刷脸支付服务商红利市场不容错过

    相比当下流行的扫码支付 刷脸支付更便捷 资金流动更安全 且还有马云 马化腾多次亲自站台宣传 想不火都难 目前 与刷脸相关的网络热度词包括刷脸支付 手机扫码 消费者 人工智能 花钱等等 通过这些关联词也说明了一个问题 刷脸支付在落地方面取得了
  • MYSQL给选中结果添加赋予行号row number

    SELECT r r 1 rank a from SELECT from mytable WHERE 1 a SELECT r 0 b
  • IDEA通过git回滚到某个提交节点或某个版本

    1 项目右键后 点击 Git Show History 这里会显示有历史提交的版本记录 这里我们假设要回滚到 提交 版本中 2 选中 提交 右键Copy Revision Number 3 回到项目 右键 Git Repository Re
  • [carla入门教程]-6 小项目:基于carla-ros-bridge构建一个小型比赛赛道

    本专栏教程将记录从安装carla到调用carla的pythonAPI进行车辆操控并采集数据的全流程 带领大家从安装carla开始 到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制 第六节 基于carla ros bridge
  • QCC300x笔记(5) -- 外部Flash的读写操作

    哈喽大家好 这是该系列博文的第五篇 篇 lt lt 系列博文索引 快速通道 gt 1 QCC300X 外部Flash的读写 QCC300x是使用外部Flash片子 使用外部flash的好处就是成本下来了 大家都知道 CSR的片子一直是很贵的
  • extundelete工具恢复rm -rf 删除的目录(ext4、ext3)

    extundelete工具恢复rm rf 删除的目录 ext4 ext3grep工具只能用于恢复ext3文件系统下删除的文件 对于ext4文件系统 可以使用extundelete工具 使用的方法类似ext3grep ext3grep 仅对
  • AttributeError: ‘_SingleProcessDataLoaderIter‘ object has no attribute ‘next‘

    由于pytorch版本不同 函数用法不同 改为 即可解决
  • 抽象类和接口的区别,以及使用场景?

    抽象类 接口 抽象类和接口区别 Java 8中关于接口的改进 接口中的默认方法 抽象类和接口使用场景 抽象类是对一种事物的抽象 即对类抽象 而接口是对行为的抽象 抽象类是对整个类整体进行抽象 包括属性 行为 但是接口却是对类局部 行为 进行
  • java: 找不到符号 符号:类xxx位置: 程序包com.xxx.xxx.xxx.xxx

    1 问题 项目里有这个包但编译时报找不到这个包的错误 2 解决办法 在报错的项目里打开命令行窗口 在命令行窗口里输入mvn clean 等重新加载完然后重新编译项目即可
  • mint-ui引用iconfont图标

    mint ui引用iconfont图标 mint ui作为一种基于 Vue js 的移动端组件库 在移动端前端开发中备受欢迎 其特性就不多说了 想了解的博友可上mint ui官网自行了解 但是 mint ui提供的字体图标 通过查看mint
  • 深度学习实战1-(keras框架)企业数据分析与预测

    大家好 我是微学AI 今天给大家带来深度学习框架keras的实战项目 用于基本的企业数据分析 预测企业净利润情况 并利用灰色预测函数GM11进行预测模型 我们拿到企业数据 这里参数抽象成x1 x9 y表示净利润 数据如下 下面我们开始编写代