邏輯回歸:線性回歸的式子,作為邏輯回歸的輸入 適用場景:二分類
線性回歸的輸入———(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年,教育家嚴復將其意譯為 名學 音譯為 邏輯 回歸 回歸是統計學的乙個重要概念,其本意是根據之前的資料 乙個準確的輸出值。邏輯回歸是目前使用最為廣泛的一種學習演算法,用於解決分類問題。與線性回歸...