我试图理解分类算法是如何创建一种通用管道的,所以我刚从LinearSVC模型开始。一般来说,我在做:
model = LinearSVC(loss='squared_hinge', penalty='l2', dual=False, tol=1e-3)
model.fit(X_train, y_train)
pred_labels = model.predict(X_unlabeled)
confidence_on_pred_labels = model.decision_function(X_unlabeled)
我真的需要,作为输出,预测标签和他们的信心。但是当我试着用其他型号的时候,我可以´我找不到一个方法来获得信任。例如
model = DecisionTreeClassifier(random_state=0)
model.fit(X_train, y_train)
pred_labels = model.predict(X_unlabeled)
confidence_on_pred_labels = model.predict_proba(X_unlabeled)
在这种情况下,predict_proba为每个预测标签返回一个元组,其中包含[0,1]作为值(而不是0和1之间的置信度作为单个数字)。我的意思是,绝对所有的预测都有0或1的值,中间没有值。如果我跑了
set(model.predict_proba(X_unlabeled)[:,1]) I will get [0.0, 1.0]
这正常吗
我怎么能得到这样一个号码?或者其他哪些模型能让我得到预测的自信? 最好的
没有标签的X和没有标签的X是相同的数据吗?这可能就是为什么你的概率显示为[0.1]。如果你给它的数据,而不是你试图实际预测,但不是相同的,你应该得到不同的概率。model.predict\u probability应该可以向你展示类概率
相关问题 更多 >
编程相关推荐