Scala:类,类似于python中的QuantiletTransformer
我正在寻找Python的sklearn.preprocessing.QuantiletTransformer类的Scala实现。似乎没有一个类可以在scala中实现整个功能 Python实现有3个主要部分: 1) 使用numpy.percentile()计算给定数据和百分比数组的分位数。如果分位数位于两个输入数据点之间,则使用线性插值。在Scala中我能找到的最接近的是breeze,它有percentile()函数(观察:DataFrame.stats.approxQuantile()不执行线性插值,因此不能在这里使用) 2) 使用numpy.interp()将值的输入范围转换为给定范围。例如,如果输入数据范围为1-100,则可以将其转换为任何给定范围,例如0-1。当输入数据存在于2个分位数之间时,再次使用线性插值。我能在Scala中找到的最接近的类是breeze.interpolation类 3) 使用numpy.ppf()计算反向CDF。我相信,对于这一点,我可以使用正态分布类作为下面的一个答案或StandardScaler类 有什么更好的方法可以使编码变得简短和简单吗?该库有一个类,它有一个计算指定分位数值的Scala:类,类似于python中的QuantiletTransformer,python,scala,scikit-learn,normal-distribution,quantile,Python,Scala,Scikit Learn,Normal Distribution,Quantile,我正在寻找Python的sklearn.preprocessing.QuantiletTransformer类的Scala实现。似乎没有一个类可以在scala中实现整个功能 Python实现有3个主要部分: 1) 使用numpy.percentile()计算给定数据和百分比数组的分位数。如果分位数位于两个输入数据点之间,则使用线性插值。在Scala中我能找到的最接近的是breeze,它有percentile()函数(观察:DataFrame.stats.approxQuantile()不执行线性
反向可计算性方法。那应该适合你的目的