首页 > 解决方案 > 岭回归的 predict() 方法的代码在哪里

问题描述

我正在寻找使用我用 Ridge 回归构建的模型进行一些自定义预测。本质上,我想有选择地将模型的某些部分归零,以便能够确定它们对整体答案的贡献。为此,我需要了解 scikit-learn 如何从模型中实现预测。我一直在研究代码,但没有找到执行预测的位置。有人可以给我一个提示我应该在哪里寻找吗?如果我遗漏了一些明显的东西,请提前道歉。

标签: scikit-learn

解决方案


在等待看看这个问题是否会产生结果时,我决定进行一些搜索。由于令人失望的 o/s 限制和我正在使用的计算机上允许的软件负载,我不得不编写自己的 grep 版本:

from pathlib import Path
import re

BASE_PATH = Path(r'C:\Users\mermaldad\Downloads\scikit'
                 r'-learn-main\scikit-learn-main')
pattern = 'class _BaseRidge' # in _ridge.py
pattern = 'class LinearModel' # in _base.py

result = list(BASE_PATH.rglob("*.[pP][yY]"))

for f in result:
    file = open(f, "r", encoding='utf-8')
    for line in file:
        if re.search(pattern, line):
            print(f'{f.stem}.py: {line}')

使用这个工具,我发现 Ridge 类是 _BaseRidge 类的子类,而_BaseRidge 类又是 LinearModel 类的子类。LinearModel 有一个方法 predict()。

通过这个练习,我想有一些工具可以帮助绘制这些关系。欢迎提出建议。


推荐阅读