我是Python新手,我需要迭代3个主要变量来检查人工智能模型中的最佳平均误差。你知道吗
这三种模型是:梯度助推器,随机森林和XGBooster。你知道吗
每个模型分别与数据拟合。最后,我需要集成它们,但是迭代很累,因为要进行27次迭代。你知道吗
公式如下:
y\u predict=x梯度bossterpredict+y随机森林+z*XGBooster
在哪里
我尝试了以下方法:
rmse = []
for (gbrCount in np.arange(0, 1.0, 0.1)):
for(xgbCount in np.arange(0, 1.0, 0.1)):
for(regCount in np.arange(0, 1.0, 0.1)):
y_p = (xgbCount*xgb.predict(testset)+ gbrCount*gbr.predict(testset)+regCount*regressor.predict(testset))
testset['SalePrice']=np.expm1(y_p)
y_train_p = xgb.predict(dataset)
y_train_p = np.expm1(y_train_p)
rmse.append(np.sqrt(mean_squared_error(y, y_train_p)))
rmse.append(xgbCount)
rmse.append(gbrCount)
rmse.append(regCount)
但我得到以下错误:
SyntaxError: unexpected EOF while parsing for gbrCount in np.arange(0, 1.0, 0.1):
请按以下方式编码。你知道吗
或者
或者
这只是一个Python语法错误。 省略此行中的括号:
for gbrCount in np.arange(0, 1.0, 0.1):
还有其他的
for
行。你知道吗那将解决你所说的问题。但是在
arange
文档中,如果您想使用非整数步长参数,那么您应该使用linspace
。你知道吗关于使和等于
1
:你已经有了
if int(gbrCount+xgbCount+regCount) == 1:
这不管用吗?如果不是,请注意浮点数是不精确的,因此看起来应该是1.0
的实际上可能是0.9999,因此int()
给出0
。您应该使用linspace
或者使用np.arange(0, 10 , 1)
,这样所有内容都是整数(在循环中,每个值除以10
)。你知道吗您的代码可以很好地使用以下for循环语法:
对于sum always=1 in loop,请查看以下内容:
对于同一行中的每个结果,而不是每个值:
相关问题 更多 >
编程相关推荐