Python利用邏輯回歸分類實(shí)現(xiàn)模板
Logistic Regression Classifier邏輯回歸主要思想就是用最大似然概率方法構(gòu)建出方程,為最大化方程,利用牛頓梯度上升求解方程參數(shù)。
- 優(yōu)點(diǎn):計(jì)算代價(jià)不高,易于理解和實(shí)現(xiàn)。
- 缺點(diǎn):容易欠擬合,分類精度可能不高。
- 使用數(shù)據(jù)類型:數(shù)值型和標(biāo)稱型數(shù)據(jù)。
好了,下面開始正文。
算法的思路我就不說(shuō)了,我就提供一個(gè)萬(wàn)能模板,適用于任何緯度數(shù)據(jù)集。
雖然代碼類似于梯度下降,但他是個(gè)分類算法
定義sigmoid函數(shù)
def sigmoid(x): return 1/(1+np.exp(-x))
進(jìn)行邏輯回歸的參數(shù)設(shè)置以及迭代
def weights(x,y,alpha,thershold): #初始化參數(shù) m,n = x_train.shape theta = np.random.rand(n) #參數(shù) cnt = 0 # 迭代次數(shù) max_iter = 50000 #開始迭代 while cnt < max_iter: cnt += 1 diff = np.full(n,0) for i in range(m): diff = (y[i]-sigmoid(theta.T @ x[i]))*x[i] theta = theta + alpha * diff if(abs(diff)<thershold).all(): break return theta
預(yù)測(cè)函數(shù)
def predict(x_test,theta): if sigmoid(theta.T @ x_test)>0.5: return 1 else:return 0
調(diào)用函數(shù)
x_train = np.array([[1,2.697,6.254], [1,1.872,2.014], [1,2.312,0.812], [1,1.983,4.990], [1,0.932,3.920], [1,1.321,5.583], [1,2.215,1.560], [1,1.659,2.932], [1,0.865,7.362], [1,1.685,4.763], [1,1.786,2.523]]) y_train = np.array([1,0,0,1,0,1,0,0,1,0,1]) alpha = 0.001 # 學(xué)習(xí)率 thershold = 0.01 # 指定一個(gè)閾值,用于檢查兩次誤差 print(weights(x_train,y_train,alpha,thershold))
總結(jié)
以上所述是小編給大家介紹的Python利用邏輯回歸分類實(shí)現(xiàn)模板,希望對(duì)大家有所幫助!
- 基于Pytorch實(shí)現(xiàn)邏輯回歸
- PyTorch實(shí)現(xiàn)多維度特征輸入邏輯回歸
- pytorch實(shí)現(xiàn)邏輯回歸
- PyTorch線性回歸和邏輯回歸實(shí)戰(zhàn)示例
- python sklearn庫(kù)實(shí)現(xiàn)簡(jiǎn)單邏輯回歸的實(shí)例代碼
- python實(shí)現(xiàn)邏輯回歸的方法示例
- python編寫Logistic邏輯回歸
- python代碼實(shí)現(xiàn)邏輯回歸logistic原理
- Python利用邏輯回歸模型解決MNIST手寫數(shù)字識(shí)別問題詳解
- Python實(shí)現(xiàn)的邏輯回歸算法示例【附測(cè)試csv文件下載】
- python 牛頓法實(shí)現(xiàn)邏輯回歸(Logistic Regression)
- python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)(四)邏輯回歸
- pytorch使用nn.Moudle實(shí)現(xiàn)邏輯回歸
相關(guān)文章
python裝飾器簡(jiǎn)介及同時(shí)使用多個(gè)裝飾器的方法
這篇文章主要介紹了python裝飾器簡(jiǎn)介及同時(shí)使用多個(gè)裝飾器的方法,python支持一個(gè)函數(shù)同時(shí)使用多個(gè)裝飾器,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06教你用Python實(shí)現(xiàn)Excel表格處理
今天教各位小伙伴怎么用Python處理excel,文中有非常詳細(xì)的代碼示例及相關(guān)知識(shí)總結(jié),對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Python?pandas處理缺失值方法詳解(dropna、drop、fillna)
缺失數(shù)據(jù)會(huì)在很多數(shù)據(jù)分析應(yīng)用中出現(xiàn),pandas的目標(biāo)之一就是盡可能無(wú)痛地處理缺失值,下面這篇文章主要給大家介紹了關(guān)于Python?pandas處理缺失值方法的相關(guān)資料,處理方法分別是dropna、drop、fillna,需要的朋友可以參考下2022-08-08PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進(jìn)行數(shù)據(jù)分析圖文詳解
這篇文章主要介紹了PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進(jìn)行數(shù)據(jù)分析圖文詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04