Python實戰四 邏輯回歸

2021-08-15 21:13:26 字數 992 閱讀 7869

1.獲得資料集

2.建立sigmoid函式

3.求sigmoid 的導數

4.求cost的導數

5.求loss的導數

6.遞迴下降求引數

import numpy as np  

import matplotlib.pyplot as plt

import math

#原始資料 得出的邊界為7-2x

x=np.mat([1,2,3,3.3,3.4,3.6,4,5,6])

y=np.mat([1,1,1,1,1,0,0,0,0])

y=y.t

a=0b=0

canshu=np.mat([a,b])

canshu=canshu.t

def sigmoid(z):

return (1/(1+np.exp(-z)))

print(canshu)

bianliang=np.column_stack(([1,1,1,1,1,1,1,1,1],x.t))

print(bianliang[:,0])

#學習速率

alpha=0.01

step=2000

for i in range(step):

xiaoy=bianliang*canshu

prey = sigmoid(xiaoy)

print(prey)

a=a+alpha*(y-prey).t*bianliang[:,0]

b=b+alpha*(y-prey).t*bianliang[:,1]

canshu=np.column_stack([a,b]).t

print(canshu)

plt.scatter(x,y)

bianliang

print(sigmoid(bianliang*canshu))

對原始資料集的檢驗為

邏輯回歸實戰

影象 輸入x,注意 這裡的x已經新增上了預設的第0個特徵,這個列向量中的值都為1 begin 1 x x 1 x x vdots vdots vdots 1 x x end 目標函式 j theta 梯度下降 梯度下降 不斷地更新引數即可 完成了擬合,投入到 的時候是使用等價替換之前的假設函式,值得...

邏輯回歸實戰

影象 輸入x,注意 這裡的x已經新增上了預設的第0個特徵,這個列向量中的值都為1 begin 1 x x 1 x x vdots vdots vdots 1 x x end 目標函式 j theta 梯度下降 梯度下降 不斷地更新引數即可 完成了擬合,投入到 的時候是使用等價替換之前的假設函式,值得...

機器學習 邏輯回歸 Python實現邏輯回歸

coding utf 8 author 蔚藍的天空tom import numpy as np import os import matplotlib.pyplot as plt from sklearn.datasets import make blobs global variable path...