代码之家  ›  专栏  ›  技术社区  ›  Nazim Kerimbekov Gusev Slava

了解决策功能值

  •  2
  • Nazim Kerimbekov Gusev Slava  · 技术社区  · 6 年前

    我目前正处于第一次机器学习的中间阶段,到目前为止,我还不太了解从中获得的价值观的规模。 decision_function(X) (也不知道如何理解它们)。

    基于sklearn documentation 决策功能(X) 旨在:

    预测样本的置信度得分。

    但是,在运行以下脚本时:

    from sklearn.datasets import fetch_mldata
    import numpy as np
    from sklearn.linear_model import SGDClassifier
    from sklearn.model_selection import cross_val_predict
    from sklearn.metrics import confusion_matrix , precision_score, recall_score
    
    
    mnist = fetch_mldata('MNIST original')
    
    classifier = SGDClassifier(random_state = 42, max_iter = 5)
    
    
    X,y = mnist["data"], mnist["target"]
    some_digit = X[36001]
    some_digit_image = some_digit.reshape(28, 28)
    
    X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
    
    random_order = np.random.permutation(60000)
    
    X_train, y_train = X_train[random_order], y_train[random_order]
    
    y_test_5 = (y_test == 5)
    y_train_5 = (y_train == 5)
    
    
    classifier.fit(X_train, y_train_5)
    print(classifier.decision_function([X_test[1]]))
    

    它打印出来 [-289809.39489525] 对于 decision_function 此时,我不知道如何读取这些值,也不知道如何评估这些值。 (我希望看到百分比) . 如果有人能向我解释这些读数意味着什么,我将不胜感激。

    提前非常感谢。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Jan K    6 年前

    如何得到概率(百分比)?

    使用 predict_proba 方法。

    是什么 decision_function ?

    自从 SGDClassifier 是一个线性模型, 决策功能 输出到分离超平面的有符号距离。这个数字很简单< W , X >+b或转换为SciKit学习属性名 &; coef_ , X gt;+ intercept_ .