機器學習 邏輯回歸

2021-08-30 17:36:13 字數 2310 閱讀 5965

邏輯回歸:線性回歸的式子,作為邏輯回歸的輸入 適用場景:二分類

線性回歸的輸入———(sigmoid函式)———>分類 【0,1】概率值

計算公式:

當目標值為1時:(損失函式的變化)

當目標值為0時:(損失函式的變化)

下面用乙個例項來說明邏輯回歸的用法(**癌症概率):

部分資料的截圖如下:

資料描述

699條樣本,供11列資料,第一列用於檢索的id,後9列分別是腫瘤相關的醫學特徵,最後一列表示腫瘤型別的資料。

包含16個缺失值,用"?"標出。

邏輯回歸:哪個類別少,判定概率值是值得這個類別 

**如下所示:

from sklearn.linear_model import logisticregression

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import standardscaler

from sklearn.metrics import classification_report

import pandas as pd

import numpy as np

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)

#缺失值進行處理

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=["良性","惡性"]))

if __name__=="__main__":

logistic()

執行結果如下所示:

機器學習 邏輯回歸

coding utf 8 import pandas as pd import seaborn as sns from sklearn.model selection import train test split import matplotlib.pyplot as plt 用於畫圖 from ...

機器學習 邏輯回歸

lr指的是logistic regression,邏輯回歸。而不是linear regression,線性回歸,不要問為什麼,記住它就好了,haha。它是一種監督學習分類演算法,不是回歸演算法!這裡千萬要注意啦。lr常用於二分類問題,0或者1 假如我們有一堆二維資料,也就是這堆資料有2個特徵x1和x...

機器學習 邏輯回歸

邏輯 邏輯,源自古典希臘語 logos 最初的意思是 詞語 或 言語 引申意思是 思維 或 推理 1902年,教育家嚴復將其意譯為 名學 音譯為 邏輯 回歸 回歸是統計學的乙個重要概念,其本意是根據之前的資料 乙個準確的輸出值。邏輯回歸是目前使用最為廣泛的一種學習演算法,用於解決分類問題。與線性回歸...