我发布了this question on Data Science StackExchange,但没有得到答案。有人建议我将问题移至此处,因为它看起来像是编程问题,因此可以尝试一下。
我想像下面那样在sklearn中进行交叉验证,但是 X的结果仍然需要变换以减少与 y。如何添加自定义功能?
model = XGBRegressor(n_estimator = 500,
learn_rate = 0.05,
random_state = 0)
pipeline = Pipeline( steps = [('preprocessor', preprocessor),
('model', model)
])
scores = -1 * cross_val_score(pipeline, X, y,
cv = 3,
scoring = 'neg_mean_absolute_error',
verbose = 0)
y中只有0和1,所以我想四舍五入并舍去小数 在X的结果中,就在预测X的步骤之后。
我将来可能需要对y进行其他操作。例如,拟合正确的结果仅包括数字0.5、1.5、2.5 ...
示例:
X-输入
ID Column_1 Column_2 Column_3
0 'A' 10 True
1 'A' 20 False
2 'B' 30 True
y-正确的结果
ID Result
0 1
1 0
2 1
当前输出
ID Result
0 0.899
1 -0.001
2 1.102
预期输出
ID Result
0 1
1 0
2 1