gpt4 book ai didi

python - 预测模型输出百分比 'likelihood' ?

转载 作者:行者123 更新时间:2023-11-30 09:58:38 25 4
gpt4 key购买 nike

假设我想预测三年级学生大学毕业的可能性百分比 (1-100%)。我有一个包含 100 个观察值的训练数据集,所有这些观察值都包含被分类为“极有可能毕业”的学生的示例。我有另一个数据集,其中包含 500 个观察值(我们不知道是否有任何观察值已毕业)。

我的问题是:我将如何获得所有 500 名学生的概率值,该值描述了他们根据多种特征(1-5 个特征,例如成绩、住在校园或校外等)使用第一个数据集训练的模型?您建议采用什么方法?

最佳答案

我建议您使用OneClassSVM这是一种无监督的异常值检测。由于您的训练数据仅包含来自一类的样本,即“很有可能毕业”,因此训练逻辑回归或神经网络可能无法在这里工作。最好考虑一下您拥有的任何数据都不是异常值,而其他类别则不太可能成为异常值。一旦您拟合了 OneClassSVM 模型,您就可以使用decision_function获得到分离超平面的有符号距离,对于内点来说该距离为正,对于离群点来说该距离为负。然后,您可以使用 sigmoid 函数来计算概率。我在下面展示了一个示例:

from sklearn.svm import OneClassSVM
X = [[0], [0.44], [0.45], [0.46], [1]]
clf = OneClassSVM(gamma='auto').fit(X)

def sigmoid(x):
return 1/(1+np.exp(-x))

prob = clf.decision_function([[0.455]]) # Not an outlier
sigmoid(prob)
#array([0.50027839])

prob = clf.decision_function([[5]]) # An outlier
sigmoid(prob)
#array([0.11356841])

关于python - 预测模型输出百分比 'likelihood' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59997232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com