训练数据有分类标签但任务要求是概率时该怎么办?

在一个机器学习项目中,我有一些关于公司客户的训练数据,这些数据包括20个输入特征和一个代表客户对市场营销活动反馈的标签,形式为是/否的答案:

c1 => {f1_1,f2_1,...,f20_1} {Yes}c2 => {f1_2,f2_2,...,f20_2} {No}

要求是对每个客户的接受概率进行预测。

因此,训练数据具有二元分类标签,而要求的是回归预测

我能够提取出每个特征与分类标签之间的相关性强度。

基于特征与分类标签的相关性强度为特征应用所谓的重要性权重,并将这些权重应用于特征值以生成类似于评分率的东西作为每个客户的回归标签,这样做有意义吗?

c1_score = w1(f1_1) + w2(f2_1) + ... + w20(f20_1)c2_score = w1(f1_2) + w2(f2_2) + ... + w20(f20_2)

如果不行,有其他建议吗?


回答:

要求是对每个客户的’接受概率’进行预测。

因此,训练数据具有二元分类标签,而要求的是回归预测。

绝对可以。

你的任务绝对是分类任务。

大多数分类器实际上不会输出“硬”标签0/1作为输出;它们默认生成的是概率,这些概率随后通过阈值操作转换为硬标签(例如,如果概率p > 0.5,则声明1,否则声明0)。

现在,有时候出于某种原因,业务问题恰好需要这些概率而不是硬标签(你的情况就是这样,Kaggle上的大多数分类竞赛也是如此);这当然不会改变任何方法论(它仍然是分类问题),除了去掉对最终阈值操作的要求——无论如何,这不是问题统计部分的一部分,正如这个Cross Validated讨论的答案正确指出的那样:

当你为新样本的每个类输出一个概率时,你的练习的统计部分就结束了。选择一个阈值来将新观察分类为1与0不再是统计的一部分。这是决策部分的一部分。

所以,你只需要使用你常用的分类算法,无论是逻辑回归,随机森林等,然后只使用相应的方法来获取概率而不是类标签(例如,scikit-learn中逻辑回归的predict_proba方法,以及其他平台/算法的类似方法)。

你可能还会发现我以下回答(以及其中的链接)有用:

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注