我正在编写一个小程序来绘制SVM和Naive Bayes的学习曲线,用于交叉验证的数据集.这是绘图函数的代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn import cross_validation
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.datasets import load_digits
from sklearn.learning_curve import learning_curve
def plot_learning_curves(X, y, nb=GaussianNB, svc=SVC(kernel='linear'), ylim=None, cv=None, n_jobs=1,
train_sizes=np.linspace(.1, 1.0, 5)):
plt.figure()
plt.title('Learning Curves with NB and SVM')
if ylim is not None:
plt.ylim(*ylim)
train_sizes_nb, test_scores_nb = learning_curve(
nb, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)
test_scores_mean_nb = np.mean(test_scores_nb, axis=1)
train_sizes_svc, test_scores_svc = learning_curve(
svc, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)
test_scores_mean_svc = …Run Code Online (Sandbox Code Playgroud)