使用 sklearn 获取回归模型的整数预测

Get integer prediction for regressor models with sklearn

我正在使用 sklearn 回归模型来预测每天的销售额。但是,我希望输出是一个整数(因为我不能卖一半产品)所以我试图将预测输出作为一个整数,但我找不到方法。

我知道我可以将浮点数转换为整数,但我的问题是调整模型以生成整数预测的可能性(因为输入也是整数)。

from sklearn.neighbors import KNeighborsRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import BayesianRidge

model_trained = model.fit(x_train, y_train)
y_est = model_trained.predict(x_test)

print(x_test) --> [645 198 546 619 748]

print(y_est) --> [486.84247399 352.79511474 545.31309247 499.17395514 723.32887889]

预测方法的 return 值属于 float 类型。您必须重写回归模型才能更改 predict 方法的实现。

第215行实现了KNeighborsRegressor的方法:

sklearn KNeighborsRegressor implementation

您可以尝试将第 240 行的 dtype 参数更改为 np.intc,而不是 np.float64。以下是可接受的数据类型列表:

numpy data types

我个人认为将 floats 的列表转换为 ints 的列表会更容易。