为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中创建一系列浮点值?

如何在python中创建一系列浮点值?

不负相思意 2022-06-28 15:26:09
我试图在 x+y+z 的条件下在彼此内部做几个循环应该等于 1,以进入最后一个循环。我使用了以下内容:import numpy as npfor 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):            #check if sum is 1            if int(gbrCount+xgbCount+regCount) == 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)但即使总和大于 1,它也会进入循环。(xgb, reg 和 gbr) 的一些值类似于 0.70000001。所以我尝试使用 linspace 但它不适用于浮点数。所以我尝试了范围:for gbrCount in range(0, 1):    gbrCount += 0.1    for xgbCount in range(0, 1):        xgbCount += 0.1        for regCount in range(0, 1):            regCount += 0.1            if int(gbrCount+xgbCount+regCount)==1:                #y_p = (xgbCount*xgb.predict(testset)+ gbrCount*gbr.predict(testset)+regCount*regressor.predict(testset))                #testset['SalePrice']=np.expm1(y_p)                y_train_p = (xgbCount*xgb.predict(dataset)+ gbrCount*gbr.predict(dataset)+regCount*regressor.predict(dataset))                y_train_p = np.expm1(y_train_p)#                print(np.sqrt(mean_squared_error(y, y_train_p)))#                print(xgbCount)#                print(gbrCount)#                print(regCount)                print(xgbCount,  gbrCount, regCount, np.sqrt(mean_squared_error(y, y_train_p)))但它在控制台上根本没有错误。
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

那这个呢?(我不认为最后的四舍五入是必要的,但为了安全起见,我把它留在那里。)


    import numpy as np

    for _gbrCount in np.arange(0, 1.0, 0.1):

        for _xgbCount in np.arange(0, 1.0, 0.1):

            gbrCount = np.round(_gbrCounr, decimals=1)

            xgbCount = np.round(_cgbCount, decimals=1)

            regCount = np.round(1 - gbrCount - xgbCount, decimals=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)


查看完整回答
反对 回复 2022-06-28
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信