人工智能神经网络

打印 上一主题 下一主题

主题 828|帖子 828|积分 2499

        利用女性糖尿病人的有身次数、血糖、血压、皮脂厚度、胰岛素等特征通过BP神经网络来预测一个女性是否患有糖尿病,而且盘算出模型预测的正确率。通过女性糖尿病患者的一系列特征构建一个BP神经网络模型,通过该模型预测一名女性患有糖尿病的概率。
        main.py
  1. #导入keras等模块
  2. from tensorflow.python.keras.models import Sequential
  3. from tensorflow.python.keras.layers import Dense
  4. import numpy as np
  5. from sklearn.model_selection import train_test_split
  6. import warnings
  7. warnings.filterwarnings('ignore')
  8. #导入女性糖尿病患者的特征数据
  9. dataset = np.loadtxt('pima-indians-diabetes.csv', delimiter=',')
  10. X = dataset[:, 0 : 8]
  11. Y = dataset[:, 8]
  12. # 将数据按照8:2比例分成训练集和测试集
  13. x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=1)
  14. print(x_train.shape)
  15. print(x_test.shape)
  16. # 创建BP神经网络
  17. model = Sequential()
  18. # 输入层8个变量,与数据维度一致
  19. # 第一个隐藏层有12个神经元,且采用ReLU激活函数,glorot均匀分布初始化器,偏差值初始为0
  20. model.add(Dense(12, input_dim=8, activation='relu', kernel_initializer='glorot_uniform', bias_initializer='zeros'))
  21. # 第二个隐藏层有8个神经元,且采用ReLU激活函数
  22. model.add(Dense(8, activation='relu'))
  23. # 输出层1个神经元,且采用Sigmoid激活函数
  24. model.add(Dense(1, activation='sigmoid'))
  25. #使用adam为优化器
  26. model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
  27. model.fit(x=x_train, y=y_train, epochs=150, batch_size=10)
  28. # 打印出模型每层权值
  29. print(model.trainable_weights)
  30. print(model.get_weights())
  31. # 评估模型
  32. scores = model.evaluate(x=x_test, y=y_test)
  33. print('\n%s : %.2f%%' % (model.metrics_names[1], scores[1]*100))
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连全瓷种植牙齿制作中心

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表