学习曲线概念:
1. 模型性能 = f(训练集大小)
2. 学习曲线的目的是为了获得更优的训练集大小,用在建模之前
代码实现:
import numpy as np
import pandas as pd
import sklearn.preprocessing as sp
import sklearn.ensemble as se
import sklearn.model_selection as ms
import matplotlib.pyplot as plt
# 创建一个随机森林分类器模型
# max_depth最大深度(层数) n_estimators树的个数, random_state随机种子
model = se.RandomForestClassifier(max_depth=9, n_estimators=140, random_state=7)
# _,没用的参数
_, train_scores, test_scores = ms.learning_curve(model, train_x, train_y, train_sizes = np.arange(0.1, 1.0, 0.1), cv=5)
print(test_scores)
plt.grid(linestyle=':')
plt.plot(np.arange(0.1, 1.0, 0.1), test_scores.mean(axis=1))
plt.show()