优达(Udacity)-机器学习基础-误差原因

误差原因

模型预测中,模型可能出现的误差来自两个主要来源:

  • 因模型无法表示基本数据的复杂度而造成的偏差(bias)

数据足够,模型不够复杂(过度简化),欠拟合

  • 因模型对训练它所用的有限数据过度敏感而造成的方差(variance)。

预测结果对于任何给定的测试样本会出现多大的变化
对训练集高度敏感——过拟合(overfitting)

  • 可通过更多的数据进行训练,以降低模型预测结果的方差并提高精度。
  • 如果没有更多的数据可以用于训练,还可以通过限制模型的复杂度来降低方差。

学习曲线

可以利用sklearn中的学习曲线来辨别模型表现的好坏。

引入模块:

from sklearn.model_selection import learning_curve

文档中一个合理的实现:

learning_curve(
        estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)
  • estimator是我们正在用来预测的模型,例如它可以是GaussianNB()
  • Xy是特征和目标
  • cv是交叉验证生成器,例如KFold()
  • 'n_jobs'是平行运算的参数
  • train_sizes是多少数量的训练数据用来生成曲线

偏差、方差和特征数量

优达(Udacity)-机器学习基础-误差原因_第1张图片

特征数较少(如:十个特征中的一两个特征)时会导致:high bias(高偏差)

你可能感兴趣的:(机器学习)