加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

60行代码徒手实现深度神经网络

发布时间:2019-07-25 20:23:52 所属栏目:经验 来源:佚名
导读:01 准备数据集 采用的数据集是sklearn中的breast cancer数据集,30维特征,569个样本。训练前进行MinMax标准化缩放至[0,1]区间。按照75/25比例划分成训练集和验证集。 #获取数据集 importnumpyasnp importpandasaspd fromsklearnimportdatasets fromsklear

设置1个隐藏层,隐藏层节点数为5,隐藏层使用Sigmoid激活函数。

  1. # 采用Sigmoid激活函数 
  2. NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
  3.  ITERNUM = 200000, gfunc = 'Sigmoid') 
  4. NN.fit(X_train,y_train) 
  5. # 绘制目标函数迭代曲线 
  6. %matplotlib inline 
  7. NN.dfJ.plot(figsize = (12,8)) 
  8. # 测试在验证集的auc得分 
  9. from sklearn.metrics import roc_auc_score 
  10. Y_prob = NN.predict_prob(X_test) 
  11. roc_auc_score(list(y_test),list(Y_prob)) 
60行代码徒手实现深度神经网络

隐藏层使用Tanh激活函数。

  1. # 采用 Tanh激活函数 
  2. NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
  3.  ITERNUM = 200000, gfunc = 'Tanh') 
  4. NN.fit(X_train,y_train) 
  5. # 绘制目标函数迭代曲线 
  6. %matplotlib inline 
  7. NN.dfJ.plot(figsize = (12,8)) 
  8. # 测试在验证集的auc得分 
  9. from sklearn.metrics import roc_auc_score 
  10. Y_prob = NN.predict_prob(X_test) 
  11. roc_auc_score(list(y_test),list(Y_prob)) 
60行代码徒手实现深度神经网络

隐藏层使用ReLu激活函数。

  1. # 采用 ReLu激活函数 
  2. NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
  3.  ITERNUM = 200000, gfunc = 'ReLu') 
  4. NN.fit(X_train,y_train) 
  5. # 绘制目标函数迭代曲线 
  6. %matplotlib inline 
  7. NN.dfJ.plot(figsize = (12,8)) 
  8. # 测试在验证集的auc得分 
  9. from sklearn.metrics import roc_auc_score 
  10. Y_prob = NN.predict_prob(X_test) 
  11. roc_auc_score(list(y_test),list(Y_prob)) 
60行代码徒手实现深度神经网络

隐藏层使用LeakyReLu激活函数。

  1. # 采用 LeakyReLu激活函数 
  2. NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
  3.  ITERNUM = 200000, gfunc = 'LeakyReLu') 
  4. NN.fit(X_train,y_train) 
  5. # 绘制目标函数迭代曲线 
  6. %matplotlib inline 
  7. NN.dfJ.plot(figsize = (12,8)) 
  8. # 测试在验证集的auc得分 
  9. from sklearn.metrics import roc_auc_score 
  10. Y_prob = NN.predict_prob(X_test) 
  11. roc_auc_score(list(y_test),list(Y_prob)) 
60行代码徒手实现深度神经网络

以上试验似乎表明,在当前的数据集上,隐藏层采用ReLu激活函数是一个最好的选择,AUC最高得分为0.99958。

06

双隐层神经网络

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读