基于keras的lambdarank神经网络模型。
LambdaRankNN的Python项目详细描述
lambdaranknn
用于训练成对学习以对神经网络模型(ranknet nn,lambdarank nn)进行排序的python库。
支持的模型结构
它支持ranknet和lambdarank等成对学习排序(ltr)算法,其中底层模型(隐藏层)是神经网络(nn)模型。
安装
pip install LambdaRankNN
示例
关于lambdarank nn模型的示例。
importnumpyasnpfromLambdaRankNNimportLambdaRankNN# generate query dataX=np.array([[0.2,0.3,0.4],[0.1,0.7,0.4],[0.3,0.4,0.1],[0.8,0.4,0.3],[0.9,0.35,0.25]])y=np.array([0,1,0,0,2])qid=np.array([1,1,1,2,2])# train modelranker=LambdaRankNN(input_size=X.shape[1],hidden_layer_sizes=(16,8,),activation=('relu','relu',),solver='adam')ranker.fit(X,y,qid,epochs=5)y_pred=ranker.predict(X)ranker.evaluate(X,y,qid,eval_at=2)
将模型转换为PMML
使用python库rankernn2pmml,可以方便地将训练后的模型转换为pmml。
fromrankerNN2pmmlimportrankerNN2pmmlparams={'feature_names':['Feature1','Feature2','Feature3'],'target_name':'score'}rankerNN2pmml(estimator=ranker.model,file='Model_example.xml',**params)