使用R完成邏輯斯蒂回歸分類

2021-06-21 11:03:51 字數 1397 閱讀 2864

直接上**,如下:

data_sample <- iris[51:150,];

m <- dim(data_sample)[1] #獲取資料集記錄條數

val <- sample(m, size =round(m/3), replace = false, prob= rep(1/m, m)) #抽樣,選取三分之二的資料作為訓練集。

iris.learn <- data_sample[-val,] #選取訓練集

iris.valid <- data_sample[val,] #選取驗證集

#呼叫glm函式訓練邏輯斯蒂二元模型

#glm()提供正態、指數、gamma、逆高斯、poisson、二項分布。我們的logistic回歸使用的是二項分布族binomial。binomial族預設連線函式為logit,可設定為probit。

logit.fit <- glm(species~petal.width+petal.length,

family = binomial(link = 'logit'),

data = iris.learn);

#生成測試資料集,實際上直接使用iris.valid

dfrm <- data.frame(petal.width=iris.valid$petal.width,

petal.length=iris.valid$petal.length);

real_sort <- iris.valid$species; #測試資料集實際類別

prdict_res <- predict(logit.fit, type="response", newdata=dfrm); #**資料產生概率

data.frame(predict=prdict_res, real=real_sort); #檢視資料產生概率和實際分類的關係

data.frame(predict=ifelse(prdict_res>0.5, "virginica", "versicolor"), real=real_sort); #根據資料產生概率生成**分類

table(data.frame(predict=ifelse(prdict_res>0.5, "virginica", "versicolor"), real=real_sort)); #計算分類準確度

最後計算出來的分類準確度如下,分類準確度還是不錯的:

real

predict      setosa versicolor virginica

versicolor      0         16         0

virginica       0          2        15

程式包mlogit提供了多項logit的模型擬合函式,參見,有空再學習下。先睡覺...zz.

邏輯斯蒂回歸

邏輯斯蒂回歸首先研究的是分類問題,所以我們這裡引入的激勵函式是sigmoid函式,所以邏輯斯蒂回歸也叫sigmoid回歸。當然也叫對數機率回歸。邏輯斯蒂回歸是直接對資料的分類的可能性進行建模,而不是假設資料的分布,這就避免了假設資料分布時不均勻所帶來的問題,所以邏輯斯蒂回歸不但可以 類別,還可以得出...

邏輯斯蒂回歸原理

邏輯斯蒂回歸是針對線性可分問題的一種易於實現而且效能優異的分類模型,是使用最為廣泛的分類模型之一。假設某件事發生的概率為p,那麼這件事不發生的概率為 1 p 我們稱p 1 p 為這件事情發生的機率。取這件事情發生機率的對數,定義為logit p 所以logit p 為 因為logit函式的輸入取值範...

邏輯斯蒂回歸 機器學習ML

參考 1.統計學習方法 李航 2.邏輯斯蒂回歸是乙個非常經典的二項分類模型,也可以擴充套件為多項分類模型。其在應用於分類時的過程一般如下,對於給定的資料集,首先根據訓練樣本點學習到引數w,b 再對 點分別計算兩類的條件概率,將 點判為概率值較大的一類。1 線性模型 邏輯斯蒂回歸屬於對數線性模型,那什...