| 设置1个隐藏层,隐藏层节点数为5,隐藏层使用Sigmoid激活函数。 # 采用Sigmoid激活函数 NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02,  ITERNUM = 200000, gfunc = 'Sigmoid') NN.fit(X_train,y_train) # 绘制目标函数迭代曲线 %matplotlib inline NN.dfJ.plot(figsize = (12,8)) # 测试在验证集的auc得分 from sklearn.metrics import roc_auc_score Y_prob = NN.predict_prob(X_test) roc_auc_score(list(y_test),list(Y_prob)) 
   隐藏层使用Tanh激活函数。 # 采用 Tanh激活函数 NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02,  ITERNUM = 200000, gfunc = 'Tanh') NN.fit(X_train,y_train) # 绘制目标函数迭代曲线 %matplotlib inline NN.dfJ.plot(figsize = (12,8)) # 测试在验证集的auc得分 from sklearn.metrics import roc_auc_score Y_prob = NN.predict_prob(X_test) roc_auc_score(list(y_test),list(Y_prob)) 
   隐藏层使用ReLu激活函数。 # 采用 ReLu激活函数 NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02,  ITERNUM = 200000, gfunc = 'ReLu') NN.fit(X_train,y_train) # 绘制目标函数迭代曲线 %matplotlib inline NN.dfJ.plot(figsize = (12,8)) # 测试在验证集的auc得分 from sklearn.metrics import roc_auc_score Y_prob = NN.predict_prob(X_test) roc_auc_score(list(y_test),list(Y_prob)) 
   隐藏层使用LeakyReLu激活函数。 # 采用 LeakyReLu激活函数 NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02,  ITERNUM = 200000, gfunc = 'LeakyReLu') NN.fit(X_train,y_train) # 绘制目标函数迭代曲线 %matplotlib inline NN.dfJ.plot(figsize = (12,8)) # 测试在验证集的auc得分 from sklearn.metrics import roc_auc_score Y_prob = NN.predict_prob(X_test) roc_auc_score(list(y_test),list(Y_prob)) 
   以上试验似乎表明,在当前的数据集上,隐藏层采用ReLu激活函数是一个最好的选择,AUC最高得分为0.99958。 06 双隐层神经网络 (编辑:鹰潭站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |