clear;
X =[0.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y =[0.3095546080.3029800470.017579194-0.076669863-0.056297703-0.092750467-0.060296874-0.065628885-0.007390326-0.044560631-0.037774003-0.045669423-0.014690112-0.0065549970.0172504960.023616607-0.001116445-0.0009274420.035073570.0260731750.0461492310.0117342140.0052472290.0121989120.000411220.014946501-0.018942205-0.044111182];scatter(X, Y,20,'filled');%axis([1212]);ylim([-0.350.35]);xlabel('贷款年利率');ylabel('客户流失率相对误差');title('A评级客户流失率相对误差');
2、B评级客户流失率相对误差
clear;
X =[0.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y =[0.4477044830.094809717-0.042357953-0.1093183-0.029504019-0.08177512-0.05374639-0.067354229-0.078529943-0.066123709-0.004042344-0.010993686-0.0149899330.0202500780.0073733350.0135398640.0378409410.016710394-0.0001004780.0430739390.0244372320.0113482630.0154189150.0091662620.0028015280.009866109-0.021299217-0.044380264];scatter(X, Y,20,'filled');%axis([1212]);ylim([-0.350.35]);xlabel('贷款年利率');ylabel('客户流失率相对误差');title('B评级客户流失率相对误差');
3、C评级客户流失率相对误差
clear;
X =[0.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y =[0.2410228730.1327602570.045307686-0.107807025-0.02105494-0.061770852-0.047328371-0.100791547-0.080190917-0.0372895850.004480784-0.0341608240.020210034-0.0136433130.008513513-0.006049881-0.0003835860.0427764030.0184947630.0097259450.0216475580.0261024980.0114341630.0088490480.0038776920.018148552-0.020697357-0.04726721];scatter(X, Y,20,'filled');%axis([1212]);ylim([-0.350.35]);xlabel('贷款年利率');ylabel('客户流失率相对误差');title('C评级客户流失率相对误差');
4、金额图
X =[123456789101112131415161718192021222324252627282930313233343537383940414243444647484950515354555657585960616263646566676869707172737475767778798081838485868889909192939495969798104105106110];
Y=[96.0925662162.9209624287.2691709885.4036954549.477388145.4752742785.846878248.3747273882.2984351462.4696436740.0496689994.2061817552.4864876825.709285593.4682667557.0320820777.6867446693.0677890142.4420596131.8813714661.4560236492.5586312893.4582086935.7933689248.7146818348.8551653896.8088281525.2817811448.4781018788.3588126172.6502218682.4169449593.2200066398.6106455266.4867897791.618946640.4125205596.0205909437.0527593363.8239260984.2633017599.6704448571.2171747180.3348434562.4773164676.9228499354.6302141558.1004362441.0023444295.8707892443.1739483950.6834875837.1417024674.2508849144.5795893383.8620148675.8662612286.9181045954.4148030624.4165255887.3865556283.5775005140.9032784585.6673109196.1907675242.7628698756.5381256893.1788859482.0951717436.8757138166.8363956568.5053757129.2737755644.4085151778.715154239.4824345730.0629708241.6167935247.5869125579.2532590384.0878671594.9713383391.0213260191.3183853551.7041670619.233110851.4652685143.3837010872.7726705392.8411671251.165831446.2695556994.1268468291.1775062148.414312549.97333396.52759109];plot(X, Y);%axis([1212]);ylim([10110]);xlabel('企业代号');ylabel('贷款金额/万元');title('各企业贷款金额');
5、利率图
X =[123456789101112131415161718192021222324252627282930313233343537383940414243444647484950515354555657585960616263646566676869707172737475767778798081838485868889909192939495969798104105106110];
Y=[0.044698880.1076934060.0966198270.1446853720.066363030.1169445570.0698121320.050612350.0780946520.0832812230.0992007280.1400048690.0915639380.0697651650.067887770.0647397640.1081932380.0751334820.1263606850.0528008130.0831064870.1287671680.0806503810.0942755050.0490111690.1385510710.0830239760.0711786130.1360696270.1219757180.1270882310.0516430790.0964931280.0963958060.1163494020.1194650890.1194930270.1402318780.0594903460.1277808260.0960210220.0418140380.0644958060.0930696030.0684124790.0559951920.0944414360.0673722480.0551066260.0551083860.0933450620.0791707230.1370300950.0420810240.1072837910.1046535620.1276047690.0863071130.0429519280.1055698790.120130180.1394607410.0902647970.0937173760.078260720.1154615230.061381620.0979240080.0593094140.1229293980.0725188090.1482513970.0474916480.0752532140.1030247730.0539337380.1084335760.1284854280.1407709490.042374870.0502504730.0601570750.07629830.0676927230.0681720860.1034018430.092932620.0648918240.0823607030.0612594640.0795603980.0825332830.1107051290.082387750.0449393520.0710696880.086866292];plot(X, Y);%axis([1212]);ylim([0.030.16]);xlabel('企业代号');ylabel('贷款利率');title('各企业贷款利率');
6、模拟A等级曲线
X =[0.040.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y1=[00.0945741260.1357271830.2246033540.3020381020.3473156680.413471770.4478909730.4976344530.5110966120.5733930870.6094921150.6529447740.6675418430.6947799210.7083020230.7312754010.7750914050.7982273680.7905272660.8151969860.8144210290.8548110970.8703173430.8714280850.8859259450.8744346820.9027259090.922060687];
YY =[];
A =-200:0.1:-190;
B =-15:0.1:-11;
C =14:0.1:16;
D =-1:0.1:1;
E =[];
XA =[];
XC=[];
XB=[];
XD=[];
XX =[];
ii =0;
e =0;for i=1:length(A)
a=A(i);for j=1:length(B)
b=B(j);for p=1:length(D)
d=D(p);for k=1:length(C)
c=C(k);
e =0;for s=1:length(X)
x=X(s);
f = a*x^3+b*x^2+c*x+d;
e = e+(f-Y1(s))^2;
end
if e <0.02255
ii = ii +1;XA(ii)=a;XB(ii)=b;XC(ii)=c;XD(ii)=d;XX(ii)= ii;E(ii)= e;
end
end
end
end
end
[~,position]=min(E);XA(position)XB(position)XC(position)XD(position)plot(XX, E);
7、模拟B等级曲线
X =[0.040.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y1=[00.0945741260.1357271830.2246033540.3020381020.3473156680.413471770.4478909730.4976344530.5110966120.5733930870.6094921150.6529447740.6675418430.6947799210.7083020230.7312754010.7750914050.7982273680.7905272660.8151969860.8144210290.8548110970.8703173430.8714280850.8859259450.8744346820.9027259090.922060687];
Y2=[00.0667995830.135052060.206580080.2768122930.3028834010.3702158520.4062966680.4582952950.5087186920.5444088370.5484939580.5887656960.6257645760.6356051460.6735274240.6969254310.7053159930.7429363260.7764007290.7620225950.7915036970.8149989330.8222978610.8353016020.8457477450.8420708440.8681595360.885864919];
Y3=[00.0687253060.1220990290.1812521460.2633028630.2901890980.349715590.3907716830.457238070.4926604330.5136602390.5302487060.5877624080.5900970450.6429936560.6588394160.6968705730.7191035520.7111012370.7506276560.7768160430.7844805120.7955662740.8200514340.8322884220.8440898750.8369743260.8725589570.895164739];
A =-200:0.1:-190;
B =-10:0.1:-8;
C =14:0.1:16;
D =-1:0.1:1;
E =[];
XA =[];
XC=[];
XB=[];
XD=[];
XX =[];
ii =0;
e =0;for i=1:length(A)
a=A(i);for j=1:length(B)
b=B(j);for p=1:length(D)
d=D(p);for k=1:length(C)
c=C(k);
e =0;for s=1:length(X)
x=X(s);
f = a*x^3+b*x^2+c*x+d;
e = e+(f-Y2(s))^2;
end
if e <0.02255
ii = ii +1;XA(ii)=a;XB(ii)=b;XC(ii)=c;XD(ii)=d;XX(ii)= ii;E(ii)= e;
end
end
end
end
end
[~,position]=min(E);XA(position)XB(position)XC(position)XD(position)plot(XX, E);
8、模拟C等级曲线
X =[0.040.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y1=[00.0945741260.1357271830.2246033540.3020381020.3473156680.413471770.4478909730.4976344530.5110966120.5733930870.6094921150.6529447740.6675418430.6947799210.7083020230.7312754010.7750914050.7982273680.7905272660.8151969860.8144210290.8548110970.8703173430.8714280850.8859259450.8744346820.9027259090.922060687];
Y2=[00.0667995830.135052060.206580080.2768122930.3028834010.3702158520.4062966680.4582952950.5087186920.5444088370.5484939580.5887656960.6257645760.6356051460.6735274240.6969254310.7053159930.7429363260.7764007290.7620225950.7915036970.8149989330.8222978610.8353016020.8457477450.8420708440.8681595360.885864919];
Y3=[00.0687253060.1220990290.1812521460.2633028630.2901890980.349715590.3907716830.457238070.4926604330.5136602390.5302487060.5877624080.5900970450.6429936560.6588394160.6968705730.7191035520.7111012370.7506276560.7768160430.7844805120.7955662740.8200514340.8322884220.8440898750.8369743260.8725589570.895164739];
A =-165:0.1:-160;
B =-15:0.1:-10;
C =14:0.1:16;
D =-1:0.1:1;
E =[];
XA =[];
XC=[];
XB=[];
XD=[];
XX =[];
ii =0;
e =0;for i=1:length(A)
a=A(i);for j=1:length(B)
b=B(j);for p=1:length(D)
d=D(p);for k=1:length(C)
c=C(k);
e =0;for s=1:length(X)
x=X(s);
f = a*x^3+b*x^2+c*x+d;
e = e+(f-Y3(s))^2;
end
if e <0.02255
ii = ii +1;XA(ii)=a;XB(ii)=b;XC(ii)=c;XD(ii)=d;XX(ii)= ii;E(ii)= e;
end
end
end
end
end
[~,position]=min(E);XA(position)XB(position)XC(position)XD(position)plot(XX, E);
09、信誉评级A客户流失率实际值与预测曲线
clear;
X =[0.040.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y1=[00.0945741260.1357271830.2246033540.3020381020.3473156680.413471770.4478909730.4976344530.5110966120.5733930870.6094921150.6529447740.6675418430.6947799210.7083020230.7312754010.7750914050.7982273680.7905272660.8151969860.8144210290.8548110970.8703173430.8714280850.8859259450.8744346820.9027259090.922060687];
a=-194.7;
b=-13.4;
c=15.6;
d=-0.5;for i=1:length(X)
x=X(i);
f = a*x^3+b*x^2+c*x+d;F(i)= f;
end
plot(X, Y1,'*');
hold on;plot(X, F,'r','linewidth',2);axis([0.020.1801]);xlabel('贷款年利率');ylabel('信誉评级A客户流失率');title('信誉评级A客户流失率实际值与预测曲线');legend('实际值','预测曲线');
10、信誉评级B客户流失率实际值与预测曲线
clear;
X =[0.040.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y2=[00.0667995830.135052060.206580080.2768122930.3028834010.3702158520.4062966680.4582952950.5087186920.5444088370.5484939580.5887656960.6257645760.6356051460.6735274240.6969254310.7053159930.7429363260.7764007290.7620225950.7915036970.8149989330.8222978610.8353016020.8457477450.8420708440.8681595360.885864919];
a=-194.8;
b=-9.6;
c=14.8;
d=-0.5;for i=1:length(X)
x=X(i);
f = a*x^3+b*x^2+c*x+d;F(i)= f;
end
plot(X, Y2,'*');
hold on;plot(X, F,'r','linewidth',2);axis([0.020.1801]);xlabel('贷款年利率');ylabel('信誉评级B客户流失率');title('信誉评级B客户流失率实际值与预测曲线');legend('实际值','预测曲线');
11、信誉评级C客户流失率实际值与预测曲线
clear;
X =[0.040.04250.04650.05050.05450.05850.06250.06650.07050.07450.07850.08250.08650.09050.09450.09850.10250.10650.11050.11450.11850.12250.12650.13050.13450.13850.14250.14650.15];
Y3=[00.0687253060.1220990290.1812521460.2633028630.2901890980.349715590.3907716830.457238070.4926604330.5136602390.5302487060.5877624080.5900970450.6429936560.6588394160.6968705730.7191035520.7111012370.7506276560.7768160430.7844805120.7955662740.8200514340.8322884220.8440898750.8369743260.8725589570.895164739];
a=-159.7;
b=-14.5;
c=14.8;
d=-0.5;
F =[];for i=1:length(X)
x=X(i);
f = a*x^3+b*x^2+c*x+d;F(i)= f;
end
plot(X, Y3,'*');
hold on;plot(X, F,'r','linewidth',2);axis([0.020.1801]);xlabel('贷款年利率');ylabel('信誉评级C客户流失率');title('信誉评级C客户流失率实际值与预测曲线');legend('实际值','预测曲线');
12、求最优解
clear;
a1=-194.7;
b1=-13.4;
c1=15.6;
d1=-0.5;
a2=-194.8;
b2=-9.6;
c2=14.8;
d2=-0.5;
a3=-159.7;
b3=-14.5;
c3=14.8;
d3=-0.5;% 代号-得分-等级
E_Z_DJ =[10.1172920.11739120.58347250.11637340.11517380.18417450.14477470.11577490.11677530.11557560.11557600.15797610.20097620.83227630.11657640.10615660.1135690.33245710.11667730.11617750.11527760.12635770.11577780.11617800.11385820.11787860.11487870.11325880.11465890.11885900.11567910.11537920.11425930.11245940.10585950.10985960.11115980.11295990.113871000.112251020.116471030.138271040.166271050.114771060.115671070.114951080.112851090.114971100.112951110.113251120.113451130.112651140.111151150.113451160.112551170.106851180.113451190.106251200.113451210.111851220.112651230.170951240.112851250.112351260.11351270.112351280.138151290.112751300.11251310.114151320.112651330.114551340.112451350.11351360.111951370.112751380.112851390.113451400.11251410.105751420.111851430.113251440.113651450.133351460.112651470.111951480.111551490.112351500.114851510.115351520.111751530.111651540.112951550.112851560.112751570.113251580.112951590.111551600.113251610.112651620.111851630.111551640.111951650.111851660.113351670.112751680.111351690.114151700.113351710.112551720.111851730.111551740.112451750.119251760.112651770.112551780.112851790.112351800.112951810.113551820.112751830.112351840.112351850.112851860.111651870.112951880.112251890.112951900.11351910.112151920.114551930.112551940.111751950.112751960.113951970.112751980.114451990.112852000.110852010.111852020.115652030.112752040.112952050.112352060.563352070.116652080.112652090.113252100.112952110.11352120.112352130.116552140.115552150.113152160.113352170.114352180.113452190.111852200.154552210.112652220.112452230.113252240.115252250.120652260.115152270.112352280.112552290.112652300.111752310.113952320.157452330.163352340.1352350.184452360.13452370.242152380.111852390.112352400.11852410.113252420.112452430.113852440.121352450.110752460.112952470.252652480.112152490.113452500.113352510.135152520.210752530.115752540.130552550.11252560.110552570.171152580.111552590.182152600.116452610.11252620.108652630.111952640.119852650.121952660.118652670.113852680.156252690.11452700.142652710.107552720.110752730.112352740.116652750.113952760.112852770.120852780.110152790.112152800.112752810.110952820.110352830.112252840.110952850.112152860.115452870.114952880.112252890.113952900.113952910.112452920.210452930.112952940.113552950.112652960.113352970.11352980.113952990.115353000.112253010.117953020.10985];
E =E_Z_DJ(:,1);
DJ =E_Z_DJ(:,3);
Z =E_Z_DJ(:,2);
fun_range =[0,3.08;0,2.1];%每个维度的求解范围,行代表维度,第一列最小值,第二列最大值
density =0.01;%图像中取点的密度
d =2;%维度
popsize =10;%种群大小
maxgen =100;%最大迭代次数
limit_v =10;%最大运动速度
maxormin =0;%求最大值还是最小值。最大值为1,最小值为0
dynamic =1;%是否采用动态参数
W =[0.7,1.4];%惯性因子
C2 =[0.5,2.5];
C1 =[0.5,2.5];%学习因子。
ZZ =pso1_im(funct,fun_range,density,d);[x,v,fitness,pbest,gbest,gbest_fitness,gbest_index,pbest_fitness]=...pso1_in(funct,popsize,d,fun_range,limit_v,maxormin);[gbest_fitness,gbest_index,record]=...pso1_in2(funct,d,popsize,maxgen,dynamic,W,C1,C2,fun_range,limit_v,density...,x,v,fitness,pbest,gbest,gbest_fitness,gbest_index,pbest_fitness,maxormin);% sigma =4:1:15; 年利率
% D =10:1:100;% 投放金额
T =1;%周期为 1 年
M =10000;% 总贷款额度1亿
Sigma =[];
DD =[];
Beta =[];
W =[];% 利润,即最大化目标
Z_S =ones(1,length(E));% 每个利率 1不用管
Z_D =ones(1,length(E));% 每个投资
N =10000;% 迭代次数
nnn =0;for i=1:1:N
Sigma =[];% 该次遍历的利率
DD =[];% 该次遍历的贷款
w =0;% 该次遍历的目标值
for j=1:length(E)Sigma(j)=0.04+(0.15-0.04).*rand(1,1);
x =Sigma(j);DD(j)=10+(100-10).*rand(1,1);
d =DD(j);ifDJ(j)==1Beta(j)= a1*x^3+b1*x^2+c1*x+d1;
elseif DJ(j)==2Beta(j)= a2*x^3+b2*x^2+c2*x+d2;elseBeta(j)= a3*x^3+b3*x^2+c3*x+d3;
end
w = w + d*x*(1-Beta(j))*Z(j);
end
if w >60
nnn = nnn+1;W(nnn)= w;Z_S(nnn,:)=Sigma(:);Z_D(nnn,:)=DD(:);
end
end
XX =1:1:nnn;plot(XX, W,'*');for i=1:length(Z_S(:,1))sum(Z_D(i,:))
end
13、神经网络
import numpy as np
import pandas as pd
import time
import tensorflow.compat.v1 as tf # 本行报错不用处理
tf.disable_v2_behavior()
# 图网络 和 生成对抗网络
IN_DIV =24 # 输入维度
OUT_DIV =4 # 输出维度
nIter =10000 # 迭代次数为 10000 次
speed =0.08
N =100 # 每层神经元个数
NATrain =25 # 每一类的训练样本数
NBTrain =25
NCTrain =30
NDTrain =20
NATest =2 # 每一类的测试样本数
NBTest =13
NCTest =4
NDTest =4
# 数据集导入
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
train = np.array(train)
test = np.array(test)
def noramlization(data):
minVals = data.min(0)
maxVals = data.max(0)
ranges = maxVals - minVals
normData = np.zeros(np.shape(data))
m = data.shape[0]
normData = data - np.tile(minVals,(m,1))
normData = normData/np.tile(ranges,(m,1))return normData, ranges, minVals
A_train = train[0:NATrain,:]
B_train = train[NATrain:NATrain+NBTrain,:]
C_train = train[NATrain+NBTrain:NATrain+NBTrain+NCTrain,:]
D_train = train[NATrain+NBTrain+NCTrain:,:]
A_test = test[0:NATest,:]
B_test = test[NATest:NATest+NBTest,:]
C_test = test[NATest+NBTest:NATest+NBTest+NCTest,:]
D_test = test[NATest+NBTest+NCTest:,:]
# 数据格式化
X_train = np.vstack((A_train, B_train, C_train, D_train))
X_test = np.vstack((A_test, B_test, C_test, D_test))
train_label = np.matrix([[1,0,0,0]]* NATrain +[[0,1,0,0]]* NBTrain +[[0,0,1,0]]* NCTrain + \
[[0,0,0,1]]* NDTrain)
test_label = np.matrix([[1,0,0,0]]* NATest +[[0,1,0,0]]* NBTest +[[0,0,1,0]]* NCTest + \
[[0,0,0,1]]* NDTest)print(test_label)'''
我们采用三层前向神经网络来优化这个任务, 其中每层的神经元个数取20,
初始化取 xavier initialization,优化处理器取 GradientDescentOptimizer,
学习率取 0.001, 激活函数选取 sigmoid 函数, 迭代次数为 1000.'''
layers =[IN_DIV, N, N, N, OUT_DIV] # 输入层 2 个维度,中间层为 3 层,每层 20 个神经元,输出层维度为 5,因为要分为 5 类
#defineneuralnetwork structure#tf.palceholder
x_tf = tf.placeholder(tf.float32, shape=[None, X_train.shape[1]])
y_tf = tf.placeholder(tf.float32, shape=[None, train_label.shape[1]])
def initialize_NN(layers):
weights =[] # 权重矩阵
biases =[] # 截距矩阵 Y = W*X + b
num_layers =len(layers)for l in range(0, num_layers -1):
W =xavier_init(size=[layers[l], layers[l +1]])
b = tf.Variable(tf.zeros([1, layers[l +1]], dtype=tf.float32), dtype=tf.float32)
weights.append(W)
biases.append(b)return weights, biases
def xavier_init(size):
in_dim = size[0] # 第 n 层的维度
out_dim = size[1] # 第 n+1 层的维度
xavier_stddev = np.sqrt(2/(in_dim + out_dim)) # 使用 xavier 对权重进行初始化
return tf.Variable(tf.truncated_normal([in_dim, out_dim], stddev=xavier_stddev), dtype=tf.float32)
# 定义神经网络
def neural_net(X, weights, biases):
num_layers =len(weights)+1 # 神经网络层数
H = X
for l in range(0, num_layers -2):
W = weights[l]
b = biases[l]
H = tf.sigmoid(tf.add(tf.matmul(H, W), b))
W = weights[-1]
b = biases[-1]
Y = tf.add(tf.matmul(H, W), b)return Y
in_weights, in_biases =initialize_NN(layers)
def net(X):
h =neural_net(X, in_weights, in_biases)return h
output =net(x_tf)#loss
y_model = tf.nn.softmax(output)
loss =-tf.reduce_sum(y_tf * tf.log(y_model))
correct_prediction = tf.equal(tf.argmax(y_model,1), tf.argmax(y_tf,1))
accuracy =0#Optimization
# 100001000.08
optimizer_GradientDescent = tf.train.GradientDescentOptimizer(speed)
train_op_Adam = optimizer_GradientDescent.minimize(loss)#tfsession
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
tf_dict ={
x_tf: X_train, y_tf: train_label}
start_time = time.time()for it in range(nIter):
sess.run(train_op_Adam, tf_dict)#Printif it %1000==0:
elapsed = time.time()- start_time
loss_value = sess.run(loss, tf_dict)print('It: %d, Loss: %.7e, Time: %.2f'%(it, loss_value, elapsed))
start_time = time.time()for i in range(23):
accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float"))
XX =[[]]
XX[0]= X_test[i]
X = XX
Y = test_label[i]
a = sess.run(accuracy, feed_dict={
x_tf: X, y_tf: Y})if a==1:print(i+1)
accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float"))
accuracy = sess.run(accuracy, feed_dict={
x_tf: X_test, y_tf: test_label})print(accuracy)