我试着用g1作为0级,g2作为1级进行逻辑回归:
ft=np.vstack((g1,g2)) #data stacked on each other
class = np.hstack((np.zeros(f), np.ones(f))) #class values in column matrix
clc=np.reshape(cl,(2*f,1)) #class values in an array
w=np.zeros((2,1)) #weights matrix
for n in range(0,5000):
s = np.dot(ft, w)
prediction = (1 / (1 + np.exp(-s))) #sigmoid function
gr = (np.dot(ft.T, class - prediction)) #gradient of loss function
w += 0.01 * gr
print (w)
我使用sklearn评估我的结果:
from sklearn.linear_model import
我得到:
w=[[6.77812323] [2.91052504]]
系数=[[1.22724506 1.10456893]
你知道为什么重量不匹配吗?我的数学有什么问题吗?你知道吗
你只是错过了计算平均梯度的步骤。还要注意,我使用的不是
class
,而是clc
:添加整个代码
输出
相关问题 更多 >
编程相关推荐