演算法的思路我就不說了,我就提供乙個萬能模板,適用於任何緯度資料集。
雖然**類似於梯度下降,但他是個分類演算法
定義sigmoid函式
def
sigmoid
(x):
return1/
(1+np.exp(
-x))
進行邏輯回歸的引數設定以及迭代
def
weights
(x,y,alpha,thershold)
:#初始化引數
m,n = x_train.shape
theta = np.random.rand(n)
#引數 cnt =
0# 迭代次數
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)
.all()
:break
return theta
**函式
def
predict
(x_test,theta)
:if sigmoid(theta.t @ x_test)
>
0.5:
return
1else
:return
0
呼叫函式
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
# 學習率
thershold =
0.01
# 指定乙個閾值,用於檢查兩次誤差
print
(weights(x_train,y_train,alpha,thershold)
)
python 邏輯回歸分類 機器學習 邏輯回歸分類
分類問題 1 本質 決策面 decision su ce 2 評估分類演算法的指標,正確率 正確分類個數 總數 二分分類 邏輯回歸輸入 訓練資料的特徵和標籤 模型 邏輯回歸 輸出 分類結果 什麼是邏輯函式?在0到1之間取值,邏輯回歸是因為引數是邏輯函式 邏輯的數值 表示分類結果是1是y的結果 決策面...
機器學習 邏輯回歸 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...
邏輯回歸(分類演算法)
在前面講述的回歸模型中,處理的因變數都是數值型區間變數,建立的模型描述是因變數的期望與自變數之間的線性關係。比如常見的線性回歸模型 而在採用回歸模型分析實際問題中,所研究的變數往往不全是區間變數而是順序變數或屬性變數,比如二項分布問題。通過分析年齡 性別 體質指數 平均血壓 疾病指數等指標,判斷乙個...