要绘制学习曲线,可以使用learning_curve
函数来实现。下面是一个示例代码:
import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import learning_curve from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegression # 加载数据集 iris = load_iris() X, y = iris.data, iris.target # 初始化Logistic回归模型 model = LogisticRegression() # 绘制学习曲线 train_sizes, train_scores, test_scores = learning_curve(model, X, y, train_sizes=np.linspace(0.1, 1.0, 10), cv=5) train_scores_mean = np.mean(train_scores, axis=1) train_scores_std = np.std(train_scores, axis=1) test_scores_mean = np.mean(test_scores, axis=1) test_scores_std = np.std(test_scores, axis=1) plt.figure() plt.title("Learning Curve") plt.xlabel("Training examples") plt.ylabel("Score") plt.grid() plt.fill_between(train_sizes, train_scores_mean - train_scores_std, train_scores_mean + train_scores_std, alpha=0.1, color="r") plt.fill_between(train_sizes, test_scores_mean - test_scores_std, test_scores_mean + test_scores_std, alpha=0.1, color="g") plt.plot(train_sizes, train_scores_mean, 'o-', color="r", label="Training score") plt.plot(train_sizes, test_scores_mean, 'o-', color="g", label="Cross-validation score") plt.legend(loc="best") plt.show()
这段代码将绘制Logistic回归模型在不同训练数据量下的学习曲线,可以直观地观察模型的训练和验证表现。