为什么"fit"方法的输出在scikit-learn 0.23中发生了变化?



例如

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import ShuffleSplit
from sklearn.linear_model import LogisticRegression
data = load_breast_cancer()
X = data.data
y = data.target
ss = ShuffleSplit(n_splits=1,
train_size=0.8,
test_size=0.2,
random_state=0)
train_index, test_index = next(ss.split(X, y))
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
clf = LogisticRegression()
clf.fit(X_train, y_train)

在上述代码的情况下,在0.22版本中,输出结果如下。

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

但对于0.23版本,它将如下所示。

LogisticRegression()

为什么scikit在从0.22版本升级到0.23版本的过程中了解到对该规范的更改?

请参阅set_config方法的定义。特别是:

print_changed_only:bool,默认值=无如果为True,则仅设置为非默认值的参数打印估计器时将打印值。例如当为True时print(SVC())将只打印"SVC((",而默认值为行为将是打印"SVC(C=1.0,cache_size=200,…("所有未更改的参数。..版本添加::0.21

要返回旧行为,请尝试先前启动的估计器:

from sklearn import set_config
set_config(print_changed_only=False)

或更改来源(不推荐,只有当你了解自己在做什么时(

相关内容

最新更新