- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Boston 上尝试随机森林算法借助 sklearn 的 RandomForestRegressor 预测房价的数据集 medv
.
下面是我的训练/测试数据分割:
'''Train Test Split of Data'''
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 1)
训练/测试拆分的维度
X.形状:(489, 11)
X_train.shape:(366、11)
X_test.shape: (123, 11)
下面是我的调整随机森林模型:
#1. import the class/model
from sklearn.ensemble import RandomForestRegressor
#2. Instantiate the estimator
RFReg = RandomForestRegressor(max_features = 'auto', random_state = 1, n_jobs = -1, max_depth = 14, min_samples_split = 2, n_estimators = 550)
#3. Fit the model with data aka model training
RFReg.fit(X_train, y_train)
#4. Predict the response for a new observation
y_pred = RFReg.predict(X_test)
y_pred_train = RFReg.predict(X_train)
为了评估模型的性能,我尝试了 sklearn 的 learning curve使用以下代码
train_sizes = [1, 25, 50, 100, 200, 390] # 390 is 80% of shape(X)
from sklearn.model_selection import learning_curve
def learning_curves(estimator, X, y, train_sizes, cv):
train_sizes, train_scores, validation_scores = learning_curve(
estimator, X, y, train_sizes = train_sizes,
cv = cv, scoring = 'neg_mean_squared_error')
#print('Training scores:\n\n', train_scores)
#print('\n', '-' * 70) # separator to make the output easy to read
#print('\nValidation scores:\n\n', validation_scores)
train_scores_mean = -train_scores.mean(axis = 1)
print(train_scores_mean)
validation_scores_mean = -validation_scores.mean(axis = 1)
print(validation_scores_mean)
plt.plot(train_sizes, train_scores_mean, label = 'Training error')
plt.plot(train_sizes, validation_scores_mean, label = 'Validation error')
plt.ylabel('MSE', fontsize = 14)
plt.xlabel('Training set size', fontsize = 14)
title = 'Learning curves for a ' + str(estimator).split('(')[0] + ' model'
plt.title(title, fontsize = 18, y = 1.03)
plt.legend()
plt.ylim(0,40)
如果您注意到我将 X, y
而不是 X_train, y_train
传递给了 learning_curve
。
我有以下关于 learning_curve
的问题
train subset
是否正确测试数据集的大小是根据列表 train_sizes
中提到的训练数据集的大小而变化还是始终固定(根据训练,在我的情况下为 25%/test split 是 123 个样本)例如
train dataset size = 1
时,测试数据大小是 488 还是 123(X_test 的大小)train dataset size = 25
时,测试数据大小是 464 还是 123(X_test 的大小)train dataset size = 50
时,测试数据大小将是 439 还是 123(X_test 的大小)我对 learning_curve
函数中训练/测试的大小感到有点困惑
最佳答案
你肯定只想使用你的训练测试,所以这样调用这个函数,原因是你想看看你实际使用的数据是如何进行学习的:
learning_curves(estimator=RFReg, X=X_train, y=y_size, train_sizes= train_sizes)
关于python - 学习曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53596459/
我在 Boston 上尝试随机森林算法借助 sklearn 的 RandomForestRegressor 预测房价的数据集 medv . 下面是我的训练/测试数据分割: '''Train Test
我正试图从 Fluxus 中获得一些乐趣,但它的手册和在线文档似乎都假设读者已经是一个以前从未听说过 Scheme 的专家网络程序员。因此,您会得到一些段落,试图解释前缀表示法的基本知识,但假设您知道
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我实现了一个模型,在该模型中我使用逻辑回归作为分类器,我想绘制训练集和测试集的学习曲线以决定下一步做什么以改进我的模型。 只是为了给你一些信息,为了绘制学习曲线,我定义了一个函数,它采用一个模型,一个
我是一名 C# 人员,非常了解 Visual Studio IDE 的使用(从 VS2003 开始使用它)。现在,我正在使用 Eclipse 3.4.1 做一个概念验证应用程序。 与 Visual
我使用梯度提升决策树作为分类器实现了一个模型,并绘制了训练集和测试集的学习曲线,以决定下一步做什么以改进我的模型。结果如图: (Y 轴是准确度(正确预测的百分比),而 x 轴是我用来训练模型的样本数。
这个问题在这里已经有了答案: How can I prevent SQL injection in PHP? (27 个答案) 关闭 6 年前。 我目前正在学习 PHP,并且是 OOP 的新手。我正
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
有人可以解释如何使用 python SciKit 随机森林分类器的 oob_decision_function_ 属性吗?我想用它来绘制学习曲线,比较不同训练集大小的训练和验证错误,以识别过度拟合和其
我开发 iPhone 应用程序已有几个月了。我想知道您对 Quartz 与 OpenGL ES 1.x 或 2.0 学习曲线的看法。你可以说出你的观点。我的问题是 *我是一名想成为游戏开发者的人,所以
我是一名优秀的程序员,十分优秀!