機器學習之邏輯回歸

2022-01-22 13:31:24 字數 1731 閱讀 8295

知識點:

"""

邏輯回歸:只能解決二分類問題

損失函式:

1、均方誤差(不存在多個區域性最低點):只有乙個最小值

2、對數似然損失:存在多個區域性最小值 ;

改善方法:1、多次隨機初始化,多次比較最小值結果;

2、調整學習率

邏輯回歸缺點:不好處理多分類問題

生成模型:有先驗概率 (邏輯回歸,隱馬爾科夫模型)

判別模型:沒有先驗概率 (knn,決策樹,隨機森林,神經網路)

"""

**:

def

logistic():

"""邏輯回歸做二分類進行癌症**(根據細胞的屬性特徵)

:return: none

"""#

構造列標籤名字

column = ['

sample code number

','clump thickness

', '

uniformity of cell size

','uniformity of cell shape

','marginal adhesion

', '

single epithelial cell size

','bare nuclei

','bland chromatin

','normal nucleoli

','mitoses

','class']

#讀取資料

data = pd.read_csv("

", names=column)

print

(data)

#缺失值進行處理

data = data.replace(to_replace='

?', value=np.nan)

data =data.dropna()

#進行資料的分割

x_train, x_test, y_train, y_test = train_test_split(data[column[1:10]], data[column[10]], test_size=0.25)

#進行標準化處理

std =standardscaler()

x_train =std.fit_transform(x_train)

x_test =std.transform(x_test)

#邏輯回歸**

lg = logisticregression(c=1.0)

lg.fit(x_train, y_train)

print

(lg.coef_)

y_predict =lg.predict(x_test)

print("

準確率:

", lg.score(x_test, y_test))

print("

召回率:

", classification_report(y_test, y_predict, labels=[2, 4], target_names=["

良性", "惡性"

]))

return none

損失函式:

機器學習之邏輯回歸

什麼叫邏輯回歸?簡單來講便是目標值只有,而線性回歸的目標值卻是乙個區域 0,1 可以代表得病沒得病,正確錯誤,etc.那麼怎麼才能把給定的輸入值正確的分類到呢,下面就介紹乙個特別的函式 sigmoid函式,g z 1 1 exp z 啥都不說先上圖。上圖便是sigmoid函式圖了,之所以引用這個函式...

機器學習之 邏輯回歸

邏輯回歸又稱logistic回歸,邏輯斯諦回歸,是一種廣義的線性回歸分析模型。sigmoid函式也是神經網路中常用的函式,用於把x從負無窮到正無窮壓縮到y從0到1之間。畫出來就是一條s型曲線,如下圖中的藍色曲線 它以0點為中心對稱,公式如下 當x值接近負無窮時,分母很大,s x 接近0,當x接近正無...

機器學習之邏輯回歸

邏輯回歸 logistic regression 最初是為了解決二分類問題。對於線性模型要想進行如二分類任務,最簡單的辦法就是通過階躍函式 unit step function 即將線性模型的輸出值套上乙個函式進行分割,大於z的判定為0,小於z的判定為1。如下圖左所示 但這有個問題是,分段函式不連續...