真实世界场景:选择哪种机器学习算法来选择最佳归因



我是一名.NET开发人员,在我的公司中,我们开发了一个引擎,根据简单的规则(取货地址、送货地址、司机地址、司机车辆特征(最大重量、长度(、旅行距离、运输包裹类型等(,将任务(将包裹从a运输到B(归因于最匹配的司机。该引擎尽力为用户提供最匹配的3名驾驶员的运输任务。

我们正试图通过机器学习来解决这种情况(我们的数据库中有100000多个任务(。我们想回答以下问题:-谁是此次任务的最佳匹配驾驶员?-XXX驾驶员此次任务的匹配分数是多少?

顺便说一句,我们的驱动程序库正在不断发展(随着时间的推移,一些驱动程序被删除,而另一些驱动程序则被添加到我们的系统中(。

我正在发现ML并学习基本的ML算法,但我找不到可以回答这个问题的算法。

我想使用新的(仍在预览中(Microsoft.NET开发人员框架(ML.NET(,或者Azure Machine Learning Studio或Azure Machine LearningService 进行开发

我们的数据看起来像(简化(:

驱动程序:名称城市车辆最大重量车辆长度。。。街道名称,邮编,国家,纬度,经度。。。Pierre Paris 19000Kg 12m弗朗索瓦波尔多26000Kg 12mGuillaume Montpellier 44000Kg 16.50m雅克·蒙彼利埃32000Kg 16.50mJean Paris 12000公斤8米Bernard Montauban 26000Kg 12m运输任务历史:PickupCity DeliveryCity服务总重总长度驾驶员分配(到PickupCity的距离(巴黎马赛S1 2000Kg 5米Jean(5公里(巴黎里昂S2 15000公斤10米皮埃尔(8公里(图卢兹里昂S3 5000公斤5米伯纳德(53公里(。。。(…(里昂-巴黎S2 3000公斤3米

或者,如果第一个问题不能很容易地解决,那么回答这个问题会很有用:鉴于以下历史,我可以选择哪位司机从里昂前往巴黎进行S2服务?

运输任务历史:PickupCity DeliveryCity服务驱动因素分配巴黎马赛S1 Jean巴黎里昂S2皮埃尔图卢兹里昂S3 Bernard。。。里昂-巴黎S2

我会尝试预测列

DriverAssignment

你能帮我找到这项任务的算法吗?也许我该如何在ML.NET或Azure ML Studio/Service中实现它?

谢谢!

如果要使用ML,这可以被公式化为一个推荐系统问题:给定一个任务之前匹配的驱动程序的顺序,那么下次该任务再次出现时应该推荐哪些驱动程序?基于内容和协作过滤推荐系统都可以使用。如果任务是全新的(没有匹配历史记录(,则仍然可以使用协作过滤。

然而,OR可能更适合这个问题。ML的基本假设是:过去的操作实践(您共享的数据(是最优的;这是ML将学习的良好实践,并将在随后用于给出未来的建议。除非使用强化学习,否则在这种情况下,你需要想出一些累积奖励的概念。

最新更新