码迷,mamicode.com
首页 > 其他好文 > 详细

莫烦sklearn学习自修第八天【过拟合问题】

时间:2018-09-09 20:03:30      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:ali   err   dataset   datasets   end   code   ram   学习   没有   

1. 什么是过拟合问题

所谓过拟合问题指的是使用训练样本进行训练时100%正确分类或规划,当使用测试样本时则不能正确分类和规划

 

2. 代码实战(模拟过拟合问题)

from __future__ import print_function
from sklearn.learning_curve import  learning_curve
from sklearn.datasets import load_digits
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import numpy as np

digits = load_digits()
X = digits.data
y = digits.target

# 在0.1, 0.25, 0.5等的训练数据处取出训练损失和测试损失
train_sizes, train_loss, test_loss= learning_curve(
        SVC(gamma=0.01), X, y, cv=10, scoring=mean_squared_error,
        train_sizes=[0.1, 0.25, 0.5, 0.75, 1])
train_loss_mean = -np.mean(train_loss, axis=1)
test_loss_mean = -np.mean(test_loss, axis=1)

plt.plot(train_sizes, train_loss_mean, o-, color="r",
             label="Training")
plt.plot(train_sizes, test_loss_mean, o-, color="g",
             label="Cross-validation")

plt.xlabel("Training examples")
plt.ylabel("Loss")
plt.legend(loc="best")
plt.show()

注意:当使用gramma=0.0001时没有过拟合问题; 当使用gramma=0.001时出现了过拟合问题

 

莫烦sklearn学习自修第八天【过拟合问题】

标签:ali   err   dataset   datasets   end   code   ram   学习   没有   

原文地址:https://www.cnblogs.com/liuzhiqaingxyz/p/9614458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!