欠拟合,过度拟合,良好推广

时间:2019-02-09 23:45:21

标签: python python-3.x linear-regression lasso

因此,作为我作业的一部分,我将应用线性回归和套索回归,这是问题7。

  

根据问题6的得分,伽玛值对应于   拟合不足的模型(并且测试集精度最差)?什么   伽玛值对应于过度拟合的模型(并且具有   最差的测试仪精度)?伽玛的最佳选择   对此具有良好泛化性能的模型的选择   数据集(训练和测试集的准确性都很高)?

     

提示:尝试绘制问题6中的分数以可视化   伽马与准确性之间的关系。记得注释掉   提交前导入matplotlib行。

此函数应按以下顺序返回一个带度值的元组:(欠拟合,过度拟合,Good_Generalization)请注意,只有一种正确的解决方案。

我真的需要帮助,我真的想不出任何办法来解决最后一个问题。我应该使用什么代码来确定(欠拟合,过度拟合,Good_Generalization)以及为什么?

谢谢

数据集:http://archive.ics.uci.edu/ml/datasets/Mushroom?ref=datanews.io

这是我的问题6的代码:

from sklearn.svm import SVC
from sklearn.model_selection import validation_curve

def answer_six():
    # SVC requires kernel='rbf', C=1, random_state=0 as instructed
    # C: Penalty parameter C of the error term
    # random_state: The seed of the pseudo random number generator 
    # used when shuffling the data for probability estimates
    # e radial basis function kernel, or RBF kernel, is a popular 
    # kernel function used in various kernelized learning algorithms, 
    # In particular, it is commonly used in support vector machine 
    # classification

    model = SVC(kernel='rbf', C=1, random_state=0)

    # Return numpy array numbers spaced evenly on a log scale (start, 
    # stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

    gamma = np.logspace(-4,1,6)

    # Create a Validation Curve for model and subsets.
    # Create parameter name and range regarding gamma. Test Scoring 
    # requires accuracy. 
    # Validation curve requires X and y.

    train_scores, test_scores = validation_curve(model, X_subset, y_subset, param_name='gamma', param_range=gamma, scoring ='accuracy')

    # Determine mean for scores and tests along columns (axis=1)
    sc = (train_scores.mean(axis=1), test_scores.mean(axis=1))                                                 

    return sc

answer_six() 

2 个答案:

答案 0 :(得分:1)

好吧,让自己熟悉过度拟合。您应该产生以下内容:Article on this topic graph

在左侧,您有欠拟合,在右侧是过拟合...如果两个误差均较低,则可以很好地概括。

这些东西是伽玛(正则值)的函数

答案 1 :(得分:-1)

过度拟合 = 你的模型错误 如果模型为假 散它 使用工作内核将线性更改为多边形或支持向量... 欠拟合 = 你的数据集错误 添加新数据理想相关...

由nubers检查 测试和训练的分数/准确性如果测试和训练高并且没有太大差异,你做得很好...... 如果测试低或训练低,那么您将面临过拟合/欠拟合

希望向你解释...