我一直在学习《python机器学习入门》;O ' reilly .
当运行这个块时,我得到了收敛警告。
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(
cancer.data, cancer.target, stratify=cancer.target, random_state=42)
logreg = LogisticRegression().fit(X_train, y_train)
print("Training set score: {:.3f}".format(logreg.score(X_train, y_train)))
print("Test set score: {:.3f}".format(logreg.score(X_test, y_test)))
我已经看到了几种可能的方法来解决这个问题,但由于我只是一般地学习,所以我不确定需要什么。
原作者笔记本
这意味着你正在使用的数据不是在一个很好的条件下收敛给定的算法。当您使用逻辑回归时,sklearn的默认max_iter
值为100。
你可以尝试用StandartScaler
来扩展你的数据。这基本上是为ML算法准备好数据,这可以帮助收敛。
或者你可以改变max_iter
,看看它是否会收敛。
例如:
logreg = LogisticRegression(max_iter = 1000).fit(X_train, y_train)