pyspark 保序迴歸

保序迴歸

也稱單調回歸。按百度定義:保序迴歸在觀念上是尋找一組非遞減的片段連續線性函數(piecewise linear continuous functions),即保序函數,使其與樣本儘可能的接近。
在計算中,保序迴歸是一個二次規劃問題,即尋找一組保序函數是其對樣本的估計值與樣本的真實值間的離差平方和達到最小。
給定樣本Y序列,需要求得迴歸後序列Y'
最小化下式:
\sum_{i=1}^N w_i(Y'_i-Y_i)^2
並且w_i>0,Y'_1<=Y'_2<=...<=Y'_N
保序迴歸可以在有足量樣本的支持下對分類器進行校準,並因此被應用於廣告排序,質量控制等現實問題。
參考一篇文章:https://zhuanlan.zhihu.com/p/88623159

from pyspark.ml.regression import IsotonicRegression
from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .appName("IsotonicRegressionExample")\
    .getOrCreate()

dataset = spark.read.format("libsvm")\
    .load("sample_isotonic_regression_libsvm_data.txt")
model = IsotonicRegression().fit(dataset)
print("Boundaries in increasing order: %s\n" % str(model.boundaries))
print("Predictions associated with the boundaries: %s\n" % str(model.predictions))
model.transform(dataset).show()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章