当前位置: 首页 > 知识库问答 >
问题:

模型定义不给出任何输出[关闭]

叶炜
2023-03-14
from sklearn.linear_model import LogisticRegression
logmodel = LogisticRegression()
logmodel

上面代码的输出只是

LogisticRegression()

但我希望有更详细的内容,包括模型参数,即:

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

我做错了什么?

共有1个答案

霍永年
2023-03-14

这是由于从scikit-learn v0.23开始的默认配置设置发生了变化;从更改日志中:

默认设置print_changed_only已从False更改为true。这意味着估计器的repr现在更加简洁,并且在打印一个估计器时只显示其默认值已更改的参数。您可以使用sklearn.set_config(PRINT_CHANGED_ONLY=FALSE)恢复以前的行为。另外,请注意,使用est.get_params(deep=false)总是可以快速检查任何估计器的参数。

也就是说,在V0.23之前的版本中,以下代码:

import sklearn
sklearn.__version__
# 0.22.2

from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr

使用所有模型参数生成以下输出:

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

但从V0.23开始使用相同的代码:

import sklearn
sklearn.__version__
# 0.23.2

from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr

就会产生:

LogisticRegression()

在这种情况下,即没有显式html" target="_blank">定义任何参数,并且所有参数都保持默认值。这是因为print_changed_only参数现在默认设置为true:

sklearn.get_config()

# result:

{'assume_finite': False,
 'working_memory': 1024,
 'print_changed_only': True,
 'display': 'text'}

要在较新的scikit-learn版本中打印所有参数,您应该执行以下操作:

lr.get_params()

# result

{'C': 1.0,
 'class_weight': None,
 'dual': False,
 'fit_intercept': True,
 'intercept_scaling': 1,
 'l1_ratio': None,
 'max_iter': 100,
 'multi_class': 'auto',
 'n_jobs': None,
 'penalty': 'l2',
 'random_state': None,
 'solver': 'lbfgs',
 'tol': 0.0001,
 'verbose': 0,
 'warm_start': False}

或者更改设置(最好,因为它会影响以后使用的任何和所有模型):

sklearn.set_config(print_changed_only=False) # needed only once
lr # as defined above

# result

LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=None, max_iter=100,
                   multi_class='auto', n_jobs=None, penalty='l2',
                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,
                   warm_start=False)
 类似资料:
  • 模板输出 模型数据的模板输出可以直接把模型对象实例赋值给模板变量,在模板中可以直接输出,例如: <?php namespace app\index\controller; use app\index\model\User; use think\Controller; class Index extends Controller { public function index()

  • 因此,基本上,当为时,即第一次,应在20秒内触发,并将设置为。从下一次开始,它应该每隔5秒就会被发射一次。 我面临的问题是,每次被激发时,输出中只有一条消息。也就是说,我在20秒后收到一条消息,每5秒收到一条消息。我希望在每次触发的输出中有20条消息。 如果我使用并创建一个五秒的时间窗口,则每5秒输出20条消息。请帮我把这个代码弄对。我是不是缺了什么?

  • 我正在使用ML Vision api从FaceNet模型创建嵌入,然后比较两个嵌入之间的余弦距离。Android版本和Python的输出有很大不同。Python版本的性能比android版本好得多。可能是什么问题?我在两者中都使用FaceNet模型。 我正在使用ML工具包进行推理 https://firebase.google.com/docs/ml-kit/android/use-custom-

  • 假设在一个在线商店的应用系统中需要一个HTML页面,和下面这个页面类似: <html> <head> <title>Welcome!</title> </head> <body> <h1>Welcome John Doe!</h1> <p>Our latest product: <a href="products/greenmouse.html">green mouse</a>!

  • 编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。 我在Java中尝试了斐波那契问题,并坚持使用这种不匹配的输出。我试过的代码是1,得到的输出是2。如果有人能找出这个bug,那将非常有用。提前谢谢。

  • 问题内容: 我有一个可加载的内核模块,其初始化如下 我还启用了正在使用的内核版本上启用的动态调试-ie 。 在模块的Makefile中,我在其中添加了一行,即文件名。 现在,我在执行此模块的insmod后检查了一下,在其中发现了以下几行 即使做了所有这些,令我失望的是,在dmesg的输出中找不到上述两个pr_debug语句。那我想念什么或做错什么呢? 问题答案: 假设是模块源文件,请将以下内容添加