Compare: Logistic Regression in statsmodels and sklearn

2021-03-02 GHP Delivery

摘要

Python機器學習庫sklearn中的Logistic Regression算法核心與statsmodels是一致的,但內容的呈現各有側重,機器學習中沒有過多展示統計方面的數據。

sklearn 與 statsmodels 中 Logistic 回歸的差異

直接使用 sklearn 中的 Logistic 回歸,結果與 statsmodels 不同。請看下例。

import numpy as npimport statsmodels.api as smfrom sklearn.linear_model import LogisticRegression
# 生成隨機數用於回歸np.random.seed(123)n = 100y = np.random.randint(0,2,size=n)x = np.random.random((n,2))# Constant termx[:, 1] = 1
# statsmodels Logistic Regressionsm_lgt = sm.Logit(y, x)sm_result = sm_lgt.fit()print(sm_result.summary())
# sklearn Logistic Regressionsk_model = LogisticRegression()sk_results = sk_model.fit(x, y)print(sk_results.coef_)

兩者的計算結果是

這是因為: 

sklearn 進行了正則化處理,默認 C=1.0,而且無法關閉。

調整方法: 

設置 C=1e9,減小正則化的影響。

new_sk_model = LogisticRegression(fit_intercept=False, C=1e9)new_sk_results = new_sk_model.fit(x, y)print(new_sk_results.coef_)

此時,運行結果與 statsmodels 一致。

相關焦點

  • Logistic regression in Python statsmodels
    目錄摘要Python中的statsmodels庫是一個進行統計建模、假設檢驗和數據挖掘的庫,本文基於其中的 Logistic Regression後續會對照SPSS和R語言的邏輯回歸,討論statsmodels的結果,加深對邏輯回歸的理解。並比較Python機器學習庫sklearn實現邏輯回歸的差異。1. 邏輯回歸與odds邏輯回歸常用於二分類,用於估計某種事物的可能性。比如某用戶購買某商品的可能性,某病人患有某種疾病的可能性,以及某廣告被用戶點擊的可能性等。
  • 機器學習:Python常用庫——Statsmodels庫
    這裡就給大家介紹一個強大的統計分析庫——Statsmodels庫。Statsmodels庫是Python中一個強大的統計分析庫,包含假設檢驗、回歸分析、時間序列分析等功能,能夠很好的和Numpy和Pandas等庫結合起來,提高工作效率。下面我們就來試一下。
  • 定量分析方法第23講:statsmodels
    在線文檔位於statsmodels.org。import numpy as npimport statsmodels.api as smimport statsmodels.formula.api as smf1. 引言statsmodels支持使用R樣式公式和pandas DataFrames。
  • 使用python+sklearn實現在20newgroups上進行多類稀疏邏輯回歸
    sphx_glr_plot_sparse_logistic_regression_20newsgroups_001輸出:Dataset 20newsgroup, train_samples=9000, n_features=130107, n_classes=20[model=One versus Rest, solver=saga] Number of epochs
  • NLP03:基於TF-IDF和LogisticRegression的文本分類
    ,logistic回歸在解決分類問題上還是不錯的兩個都是如下,形式一樣,只是不同的是線性回歸  h(x)=θXlogistic回歸 import joblibfrom sklearn.feature_extraction.text import TfidfTransformerfrom sklearn.feature_extraction.text import CountVectorizerfrom sklearn.naive_bayes import MultinomialNBfrom sklearn.linear_model
  • 【理論+案例實戰】Python數據分析之邏輯回歸(logistic regression)
    邏輯回歸是分類當中極為常用的手段,它屬於概率型非線性回歸,分為二分類和多分類的回歸模型。
  • 尬聊Logistic Regression
    了解算法容易,精通算法很難,不如尬聊一次,不求甚解,希望讀者能查漏補缺,找到自己想要了解的方向Regression中出了一個叛徒解決regression在sklearn中這個s被稱作decision_function,也有書籍中稱s為對數機率或是logit[2],最後的非線性變換使用的是sigmoid函數,輸出一個0~1之間的值,代表預測為正例的概率。接下來需要對參數w進行估計,這裡採用極大似然估計法。
  • 【Python量化乾貨】Statsmodels/OLS/建模思想
    歡迎關注與標星★公眾號喲~statsmodels包可以做傳統統計方面的分析,有強大的函數庫可以調用,比如線性回歸,時間序列等官網:http://www.statsmodels.org/stable/index.html我們先通過例子快速了解如何通過Statsmodels進行統計學分析,我們首先導入相應庫
  • 使用sklearn實現多元線性回歸
    使用sklearn實現多元線性回歸多元線性回歸import pandas
  • 【強推】優雅高效地數據挖掘——基於Python的sklearn_pandas庫
    sklearn_pandas 官方文檔提供的例子比較少,我看了下它的源碼,有以下重要發現DataFrameMapper 繼承自 sklearn 的 BaseEstimator 和 TransformerMixin ,所以 DataFrameMapper 可以看做 sklearn 的 TransformerMixin 類,跟 sklearn 中的其他 Transformer
  • 應用sklearn工具做線性回歸分析
    多元回歸的方程式為:Y=b0+b1X1+b2X2+…biXi#導入相關庫import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics
  • Logistic回歸—多重共線性
    本文8045字〡15圖Multicollinearity is a common problem when estimating linear or generalized linear models, including logistic regression and Cox regression.
  • 使用 Auto-sklearn 開啟自動機器學習之旅
    import RandomForestClassifierimport autosklearn.regressiondef main():    X, y = sklearn.datasets.load_boston(return_X_y=True)    feature_types = (['numerical'] <em> 3) +
  • 使用python+sklearn實現Logistic回歸中的L1懲罰與稀疏性
    sphx_glr_plot_logistic_l1_l2_sparsity_001輸出:C=1.00Sparsity with L1 penalty:                6.25%Sparsity with Elastic-Net penalty:       4.69%Sparsity with L2 penalty:
  • 【算法】逐步在Python中構建Logistic回歸
    logistic回歸是一種機器學習分類算法,用於預測分類因變量的概率。 在邏輯回歸中,因變量是一個二進位變量,包含編碼為1(是,成功等)或0(不,失敗等)的數據。 換句話說,邏輯回歸模型基於X的函數預測P(Y = 1)。Logistic回歸假設記住上述假設,讓我們看一下我們的數據集。
  • 邏輯回歸(Logistic Regression) 模型簡介
    來自:美團點評技術團隊(ID:meituantech)連結:http://tech.meituan.com/intro_to_logistic_regression.htmlOn discriminative vs. generative classifiers:a comparison of logistic regression and naïve bayesWikipedia, http://en.wikipedia.org/wiki/Logistic_regression●本文編號245,以後想閱讀這篇文章直接輸入245即可。