- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试了解如何 sklearn
's MLP Classifier检索其 predict_proba
函数的结果。
该网站仅列出:
Probability estimates
还有很多其他的,例如 logistic regression ,有更详细的答案:概率估计。
返回的所有类别的估计值按类别标签排序。
For a multi_class problem, if multi_class is set to be “multinomial” the softmax function is used to find the predicted probability of each class. Else use a one-vs-rest approach, i.e calculate the probability of each class assuming it to be positive using the logistic function. and normalize these values across all the classes.
其他模型类型也有更多细节。以 support vector machine classifier 为例
还有this very nice Stack Overflow post这对其进行了深入解释。
Compute probabilities of possible outcomes for samples in X.
The model need to have probability information computed at training time: fit with attribute probability set to True.
其他例子
Predict class probabilities for X.
The predicted class probabilities of an input sample are computed as the mean predicted class probabilities of the trees in the forest. The class probability of a single tree is the fraction of samples of the same class in a leaf.
我希望了解与上述帖子相同的内容,但对于 MLPClassifier
。 MLPClassifier
在内部是如何工作的?
最佳答案
在 source code 中寻找,我发现:
def _initialize(self, y, layer_units):
# set all attributes, allocate weights etc for first call
# Initialize parameters
self.n_iter_ = 0
self.t_ = 0
self.n_outputs_ = y.shape[1]
# Compute the number of layers
self.n_layers_ = len(layer_units)
# Output for regression
if not is_classifier(self):
self.out_activation_ = 'identity'
# Output for multi class
elif self._label_binarizer.y_type_ == 'multiclass':
self.out_activation_ = 'softmax'
# Output for binary class and multi-label
else:
self.out_activation_ = 'logistic'
似乎 MLP 分类器使用 logistic 函数进行二元分类,使用 softmax 函数进行多标签分类以构建输出层。这表明网络的输出是一个概率向量,网络基于该向量推导出预测。
如果我查看 predict_proba
方法:
def predict_proba(self, X):
"""Probability estimates.
Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)
The input data.
Returns
-------
y_prob : ndarray of shape (n_samples, n_classes)
The predicted probability of the sample for each class in the
model, where classes are ordered as they are in `self.classes_`.
"""
check_is_fitted(self)
y_pred = self._predict(X)
if self.n_outputs_ == 1:
y_pred = y_pred.ravel()
if y_pred.ndim == 1:
return np.vstack([1 - y_pred, y_pred]).T
else:
return y_pred
这证实了 softmax 或 logistic 作为输出层激活函数的作用,以获得概率向量。
希望对您有所帮助。
关于python - sklearn 的 MLP predict_proba 函数在内部是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61388023/
假设我的标记数据有两个类 1 和 0。当我在测试集上运行 Predict_proba 时,它返回一个包含两列的数组。哪一列对应哪个类? 最佳答案 第 0 列对应于类 0,第 1 列对应于类 1。 关于
只是一个简单的问题,如果我想将对象分类为 0 或 1,但我希望模型返回一个“可能性”概率,例如,如果一个对象是 0.7,这意味着它有 0.7 的机会进入第 1 类,我是做回归还是坚持使用分类器并使用
我想通过交叉验证从逻辑回归模型预测概率。我知道您可以获得交叉验证分数,但是否可以从 predict_proba 返回值而不是分数? # imports from sklearn.linear_mode
我在我的数据集上训练了一个 RandomForestClassifier,可以从文本正文中预测 8 个不同的主题。对于给定示例,数据集如下所示 X_train = [[0,0,0,0,0,1,0,0,
我正在使用 Python 的 sklearn 对文本进行分类。 我调用函数 predict_proba,它看起来像这样: [[ 6.74918834e-53 1.59981248e-51 2
我正在使用 scikit-learn 通过逻辑回归来实现分类。使用 predict() 函数预测类标签,而使用 predict_proba() 函数打印预测概率。 下面粘贴了代码片段: # Parti
我正在处理一个多类、高度不平衡的分类问题。我使用随机森林作为基础分类器。 我必须在考虑多个标准(指标:精度、召回 conf_matrix、roc_auc)的情况下给出模型性能报告。 模型火车: rf
我使用 Scikit-learn 和 XGBoost 在同一数据上训练了 2 个梯度提升模型。 Scikit-learn 模型 GradientBoostingClassifier( n_es
scikit-learn 的 DecisionTreeClassifier 支持通过 predict_proba() 函数预测每个类的概率。 DecisionTreeRegressor 中不存在这一点
所以我使用 sci-kit learns RandomForestClassifier 将天文来源的数据分为三类。为了让我的问题更简单,我在测试集中仅使用了两个来源,并获得了 predict_prob
我正在使用 sklearn 库来训练和测试我的数据。 targetDataCsv = pd.read_csv("target.csv","rt")) testNormalizedCsv = csv.
我试图通过调用 Keras 模型的 predict_proba() 生成类(class)分数,但似乎没有这个函数!它是否因为我在谷歌中看到一些例子而被弃用?我正在使用 Keras 2.2.2。 最佳答
运行Python 3.7.3 我制作了一个简单的 GMM 并将其拟合到一些数据。使用predict_proba方法,返回的是1和0,而不是属于每个高斯的输入的概率。 我最初在更大的数据集上尝试过这个,
在docs , predict_proba(self, x, batch_size=32, verbose=1) 是 Generates class probability predictions f
我正在尝试使用LinearSVC 分类器 更新:添加了导入 import nltk from nltk.tokenize import word_tokenize from nltk.classify
这是来自 How to know what classes are represented in return array from predict_proba in Scikit-learn 的后续
我有许多类和对应的特征向量,当我运行 predict_proba() 时,我会得到这个: classes = ['one','two','three','one','three'] feature =
我正在尝试了解如何 sklearn's MLP Classifier检索其 predict_proba 函数的结果。 该网站仅列出: Probability estimates 还有很多其他的,例如
predict_proba 返回神经网络中的误差 我在这个链接上看到了例子 https://machinelearningmastery.com/how-to-make-classification-
我训练了一个简单的随机森林分类器,然后当我使用相同的测试输入测试预测时: rf_clf.predict([[50,0,500,0,20,0,250000,1.5,110,0,0,2]]) rf_clf
我是一名优秀的程序员,十分优秀!