700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 深度学习实战1-(keras框架)企业数据分析与预测

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

时间:2021-08-01 12:38:03

相关推荐

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

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

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

import numpy as npimport pandas as pdfrom keras.models import Sequential from keras.layers.core import Dense, Activationimport matplotlib.pylab as plt # 绘制图像库

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

def GM11(x0): #自定义灰色预测函数import numpy as npx1 = 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,) # 标注索引信息年份

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

data.loc[] = Nonedata.loc[] = Nonedata.loc[] = Nonel = ['x1', 'x2', 'x3', 'x4', 'x5', 'x7']l1 = ['x3','x5','x7']for i in l1:f,_,_,_,C,_ = GM11(data[i].loc[range(2000,)].values)print("%s后验差比值:%0.4f"%(i,C)) #后验差比值c,即:真实误差的方差同原始数据方差的比值。data[i].loc[] = f(len(data)-2) #预测结果data[i].loc[] = f(len(data)-1) #预测结果data[i].loc[] = f(len(data)) # 预测结果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'] # 提取特征

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

data_train = data.loc[range(2000,)] #取前的数据建模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)) # 输出层pile(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/100002/2 - 0s - loss: 0.6044 - 421ms/epoch - 210ms/stepEpoch 2/100002/2 - 0s - loss: 0.5691 - 996us/epoch - 498us/stepEpoch 3/100002/2 - 0s - loss: 0.5365 - 2ms/epoch - 975us/stepEpoch 4/100002/2 - 0s - loss: 0.5037 - 3ms/epoch - 1ms/stepEpoch 5/100002/2 - 0s - loss: 0.4765 - 2ms/epoch - 997us/stepEpoch 6/100002/2 - 0s - loss: 0.4492 - 2ms/epoch - 1ms/stepEpoch 7/100002/2 - 0s - loss: 0.4218 - 2ms/epoch - 997us/stepEpoch 8/100002/2 - 0s - loss: 0.3960 - 2ms/epoch - 998us/stepEpoch 9/100002/2 - 0s - loss: 0.3678 - 993us/epoch - 496us/stepEpoch 10/100002/2 - 0s - loss: 0.3436 - 2ms/epoch - 980us/step

模型预测与保存

x = ((data[feature] - data_mean[feature])/data_std[feature]).valuesdata[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,)p.plot(style=['b-o','r-*'],xticks=p.index,figsize=(15,5))plt.xlabel("Year")plt.show()

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

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

往期作品:

深度学习实战项目

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

...(待更新)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。