使用 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
。以下是可接受的数据类型列表:
我个人认为将 floats
的列表转换为 ints
的列表会更容易。
我正在使用 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
。以下是可接受的数据类型列表:
我个人认为将 floats
的列表转换为 ints
的列表会更容易。