一、问题描述

  1. 描述:在进行分类任务时,导入随机逻辑回归模型 RandomizedLogisticRegression 时会提示无法找到该模型。

    1
    from sklearn.linear_model import RandomizedLogisticRegression as RLR
  2. 分析:自 sklearn 0.19.2 版本后,随机逻辑回归模型已经被移除

  3. 当前软件版本

    1
    2
    import sklearn
    sklearn.show_versions()

    System:
    python: 3.9.16

    Python dependencies:

    ​ sklearn: 1.3.2

    ​ numpy: 1.26.2

    ​ scipy: 1.10.1

    ​ pandas: 2.1.3

    ​ matplotlib: 3.7.1

    ​ joblib: 1.3.2

二、解决办法

(一)手动安装随机逻辑回归模型

  1. 模型仓库:https://github.com/scikit-learn-contrib/stability-selection

  2. 安装参考:https://github.com/scikit-learn-contrib/stability-selection/issues/38

    注:

    ​ 安装随机逻辑回归模型后,能够解决模型导入时的报错问题,并能够正确拟合训练模型。

    ​ 但是在后续查看特征筛选结果和 Score 分数时,会无法调用 rlr.get_support() 和 rlr.scores_ 方法,可能是因为高版本在移除随机逻辑回归模型时,也对 sklearn_base 中的方法做了修改,无法再按旧版本方法调用。

(二)采用低版本 Scikit-Learn

  1. 低版本 Scikit-Learn 所需的环境

    Python 3.8 及以下(建议 Python 3.6)

    Numpy 1.23.5 及以下(建议 Numpy 1.20.0)

    Scikit-Learn 0.19.2

    注:

    1. 所建议版本是较为久远的版本,可能会出现无法找到对应源、无法安装的情况,需根据自己的电脑情况调整;
    2. M 系列 Mac 由于架构不同,不支持 3.8 版本以下的 Python,请使用 Python 3.8;
    3. Scikit-Learn 最好使用 0.19.2 版本。
  2. 安装过程

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # conda 创建虚拟环境 Python 3.8
    conda create -n py38 python=3.8
    # 激活 py38 环境
    conda activate py38
    # 安装相关库
    pip install numpy==1.23.5
    pip install scipy
    pip install pandas
    pip install xlrd
    pip install scikit-learn==0.19.2

    注:

    1. 以上过程均在终端 shell 中安装;
    2. 或者选用 Anaconda 图形化界面安装。
  3. 安装完毕后,在 Pycharm 右下角添加并使用新的 Python 解释器即可。