python机器学习基础

python机器学习基础错误笔记

Logistic回归和线性SVM代码报错

书本代码

import mglearn
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn.svm import LinearSVC
X, y = mglearn.datasets.make_forge()
fig, axes = plt.subplots(1, 2, figsize=(10, 3))
for model, ax in zip([LinearSVC(), LogisticRegression()], axes):
    clf = model.fit(X, y)
    mglearn.plots.plot_2d_separator(clf, X, fill=False, eps=0.5, ax=ax, alpha=.7)
    mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax)
    ax.set_title("{}".format(clf.__class__.__name__))
    ax.set_xlabel("Feature 0")
    ax.set_ylabel("Feature 1")
    axes[0].legend()
plt.show()

代码报错:提示我们“linear无法收敛,增加迭代次数。”

ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.

解决办法:增加LinearSVM的最大迭代次数,将最大迭代次数设置为4000

for model, ax in zip([LinearSVC(max_iter=4000), LogisticRegression()], axes):

运行结果如下
python机器学习基础_第1张图片

你可能感兴趣的:(机器学习,python,支持向量机)