|
24、模型的复杂度曲线与学习曲线
train test split的意义:方便测试模型的泛化能力,用训练好的模型在从来没有见到过的新数据上看效果
模型的复杂度曲线
网格搜索:就是使用模型泛化能力最好的那组参数 使得测试数据集上指标最好的
学习曲线:随着训练样本从少到多,训练同样的模型,看模型在刚刚的训练集与同一个测试集上的误差或score如何变化
- def plot_learning_curve(algorithm, X_train, X_test, y_train, y_test):
- train_score = []
- test_score = []
- for i in range(1, len(X_train)+1):
- algorithm.fit(X_train[:i], y_train[:i])
- y_train_predict = algorithm.predict(X_train[:i])
- train_score.append(mean_squared_error(y_train[:i], y_train_predict))
- y_test_predict = algorithm.predict(X_test)
- test_score.append(mean_squared_error(y_test, y_test_predict))
- plt.plot([i for i in range(1, len(X_train)+1)], np.sqrt(train_score), label='train')
- plt.plot([i for i in range(1, len(X_train)+1)], np.sqrt(test_score), label='test')
- plt.legend()
- plt.xlim(0, len(X_train)+1)
- plt.ylim(0, 4)
- plt.show()
复制代码
ipynb文件在附件,可提供下载!
视频教程请参考:http://www.ai111.vip/thread-349-1-1.html
东方老师微信:dfy_88888
|
-
01.png
(194.02 KB, 下载次数: 139)
-
02.png
(294.11 KB, 下载次数: 141)
-
03.png
(210.76 KB, 下载次数: 136)
-
04.png
(66.41 KB, 下载次数: 141)
-
05.png
(186.86 KB, 下载次数: 141)
-
06.png
(254.04 KB, 下载次数: 139)
-
07.png
(108.16 KB, 下载次数: 138)
-
08.png
(100.41 KB, 下载次数: 140)
-
09.png
(94.91 KB, 下载次数: 134)
-
-
24、模型的复杂度曲线与学习曲线.ipynb
90.13 KB, 阅读权限: 10, 下载次数: 0
|