【发布时间】:2020-07-08 22:46:43
【问题描述】:
我有变量,我需要预测它的值尽可能接近,但不要大于它。例如,给定 y_true = 9000,我希望 y_pred 是 [0,9000] 范围内的任何值,尽可能接近 9000。如果 y_true = 8000 分别 y_pred 应该是 [0,8000]。也就是说,我想对预测值进行某种限制。对于样本中的每对预测和目标变量,该阈值是单独的。如果 y_true = [8750,9200,8900,7600],则 y_pred 应为 [
data, target = np.array(data),np.array(df_tar)
X_train,X_test,y_train,y_test=train_test_split(data,target)
gbr = GradientBoostingRegressor(max_depth=1,n_estimators=100)
%time gbr.fit(X_train,np.ravel(y_train))
print(gbr.score(X_test,y_test),gbr.score(X_train,y_train))
【问题讨论】:
-
这个关于将序列转换为预定义范围的问题可能会有所帮助:stackoverflow.com/questions/929103/…
-
请尽量在你的帖子中表达完整的逻辑,而不需要额外的编辑,因为它也会迫使用户修改他们的答案。
标签: python machine-learning scikit-learn