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

深度学习框架如果仔细研究,其实难度没有想象中的那么大,今天我给大家带来一个深度学习框架keras简单的实战项目:企业信用评级与预测。

企业信用评级目前是一个完整的体系,包括信用评级的要素和指标、信用评级的等级和标准、信用评级的方法和模型等方面的内容。信用评级指标是根据企业的各个指标进行综合评分,这里涉及的指标维度较多,今天我们来做一个简单的信用评级模型,抽象了几个标准化的数据指标,下面是详细流程:

一、引入库包

import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
import matplotlib .pyplot as plt
import pandas as pd
import csv

二、导入数据

data = pd.read_csv('train_new.csv',encoding = 'utf-8')

数据模型如下表:

深度学习实战2-(keras框架)企业信用评级与预测_第1张图片

 三、数据预处理

#提取数据特性x1,x2,x3,x4,作为训练集
train = data[['x1','x2','x3','x4']]

#设置标签值  one-hot编码
y_train= np.zeros((len(data),5),dtype = np.int)
for i in range(len(data)):
    y_train[i][data['class'][i]]=1
print(np.array(y_train))

数据中"class"字段中0表示"A"级别,1表示"B"级别,2表示"C"级别,3表示"D"级别,4表示"E"级别.

以上数据进行了one-hot 编码,one-hot 编码类似于虚拟变量(dummy variables),是一种将分类变量转换为几个二进制列的方法。其中 1 代表某个输入属于该类别。

四、构建神经网络模型

model=Sequential()
model.add(Dense(input_dim=4,units=666,activation='relu'))
model.add(Dropout(0.5))  # Dropout(0.5) 表示随机丢弃50%的神经元,防止过拟合
model.add(Dense(units=666,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(units=666,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(units=5,activation='softmax')) #输出层 输出5个等级结果

五、训练模型

model.compile(loss='mse',optimizer='adam',metrics=['acc'])
history = model.fit(train,y_train,batch_size=123,epochs=500,validation_split=0.2) #训练500次

六、模型评估

weights = np.array(model.get_weights())
result2=model.evaluate(train,y_train)

#绘制图形函数
def show_train_history(history,train,validation):
    plt.plot(history.history[train])
    plt.plot(history.history[validation])
    plt.title('Train History')
    plt.ylabel(train)
    plt.xlabel('Epoch')
    plt.legend(['train','validation'],loc='upper left')
    plt.show()

七、验证集与测试集检验

show_train_history(history,'acc','val_acc')

深度学习实战2-(keras框架)企业信用评级与预测_第2张图片

损失函数图像

show_train_history(history,'loss','val_loss')

深度学习实战2-(keras框架)企业信用评级与预测_第3张图片

训练结果:[0.039951469749212265, 0.8893280625343323]

损失值 loss: 0.03995,准确率 acc: 0.8893

八、测试集检验结果

with open('test.csv', encoding='utf-8-sig') as f:
    reader = csv.reader(f)
    for j in reader:
        test.append(list(map(float,j)))
    test1=np.array(test)
    # print(np.shape(BB))

pre=model.predict(test1)
print(pre)

预测结果基本满足项目要求,待读可以自己训练次数多于500,准确率可能会继续提升。

获取数据集,请私信我,更多实战内容请关注我,谢谢。

 往期作品:

深度学习实战项目

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

...(待更新)

你可能感兴趣的:(深度学习实战项目,深度学习,人工智能,keras,神经网络,python)