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

时间:2018-11-12 21:51:23

标签: machine-learning artificial-intelligence azure-machine-learning-studio ml.net

我是.NET开发人员,在我公司中,我们开发了一种引擎,该引擎根据简单的规则(提取地址,交付地址,驱动程序地址,驱动程序的地址)将任务(从A到B的那些程序包传输)分配给最匹配的驱动程序车辆特性(最大重量,长度),行进距离,要运输的包裹类型等)。 该引擎将尽力为用户提供3个最匹配的驾驶员运输任务。

我们正在尝试通过机器学习解决这种情况(数据库中有100000多个任务)。 我们要回答以下问题: -谁是此任务的最佳匹配驱动程序? -此任务的XXX驱动程序的匹配分数是多少?

请注意,随着时间的流逝,我们的驱动程序池也在不断发展(某些驱动程序已被删除,而另一些驱动程序已添加到我们的系统中)。

我正在发现机器学习并学习基本的机器学习算法,但是找不到能回答这个问题的算法。

我想使用新的(仍处于预览状态)Microsoft .NET开发人员(ML.NET)或Azure Machine Learning Studio或Azure Machine Learning Service开发

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

Drivers :

Name        City            VehicleMaxWeight    VehicleLength ... StreetName, ZipCode, Country, Latitude, Longitude ... 
Pierre      Paris           19000Kg             12m
Francois    Bordeaux        26000Kg             12m
Guillaume   Montpellier     44000Kg             16.50m
Jacques     Montpellier     32000Kg             16.50m
Jean        Paris           12000Kg             8m
Bernard     Montauban       26000Kg             12m     

Transport mission history :

PickupCity      DeliveryCity    Service         TotalWeight     TotalLenght     DriverAssignment        (Distance to PickupCity)
Paris           Marseille       S1               2000Kg         5m              Jean                    (5km)
Paris           Lyon            S2              15000Kg         10m             Pierre                  (8km)
Toulouse        Lyon            S3              5000Kg          5m              Bernard                 (53km)
...             ...             ...             ...             ...             ...                     (...)
Lyon            Paris           S2              3000Kg          3m              ????????????????

或者如果第一个问题不能轻易解决,那么回答这个问题将很有用: 鉴于以下历史记录,我可以选择从里昂去巴黎以进行S2服务?

Transport mission history :

PickupCity      DeliveryCity    Service         DriverAssignment
Paris           Marseille       S1              Jean            
Paris           Lyon            S2              Pierre          
Toulouse        Lyon            S3              Bernard         
...             ...             ...             ...             
Lyon            Paris           S2              ????????????????

我会尝试预测列

DriverAssignment

能否请您帮我找到此任务的算法?也许我如何在ML.NET或Azure ML Studio / Service中实现它?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果要使用ML,则可以将其表达为推荐系统问题:给定与任务相匹配的驾驶员顺序,那么下次该任务再次出现时应推荐哪些驾驶员?基于内容的协作过滤推荐系统均可使用。如果任务完全是新任务(没有匹配历史记录),则仍可以使用协作过滤。

但是,

OR可能更适合此问题。 ML的基本假设是:过去的操作实践(您共享的数据)是最佳的;这是机器学习将作为良好实践学习的知识,并将随后用于提出未来的建议。除非使用强化学习,否则您需要提出一些累积奖励的概念。

相关问题