日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【sklearn学习】逻辑回归

發布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【sklearn学习】逻辑回归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

邏輯回歸的優點:

  • 使用于分類問題中的回歸算法
  • 邏輯回歸對線性關系的擬合效果好
  • 邏輯回歸計算快
  • 邏輯回歸返回的分類結果不固定,而是以小數的形式呈現的類概率數字
  • 邏輯回歸有抗噪能力強的特點,在小數據集上表現較好
  • sklearn.linear_model.LogisticRegression

    class?sklearn.linear_model.LogisticRegression(penalty='l2',?*,?dual=False,?tol=0.0001,?C=1.0,?fit_intercept=True,?intercept_scaling=1,?class_weight=None,?random_state=None,?solver='lbfgs',?max_iter=100,?multi_class='auto',?verbose=0,?warm_start=False,?n_jobs=None,?l1_ratio=None)

    penalty:字符串,指定正則化策略,'l1'或'l2'

    dual:bool,默認為True,求解對偶形式

    C:float,指定懲罰項系數的倒數,如果值越小,則正則化項越大

    fit_intercept:bool,是否需要計算b值

    intercept_scaling:float,只有當solver='liblinear'才有意義

    使用損失函數衡量參數為θ的模型擬合訓練集時產生的信息損失的大小,并以此衡量參數θ的優劣

    在模型擬合過程中,讓損失函數最小化的參數組合

    正則化用來防止模型過擬合,常用的有L1正則化和L2正則化

    L1范式表示每個參數的絕對值之和

    L2范式表示為參數向量中的每個參數的平方和的開方值

    L1正則化會將參數壓縮到0,L2正則化只會讓參數盡量小,不會取到0

    import matplotlib as plt import pandas as pd from sklearn.datasets import fetch_california_housing from sklearn.datasets import load_breast_cancer, load_wine from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.model_selection import GridSearchCV cancer = load_breast_cancer() data_train, data_test, target_train, target_test = train_test_split(cancer.data, cancer.target, test_size=0.2, random_state=0) lr = LogisticRegression(max_iter=300, solver='liblinear', random_state=0)lr.fit(data_train, target_train) train_score = lr.score(data_train, target_train) print("train score:", train_score) test_score = lr.score(data_test, target_test) print("test score:", test_score) def test_LogisticRegression_C(*data):'''測試 LogisticRegression 的預測性能隨 C 參數的影響:param data: 可變參數。它是一個元組,這里要求其元素依次為:訓練樣本集、測試樣本集、訓練樣本的標記、測試樣本的標記:return: None'''X_train,X_test,y_train,y_test=dataCs=np.logspace(-2,4,num=100)scores=[]for C in Cs:regr = LogisticRegression(C=C, max_iter=300, solver='liblinear')regr.fit(X_train, y_train)scores.append(regr.score(X_test, y_test))## 繪圖fig=plt.figure()ax=fig.add_subplot(1,1,1)ax.plot(Cs,scores)ax.set_xlabel(r"C")ax.set_ylabel(r"score")ax.set_xscale('log')ax.set_title("LogisticRegression")plt.show()test_LogisticRegression_C(data_train,data_test,target_train,target_test) # 調用 test_LogisticRegression_C

    ?

    ?

    對于線性回歸,多重共線性會有影響,需要使用方差過濾和方差膨脹因子VIF消除共線性

    多元邏輯回歸

    • multi_class

    'ovr'表示分類問題是二分類

    'multinomial'表示處理多分類

    ’auto'根據數據的分類情況自動確定分類類型

    • solver

    'liblinear':坐標下降法

    ‘lbfgs':擬牛頓法

    ’newton-cg':牛頓法的一種,海森矩陣優化迭代損失函數

    'sag':隨機平均梯度下降

    ’saga'

    樣本不平衡與參數class_weight

    通過重復樣本方式平衡類別

    總結

    以上是生活随笔為你收集整理的【sklearn学习】逻辑回归的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。