也许完全错误,先随便写写记着~~
11行代码实现神经网络
这就是开头。
偶然冒出来一个想法,利用神经网络通过年龄身高体重判断性别。
在百度文库找了一份身高体重表
某地身高体重表
转到Excel里,把年龄身高体重变成二进制数,然后分列,转成csv,导入到Python中。
arr11是年龄身高体重转的二进制数然后转的矩阵,arr22就是性别(男1女0)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24import pandas as pd import numpy as np import sys daf = pd.read_csv('C:\Users\Desktop\backup\PY\123.csv',sep=',') frame = pd.read_csv('C:\Users\Desktop\backup\PY\123.csv',sep=',') arr1 = np.array(frame) arr11= arr1[:,:19] arr22= arr1[:,19:] X = arr11 y = arr22 syn0 = 2*np.random.random((19,11)) - 1 syn1 = 2*np.random.random((11,1)) - 1 for j in range(60000): l1 = 1/(1+np.exp(-(np.dot(X,syn0)))) l2 = 1/(1+np.exp(-(np.dot(l1,syn1)))) l2_delta = (y - l2)*(l2*(1-l2)) l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1)) syn1 += l1.T.dot(l2_delta) syn0 += X.T.dot(l1_delta) #print (syn1) print (l2.T)
男性设定为1,女性设定为0,结果看起来像是那么回事。
syn0设置19行50列算的一塌糊涂,然后调整成19行11列。
数值接近1的算作男性,数值接近0的算作女性。
[[ 9.97646307e-01 9.97661621e-01 9.97723515e-01 9.99222864e-01
9.98196275e-01 9.99848338e-01 9.99850630e-01 9.98418750e-01
9.99495266e-01 9.99756919e-01 9.98818350e-01 9.99751553e-01
9.98890541e-01 9.99835415e-01 9.99635375e-01 9.99635375e-01
9.99494531e-01 9.99732795e-01 9.99679508e-01 9.99872324e-01
9.98623279e-01 9.99956120e-01 9.99085798e-01 9.99818828e-01
9.99506737e-01 3.74507732e-06 3.96252595e-07 5.19825123e-04
1.70365841e-03 1.41046777e-03 1.20010989e-03 1.08547683e-03
3.81853416e-05 1.51403761e-04 1.48431345e-03 1.46194557e-03
1.46535939e-04 1.12583417e-04 1.02877674e-05 4.02209975e-07
4.38420728e-04 4.38420728e-04 8.40540763e-04 1.08740610e-05
1.89958270e-03 5.01493153e-05 5.01493153e-05 1.14841434e-03
2.54346257e-04 1.74130233e-03 1.86857657e-03]]
最后
以上就是标致玫瑰最近收集整理的关于神经网络-1 利用年龄身高体重判断性别的全部内容,更多相关神经网络-1内容请搜索靠谱客的其他文章。
发表评论 取消回复