用我儿子的话说,有一天啊,小乌龟遇见小兔子………

有一天,我在网上看到这样一片文章,决策书做贷款决策分析。

贷还是不贷:如何用Python和机器学习帮你决策?

import pandas as pd
df = pd.read_csv('loans.csv')#print(df.head())X = df.drop('safe_loans', axis=1)y = df.safe_loans#change categoricalfrom sklearn.preprocessing import LabelEncoder
from collections import defaultdict
d = defaultdict(LabelEncoder)
X_trans = X.apply(lambda x: d[x.name].fit_transform(x))
X_trans.head()#X_trans.to_excel('X_trans.xls') #random take train and testfrom sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_trans, y, random_state=1)
#call decision tree
from sklearn import tree
clf = tree.DecisionTreeClassifier(max_depth=8)
clf = clf.fit(X_train, y_train)test_rec = X_test.iloc[1,:]
clf.predict([test_rec])y_test.iloc[1]
from sklearn.metrics import accuracy_score
print(accuracy_score(y_test, clf.predict(X_test)))

这篇文章写的非常好,从中学到好多,但是计算的正确率不太高,8层的决策树正确率才能达到0.645

0.645480347467

我用神经网络重新做了计算

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 17 21:14:08 2017@author: luogan
"""#read data
import pandas as pd
df = pd.read_csv('loans.csv')#print(df.head())#X = df.drop('safe_loans', axis=1)X = df.drop(['safe_loans' ],axis=1)
y = df.safe_loans#change categoricalfrom sklearn.preprocessing import LabelEncoder
from collections import defaultdict
d = defaultdict(LabelEncoder)
X_trans = X.apply(lambda x: d[x.name].fit_transform(x))
X_trans.head()#X_trans.to_excel('X_trans.xls')
##############
data_train=X_trans
data_max = data_train.max()
data_min = data_train.min()
data_mean = data_train.mean()
#
# data_std = data_train.std()
X_train1 = (data_train-data_max)/(data_max-data_min)y=0.5*(y+1)
#random take train and testfrom sklearn.cross_validation import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X_train1, y, random_state=1)#x_train.to_excel('xx_trans.xls') #y_train.to_excel('y_trans.xls') #call decision tree
#from sklearn import tree
#clf = tree.DecisionTreeClassifier(max_depth=10)
#clf = clf.fit(X_train, y_train)from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activationmodel = Sequential() #建立模型
model.add(Dense(input_dim = 12, output_dim = 48)) #添加输入层、隐藏层的连接
model.add(Activation('tanh')) #以Relu函数为激活函数model.add(Dense(input_dim = 48, output_dim = 48)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数
model.add(Dropout(0.2))model.add(Dense(input_dim = 48, output_dim = 36)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数
model.add(Dropout(0.2))
model.add(Dense(input_dim = 36, output_dim = 36)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数model.add(Dense(input_dim = 36, output_dim = 12)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数
model.add(Dense(input_dim = 12, output_dim = 12)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数model.add(Dense(input_dim = 12, output_dim = 1)) #添加隐藏层、输出层的连接
model.add(Activation('sigmoid')) #以sigmoid函数为激活函数
#编译模型,损失函数为binary_crossentropy,用adam法求解
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(x_train.values, y_train.values, nb_epoch = 70, batch_size = 2000) #训练模型r = pd.DataFrame(model.predict_classes(x_test.values))
'''
r = pd.DataFrame(model.predict(x_test.values))
rr=r.values
tr=rr.flatten()for i in range(tr.shape[0]):if tr[i]>0.5:tr[i]=1else:tr[i]=0
'''
from sklearn.metrics import accuracy_score
print(accuracy_score(y_test, r))        
0.650640749978

我对神经网络进行了各种优化,正确率一直上不去,计算结果还不如我的神经网络股票预测代码

我不高兴,非常不高兴,65%的正确率是我无法容忍的,让我郁闷的是,我一直深爱的神经网络居然也这么无力
不能这样下去,下回我们将采用传说中的xgboost试一下

百度云代码下载

提取码      jc5x

神经网络贷款风险评估(base on keras and python )相关推荐

  1. 神经网络贷款风险评估(base on keras and python ) 原创 2017年08月18日 14:35:17 标签: python / 神经网络 / keras 300 用我

    神经网络贷款风险评估(base on keras and python ) 原创 2017年08月18日 14:35:17 标签: python / 神经网络 / keras / 300 编辑 删除 ...

  2. DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测

    DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测 目录 输出结果 设计思路 核心代码 输出结果 下边两张 ...

  3. 人脸识别学习一(Keras: 基于 Python 的深度学习库)

    只是把一些文字部分复制出来方便看,完整还是参考源地址,参考文章https://keras.io/zh/ 写在前面: 第一次接触Keras,用自己的话简单概括一下什么事Keras,(不准确之处欢迎批评指 ...

  4. 从参数数量视角理解深度学习神经网络算法 DNN, CNN, RNN, LSTM 以python为工具

    从参数数量视角理解深度学习神经网络算法 DNN, CNN, RNN, LSTM 以python为工具 文章目录 1. 神经网络数据预处理 1.1 常规预测情景 1.2 文本预测场景 2.全连接神经网络 ...

  5. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  6. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

  7. 卷积神经网络(三):卷积神经网络CNN的简单实现(部分Python源码)

    转载自: 卷积神经网络(三):卷积神经网络CNN的简单实现(部分Python源码) - xuanyuansen的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/xu ...

  8. DL中版本配置问题:TensorFlow、Keras、Python版本完美搭配推荐

    DL中版本配置问题:TensorFlow.Keras.Python版本完美搭配推荐 目录 TensorFlow.Keras.Python版本完美搭配推荐 TensorFlow.Keras.Python ...

  9. DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测

    DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测 目录 输出结果 设计思路 核心代码 输出结果 1.10 ...

最新文章

  1. 计算机主机的作用和性能指标,Cpu是什么 cpu性能指标主要有哪几个方面【详细介绍】...
  2. 013_Slider滑块
  3. 276. Paint Fence
  4. MTDDL——美团点评分布式数据访问层中间件
  5. 基于 Ubuntu 搭建微信小程序服务
  6. ubuntu下各个目录的含义
  7. LeetCode Gray Code 格雷码
  8. HMC(Hamiltonian Monte Carlo抽样算法详细介绍)
  9. 链表冒泡排序java_055-冒泡排序算法代码实现
  10. linux 64位module内联汇编,@yuanbor: Linux内联汇编总结
  11. loadrunner协议选择
  12. 使用ajax的时候必须要加的几行代码
  13. Leetcode第412题——Fizz Buzz
  14. SSH-keygen用法
  15. 零基础学C语言之初识C语言(上)
  16. 电脑运行内存8g够用吗
  17. Win32API:CreateDialog、DialogBox、DialogProc
  18. IC设计工程师的职业规划
  19. SPI的NSS硬件模式
  20. 7-75 正方体表面积计算

热门文章

  1. 学习 Spring (十七) Spring 对 AspectJ 的支持 (完结)
  2. debian下编译安装poco
  3. log-slave-updates 引起 MySQL 从节点同步异常慢
  4. 售后服务成OA品牌竞争重要因素
  5. ITIL的一些简单感受
  6. 前端进阶-Event
  7. 使用MSBuild实现完整daily build流程 .
  8. reverseinverse
  9. 如何利用python dbus来发送一个信号
  10. 要你命3000-List29