东方耀AI技术分享

标题: 24、模型的复杂度曲线与学习曲线 [打印本页]

作者: 东方耀    时间: 2019-10-13 18:12
标题: 24、模型的复杂度曲线与学习曲线
24、模型的复杂度曲线与学习曲线


train test split的意义:方便测试模型的泛化能力,用训练好的模型在从来没有见到过的新数据上看效果


模型的复杂度曲线
网格搜索:就是使用模型泛化能力最好的那组参数 使得测试数据集上指标最好的


学习曲线:随着训练样本从少到多,训练同样的模型,看模型在刚刚的训练集与同一个测试集上的误差或score如何变化


  1. def plot_learning_curve(algorithm, X_train, X_test, y_train, y_test):
  2.     train_score = []
  3.     test_score = []
  4.     for i in range(1, len(X_train)+1):
  5.         algorithm.fit(X_train[:i], y_train[:i])
  6.         y_train_predict = algorithm.predict(X_train[:i])
  7.         train_score.append(mean_squared_error(y_train[:i], y_train_predict))
  8.         y_test_predict = algorithm.predict(X_test)
  9.         test_score.append(mean_squared_error(y_test, y_test_predict))
  10.     plt.plot([i for i in range(1, len(X_train)+1)], np.sqrt(train_score), label='train')
  11.     plt.plot([i for i in range(1, len(X_train)+1)], np.sqrt(test_score), label='test')
  12.     plt.legend()
  13.     plt.xlim(0, len(X_train)+1)
  14.     plt.ylim(0, 4)
  15.     plt.show()
复制代码



ipynb文件在附件,可提供下载!


视频教程请参考:http://www.ai111.vip/thread-349-1-1.html
东方老师微信:dfy_88888


作者: fglbee    时间: 2019-12-22 17:27
this is good idea
作者: fglbee    时间: 2019-12-22 20:50
this is good idea
作者: kiko    时间: 2022-11-6 10:26
学习中,支持




欢迎光临 东方耀AI技术分享 (http://www.ai111.vip/) Powered by Discuz! X3.4