Perceptron-Based Ranking (PRanking) 是 ordinal regression 中的著名算法,PRanking 的基础结构可以看做是一个单层感知机(使用w做线性变换),同时还有K个阈值b_1 \leq b_2\leq \cdots \leq b_{K-1}。
x表示样本,当w \cdot x落入到错误的区间内,则需要调整w和b使其正确,更新方法可见图中描述。

算法过程如下:

PRank库:
#pip install sklearn-contrib-lightning from lightning.ranking import PRank import numpy as np model = PRank() X = np.array([[1,1,1],[2,2,2]]) y = np.array([4,5]) model.fit(X,y) model.predict(X) #Out: array([4, 5])