学习算法的yScore

问题描述 投票:0回答:1

我对ML python环境非常陌生,我需要绘制精度/调用图,如这篇文章所述:[https://scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html][1]您需要计算y_score:

    # Create a simple classifier
classifier = svm.LinearSVC(random_state=random_state)
classifier.fit(X_train, y_train)
y_score = classifier.decision_function(X_test)

所以问题是:如何使用多项式NaiveBayes或LearningTree计算分数?在我的代码中,我有:

 print("MultinomialNB - countVectorizer")

    xTrain, xTest, yTrain, yTest=countVectorizer(db)

    classifier = MultinomialNB()
    model = classifier.fit(xTrain, yTrain)
    yPred = model.predict(xTest)

    print("confusion Matrix of MNB/ cVectorizer:\n")
    print(confusion_matrix(yTest, yPred))
    print("\n")
    print("classificationReport Matrix of MNB/ cVectorizer:\n")
    print(classification_report(yTest, yPred))

    elapsed_time = time.time() - start_time
    print("elapsed Time: %.3fs" %elapsed_time) 

db包含我的数据集,该数据集已在训练集和测试集之间划分。有什么建议吗?

python machine-learning scikit-learn naivebayes
1个回答
0
投票

他们所谓的y_score只是ML算法输出的预测概率。

在多项式nb和决策树中(我想这就是LearningTree的意思吗?),您可以使用.predict_proba方法执行此操作:

    classifier = MultinomialNB()
    model = classifier.fit(xTrain, yTrain)
    yPred = model.predict_proba(xTest)
© www.soinside.com 2019 - 2024. All rights reserved.