日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

逻辑回归的实现(LogicalRegression)

發布時間:2024/1/3 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 逻辑回归的实现(LogicalRegression) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.背景知識

在剛剛結束的天貓大數據s1比賽中,邏輯回歸是大家都普遍使用且效果不錯的一種算法。

(1)回歸


先來說說什么是回歸,比如說我們有兩類數據,各有50十個點組成,當我門把這些點畫出來,會有一條線區分這兩組數據,我們擬合出這個曲線(因為很有可能是非線性),就是回歸。我們通過大量的數據找出這條線,并擬合出這條線的表達式,再有數據,我們就以這條線為區分來實現分類。下圖是我畫的一個數據集的兩組數據,中間有一條區分兩組數據的線。

(2)sigmoid函數

我們看到了上圖中兩組數據的劃分,那么我們怎么來找出兩組數據的邊界表達式呢,這里用到sigmoid函數。它的形狀大致是(如下),公式

把數據集的特征值設為x1,x2,x3......。我們要求出它們的回歸系數。只要設z=w1*x1+w2*x2.....用sigmoid函數出理是防止數據從0到1發生跳變,因為目標函數是0到1,我們要把帶入x1,x2...多項式數據控制在這之間。

(3)梯度上升算法

梯度上升是指找到函數增長的方向。公式。在具體實現的過程中,不停地迭代運算直到w的值幾乎不再變化為止。

2.代碼

數據集在工程中有。

導入數據集,并定義sigmoid函數

[python]view plaincopy

print?

defloadDataSet():
dataMat=[];labelMat=[]
fr=open('/Users/hakuri/Desktop/testSet.txt')
forlineinfr.readlines():
lineArr=line.strip().split()
dataMat.append([1.0,float(lineArr[0]),float(lineArr[1])])
labelMat.append(int(lineArr[2]))
returndataMat,labelMat

defsigmoid(inX):
return1.0/(1+exp(-inX))

返回回歸系數,對應于每個特征值,for循環實現了遞歸梯度上升算法。

[python]view plaincopy

print?

defgradAscent(dataMatIn,classLabels):
dataMatrix=mat(dataMatIn)#converttoNumPymatrix
labelMat=mat(classLabels).transpose()#converttoNumPymatrix

m,n=shape(dataMatrix)
alpha=0.001
maxCycles=500
weights=ones((n,1))

forkinrange(maxCycles):#heavyonmatrixoperations
h=sigmoid(dataMatrix*weights)#matrixmult
error=(labelMat-h)#vectorsubtraction
weights=weights+alpha*dataMatrix.transpose()*error#matrixmult
returnweights

結果,返回了特征值的回歸系數。我們的數據集有兩個特征值分別是x1,x2。我們又增設了了x0變量。得到的結果

[[ 4.12414349]

[ 0.48007329]

[-0.6168482 ]]

我們得出x1和x2的關系(設x0=1),0=4.12414349+0.48007329*x1-0.6168482*x2


畫出x1與x2的關系圖


3.代碼


下載地址(Logical Regression)

作者微信公眾號:凡人機器學習

長期分享機器學習實戰相關信息,感謝關注!

總結

以上是生活随笔為你收集整理的逻辑回归的实现(LogicalRegression)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。