1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- weight_v567 = {
- "xgbNorScaleType": 1,
- "xgbNorBias": -1.5147,
- "xgbNorWeight": 2.277,
- "xgbNorPowerWeight": 1.2216,
- "xgbNorPowerExp": 1.32
- }
- weight_v564 = {
- "fmRovBias": -0.0017,
- "fmRovWeight": 1.331,
- "fmRovSquareWeight": -6.4597,
- "fmRovCubeWeight": 14.393,
- "xgbNorScaleType": 1,
- "xgbNorBias": -1.5147,
- "xgbNorWeight": 2.277,
- "xgbNorPowerWeight": 1.2216,
- "xgbNorPowerExp": 1.32
- }
- score_map = {"fmRovOrigin": 0.27195945382118225, "NorXGBScore": 1.5618711709976196, "fmRov": 0.03600984021032825, "RovFMScore": 0.27195945382118225, "hasReturnRovScore": 2.442478, "vor": 8.230978}
- def rov_calibration(bias: float, weight: float, square_weight: float, cube_weight: float, score: float) -> float:
- new_score = bias + weight * score
- if abs(square_weight) > 1E-8:
- new_score += square_weight * (score ** 2)
- if abs(cube_weight) > 1E-8:
- new_score += cube_weight * (score ** 3)
- if new_score < 1E-8:
- new_score = score
- elif new_score > 0.9:
- new_score = 0.9
- return new_score
- def nor_calibration(scale_type: float, poly_bias: float, poly_weight: float,
- power_weight: float, power_exp: float, score: float) -> float:
- if scale_type < 1:
- return nor_poly_calibration(poly_bias, poly_weight, score)
- else:
- return nor_power_calibration(power_weight, power_exp, score)
- def nor_poly_calibration(bias: float, weight: float, score: float) -> float:
- new_score = bias + weight * score
- return max(new_score, 0)
- def nor_power_calibration(weight: float, exp: float, score: float) -> float:
- new_score = weight * (score ** exp)
- return min(new_score, 100)
- def _main():
- fmRovBias = float(weight_v564["fmRovBias"])
- fmRovWeight = float(weight_v564["fmRovWeight"])
- fmRovSquareWeight = float(weight_v564["fmRovSquareWeight"])
- fmRovCubeWeight = float(weight_v564["fmRovCubeWeight"])
- xgbNorScaleType = float(weight_v564["xgbNorScaleType"])
- xgbNorBias = float(weight_v564["xgbNorBias"])
- xgbNorWeight = float(weight_v564["xgbNorWeight"])
- xgbNorPowerWeight = float(weight_v564["xgbNorPowerWeight"])
- xgbNorPowerExp = float(weight_v564["xgbNorPowerExp"])
- fm_rov = float(score_map['fmRov'])
- nor = float(score_map['NorXGBScore'])
- vor = float(score_map['vor'])
- # new_fm_rov = rov_calibration(fmRovBias, fmRovWeight, fmRovSquareWeight, fmRovCubeWeight, fm_rov)
- new_fm_rov = fm_rov
- new_nor = nor_calibration(xgbNorScaleType, xgbNorBias, xgbNorWeight, xgbNorPowerWeight, xgbNorPowerExp, nor)
- print(new_fm_rov * (0.1 + new_nor) * (0.1 + vor))
- if __name__ == '__main__':
- _main()
|