spark mllib logisticregressionwithlbfgsmodel始终预测1

iqjalb3h  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(299)

我是一个新手在ml和我尝试我的手了。所以我面临的问题是-
我有一个数据集,看起来像这样-

1,32,89
0,2,6
1,71,87
0,2,3
1,2,67
1,78,46
1,25,15
1,18,11
1,8,5
1,7,5
1,3,2
1,3,2
1,2,2
1,2,2
1,926,61
0,99,7
1,42,3
0,18,2
0,15,1
0,13,1
0,11,1
0,11,1
0,9,1
0,8,1
0,8,1
0,7,1
0,7,1
0,7,1
1,7,1
0,6,1
0,6,1
0,6,1
0,4,1
0,4,1
0,4,1
0,4,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,5,100
1,263,90
0,6,3
0,2,1
0,2,1
0,2,1
1,307,73
0,16,4
1,5,2
0,4,1
0,3,1
0,3,1
0,3,1
1,3,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
1,14,88
1,95,74
1,14,11
1,8,7
0,2,2
1,8,73
1,2,19
1,7,78
1,5,42
1,3,25
1,344,68
1,27,6
1,7,2
1,7,2
0,5,1
1,5,1
0,4,1
0,4,1
0,4,1
1,3,1
1,3,1
0,3,1
0,2,1
0,2,1
0,2,1
0,2,67
1,116,29
1,71,18
1,68,17
1,54,14
1,20,5
1,15,4
0,4,1
0,4,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
1,3,75
1,12,100
1,4,80
0,14,10
0,4,3
0,2,2
0,2,2
0,2,2
1,10,91
1,9,75
0,2,17
1,1947,88
1,23,2
0,5,1
1,5,1
1,4,1
0,3,1
1,3,1
0,3,1
1,3,1
0,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
0,2,1
0,2,1
1,1900,85
1,32,2
1,19,1
1,11,1
1,10,1
0,8,1
0,8,1
0,6,1
0,6,1
0,6,1
0,5,1
0,5,1
0,4,1
0,4,1
1,4,1
1,4,1
1,3,1
1,3,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,445,85
0,3,1
0,3,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2648,86
0,18,1
0,15,1
0,9,1
0,8,1
0,7,1
0,7,1
0,7,1
0,6,1
0,6,1
0,6,1
0,5,1
0,5,1
0,4,1
0,4,1
0,4,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,66,10
1,54,8
1,43,7
1,41,7
1,40,6
1,36,6
1,35,6
1,22,4
1,21,4
1,19,3
1,12,2
1,9,2
1,9,2
0,8,2
1,8,2
1,7,2
0,6,1
1,6,1
0,6,1
1,5,1
1,5,1
0,4,1
1,4,1
1,3,1
1,3,1
1,3,1
0,3,1
1,3,1
0,2,1
1,2,1
0,2,1
0,2,1
1,2,1
0,2,1
1,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
1,2,1
1,2,1
0,2,1
0,2,1
1,2,1
1,2,1
1,2,1
1,2,1
1,2,1
1,796,25
1,394,13
1,156,5
1,134,5
1,104,4
1,89,3
1,86,3
1,84,3
1,70,3
1,56,2
1,48,2
1,43,2
1,38,2
1,37,2
1,34,2
1,32,1
1,30,1
1,29,1
1,24,1
1,24,1
1,23,1
0,21,1
1,20,1
1,20,1
1,20,1
1,17,1
1,17,1
1,15,1
1,14,1
1,13,1
1,13,1
1,13,1
1,13,1
0,12,1
1,12,1
1,11,1
1,10,1
1,9,1
0,9,1
0,8,1
0,8,1
0,8,1
1,8,1
1,8,1
1,7,1
1,7,1
1,7,1
0,6,1
1,6,1
1,5,1
0,5,1
0,5,1
1,5,1
0,5,1
1,5,1
0,5,1
0,5,1
0,5,1
1,5,1
0,4,1
0,4,1
0,4,1
0,4,1
1,4,1
1,4,1
0,4,1
1,4,1
0,4,1
0,3,1
1,3,1
1,3,1
0,3,1
1,3,1
0,3,1
1,3,1
0,3,1
0,3,1
1,3,1
1,3,1
1,3,1
1,3,1
1,3,1
1,3,1
1,3,1
1,3,1
1,3,1
0,3,1
1,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
1,2,1
1,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
0,2,1
1,2,1
1,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
1,62,92
1,3,60
1,14,94
1,13,87
1,2,67
1,361,91
0,13,4
1,4,100
1,181,44
1,116,29
1,27,7
1,22,6
1,8,2
1,8,2
0,7,2
0,3,1
0,3,1
1,2,1
0,2,1
1,2,1
0,2,1
1,3857,64
1,976,17
1,252,5
1,122,3
1,64,2
1,61,2
1,59,1
1,31,1
1,12,1
1,10,1
1,8,1
1,8,1
0,5,1
0,5,1
0,5,1
0,5,1
0,5,1
0,5,1
0,4,1
0,4,1
0,4,1
0,4,1
0,4,1
0,3,1
1,3,1
0,3,1
1,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
1,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,3,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
1,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1
0,2,1

现在,我运行以下spark代码(这是一个基于rdd的代码,因为我使用的是spark-1.6)

"""
Logistic Regression With LBFGS Example.
"""
from __future__ import print_function

from pyspark import SparkContext

# $example on$

from pyspark.mllib.classification import LogisticRegressionWithLBFGS, LogisticRegressionModel
from pyspark.mllib.regression import LabeledPoint

# $example off$

import pymongo_spark

if __name__ == "__main__":

    feature_names = ["times", "percentage"]

    sc = SparkContext(appName="LBFGSLOgisticRegressionForRaphael")

    # $example on$
    # Load and parse the data
    def parsePoint(line):
        values = [float(x) for x in line.split(',')]
        return LabeledPoint(values[0], values[1:])

    def mapper(p):
        ret = (p.label, model.predict(p.features))
        print(ret)
        return ret

    data = sc.textFile("/home/ubuntu/etl-scripts/parameters.csv")
    trainingSet = data.map(parsePoint)
    # Build the model
    model = LogisticRegressionWithLBFGS.train(trainingSet)

    #Evaluating the model on training data
    labelsAndPreds = trainingSet.map(mapper)
    # trainErr = labelsAndPreds.filter(lambda (v, p): v != p).count() / float(parsedData.count())
    # print("Training Error = " + str(trainErr))

    # # Save and load model
    # model.save(sc, "target/tmp/pythonLogisticRegressionWithLBFGSModel")
    # sameModel = LogisticRegressionModel.load(sc,
    #                                          "target/tmp/pythonLogisticRegressionWithLBFGSModel")
    # $example off$

我正在加载的文件(parameters.csv)是包含我在上面发布的培训数据的文件。现在,无论参数是什么,mapper函数中的print语句总是打印1。这意味着它总是预测积极的。我不知道我错过了什么?是什么原因导致当将模型应用到训练集本身时,它的预测完全错误?
有人能帮我吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题