我正在使用Spark 1.5.1,在pyspark中,使用以下代码拟合模型后:
model = LogisticRegressionWithLBFGS.train(parsedData)
我可以使用以下代码打印预测结果:
model.predict(p.features)
是否有函数可以同时打印预测的概率分数?
回答:
你需要先清除阈值,这仅适用于二元分类:
from pyspark.mllib.classification import LogisticRegressionWithLBFGS, LogisticRegressionModel from pyspark.mllib.regression import LabeledPoint parsed_data = [LabeledPoint(0.0, [4.6,3.6,1.0,0.2]), LabeledPoint(0.0, [5.7,4.4,1.5,0.4]), LabeledPoint(1.0, [6.7,3.1,4.4,1.4]), LabeledPoint(0.0, [4.8,3.4,1.6,0.2]), LabeledPoint(1.0, [4.4,3.2,1.3,0.2])] model = LogisticRegressionWithLBFGS.train(sc.parallelize(parsed_data)) model.threshold # 0.5 model.predict(parsed_data[2].features) # 1 model.clearThreshold() model.predict(parsed_data[2].features) # 0.9873840020002339