在训练和测试向量数据集中保持相同的分箱

Dan*_*ski 4 julia

我有一个数字向量train,用于模型的训练数据集中。假设我想把它分成 5 个箱子。我知道我可以使用cut(x, 5)CategoricalArrays.jl 来做到这一点。如何在test模型的测试数据集中的向量中设置相同的分箱?

Prz*_*fel 5

也许有更好的解决方案,但这可行:

using CategoricalArrays, Statistics

nbins = 5
breaks = Statistics.quantile(train, (1:nbins-1)/nbins)

cat_train = cut(train, breaks;extend=true,labels=string.("BIN_",1:5))

cat_test =  cut(test, breaks;extend=true,labels=string.("BIN_",1:5))
Run Code Online (Sandbox Code Playgroud)