我希望有一个像对象的地图,它具有数字键,并返回大于或等于指定值的最小键的值.例如:
val m = NumericMap(1.0 -> "a", 1.5 -> "b", 1.8 -> "c")
m(0.5) // -> "a"
m(1.1) // -> "b"
m(1.6) // -> "c"
Run Code Online (Sandbox Code Playgroud)
像这样的东西可以直接使用二叉树实现,但我想知道这个数据结构是否有任何标准或库实现.
我希望用它StringIndexer来对数据集中的 1000 多个类别进行排名,生成一个表示相对频率的索引。然后我可以使用这个索引作为我的模型的数字特征。不幸的是,StringIndex默认情况下存储一些将索引标记为分类的元数据,迫使我的模型将索引用作类别变量。
是否有某种方法可以禁用此功能,以便索引变量可以用作数字变量?
编辑:我使用字符串索引器作为 ML 管道中的一个阶段,因此解决方案需要避免直接操作数据帧。另外,我将保存和加载此管道,因此自定义数据转换器可能不切实际。我怀疑这是不可能的,因为 Spark 目前是编写的。