首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有非二进制标签的预测模型

具有非二进制标签的预测模型
EN

Data Science用户
提问于 2016-09-28 21:29:33
回答 2查看 1.5K关注 0票数 -2

我正在处理政府基础设施公开招标数据,并希望建立一个预测模型。我想要训练一个模型来预测一家公司是否会参与公开招标。我有公司列表中与它们相关的几个属性:公司位置,avg。历史投标金额、核心业务等,以及他们过去参与的投标。

现在的问题是,即使我希望我的输出标签是二进制的(1=will参与式的,0=will不参与的),每个投标也有它的相关属性,比如招标的政府部门(医疗、公路等),投标的金额等等。

我希望能够预测一家拥有属性A,B,C的公司是否会参与标书,其属性为X,Y,Z。你将如何建立这个模型,以及你认为哪种算法是最好的?

EN

回答 2

Data Science用户

发布于 2016-09-29 00:13:53

生成输入数据的第一步。我建议使用蟒蛇熊猫库,然后你需要标记你的数据。这意味着您需要为您的数据分配类(无论公司是否参与)。

接下来,我建议使用一些滑雪板模型。作为基线,您可以尝试kNN和梯度增强分类器。

这种模式需要有人(你的上司或首相)理解吗?在这种情况下,我建议使用DecisionTrees (易于解释)。

我不知道你的问题有多难。您没有向我们展示按类型分组的输入特性的分布。

票数 0
EN

Data Science用户

发布于 2017-01-27 13:44:06

这很旧,但我会尽力解释的。

如果你想尝试有监督的学习,你需要有标签的数据。用键值对组装一个列表行,表示与您的问题相关的“事件”:

代码语言:javascript
复制
row {
        company:<some name>, 
        company_attribute_A:<some value>, 
        company_attribute_B:<some value>, 
        company_attribute_C:<some value>, ...,
        tender_attribute_A:<some value>, 
        tender_attribute_B:<some value>, 
        tender_attribute_C:<some value>, ...,
        company_participation:<0|1>
    }

你想知道X公司是否会以自己的属性参与投标,所以培训数据是用来对某一公司的投标行为进行统计分析的。

历史可能只包含“积极”的价值观:确实发生的事件。一种想法可能是人为地添加一些确实存在但公司没有参与的事件,以便将“负面”价值观也包括在内。对于Y公司来说,你可以这样做:

  1. 以X公司发生的历史事件为例
  2. 检查Y公司是否也参加了这次活动
  3. 如果是这样的话:忽略这个案例(这对Y公司也是积极的)。如果不是:将这一行添加到数据列表中,但将公司Y的属性添加到其中,并将类值(二进制参与值)更改为0。

当添加负数据时,尝试模拟实际分布。从历史上讲,公司参与的可能性有多大? 50/50? 10/90?

当您拥有这个数据集时,可以将其分为培训数据(80%?)、开发数据(10%?)。以及测试数据(10%?)

  1. 根据训练数据训练你的模型。
  2. 将您的测试数据移到您无法触摸的地方。
  3. 通过在开发数据上测试模型来实验和改进您的模型。
  4. 最后,当您对结果满意或必须发布模型的结果时,请在保留的测试数据集上对其进行测试。

老实说,模型和算法的选择是次要的。问题的最重要方面是您选择收集的属性(特性)集。这是数据建模/机器学习中最人性化的部分,因为这是您决定要教机器什么的地方。如何教它(您将使用什么样的算法或模型)也很重要,但不像内容那么重要。尝试使用简单的模型,如kNN,贝叶斯口味或Logistic回归。这使您能够很好地了解您的属性选择得有多好。

在您的情况下,我将研究输出概率的模型。你提到了SciKit。查看本综述,看看哪些分类器支持概率分数。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/14264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档