sklearn的learning_curve使用说明
sklearn的learning_curve是一个用于绘制学习曲线的函数,可以帮助我们分析模型的训练情况和泛化能力。
使用方法:
-
导入learning_curve函数:from sklearn.model_selection import learning_curve
-
指定模型和数据集:model = 模型,X = 特征数据,y = 标签数据
-
指定评价指标:scoring = '指标名称',例如:'accuracy'表示准确率
-
指定交叉验证数量:cv = 数字,例如:5表示5折交叉验证
-
指定训练数据的数量范围:train_sizes = [数字1, 数字2, …, 数字n]
-
调用learning_curve函数,返回训练集大小、训练集评分、测试集评分的三个数组:train_sizes, train_scores, test_scores = learning_curve(model, X, y, scoring=scoring, cv=cv, train_sizes=train_sizes)
-
绘制学习曲线:使用Matplotlib库中的plot函数绘制train_sizes和train_scores、test_scores之间的关系曲线。
示例代码:
from sklearn.model_selection import learning_curve
import matplotlib.pyplot as plt
model = 模型
X = 特征数据
y = 标签数据
scoring = 'accuracy'
cv = 5
train_sizes = [100, 500, 1000, 2000, 5000]
train_sizes, train_scores, test_scores = learning_curve(model, X, y, scoring=scoring, cv=cv, train_sizes=train_sizes)
plt.figure()
plt.title('Learning Curve')
plt.xlabel('Training Examples')
plt.ylabel('Score')
plt.ylim(0.0, 1.1)
plt.plot(train_sizes, train_scores.mean(axis=1), 'o-', color='r', label='Training score')
plt.plot(train_sizes, test_scores.mean(axis=1), 'o-', color='g', label='Cross-validation score')
plt.legend(loc='best')
plt.show()
学习曲线的横轴是训练集大小,纵轴是评分。训练集评分用红色线表示,交叉验证评分用绿色线表示。通过学习曲线可以判断模型的训练情况和泛化能力,是否存在欠拟合或过拟合的问题。
原文地址: https://www.cveoy.top/t/topic/bnz3 著作权归作者所有。请勿转载和采集!