数据科学思维 :打造健康数据驱动组织的 6 条原则
我们使用了一种聚类方法:K 最近邻 (KNN) 算法。KNN 是一种简单、易于实现的监督机器学习算法。KNN 算法假设相似的事物具有很近的距离,从而在训练数据中找到最相似的数据点,并根据它们的分类进行有根据的猜测。该方法虽然易于理解和实现,但在推荐系统、语义搜索和异常检测等领域也得到了广泛的应用。 在第一步中,我们使用 KNN 来预测一个新项目的人员组成,也就是说,使用历史项目数据预测每种人员分类 / 职务的数量。我们根据不同的项目属性,如项目类型、总账款、行业、客户、收入范围等,找出与新项目相似的历史项目。我们根据业务规则和标准为每个项目属性分配了不同的权重。我们还删除了任何有负边际贡献 (利润) 的数据。对于每一种人员分类,通过计算同类历史项目对应人员分类的人员数量加权和来预测人员数量。最后将这些权值规格化,使所有权值的和为 1。在计算加权和之前,我们剔除了 10% 的过高异常值和 10% 的过低异常值。 我们要解决的第二个业务问题是,如何计算新项目的员工适合度得分,我们决定使用基于内容的自定义过滤方法:具体来说,我们实现了一个基于内容的算法来预测员工的经验与项目需求的匹配度。在基于内容的过滤系统中,通常是根据用户对条目的历史评分来计算得出用户配置文件。这些用户配置文件描述了用户的品味和偏好。为了预测员工对新项目的适合度,我们使用历史数据为每个员工创建了两个员工档案向量:一个向量基于的是一个小时数,它代表员工在不同类型项目上的经验和专业技能;另一个向量基于的是每小时贡献利润率 (CMH),它代表员工在不同类型项目上的盈利能力。新项目的员工适合度评分是通过计算这两个员工轮廓向量和代表项目重要属性的二进制向量之间的内积来计算的。 我们使用Azure 机器学习服务实现了这个机器学习步骤。使用主流的 Python SDK和用于 Azure 机器学习的Data Prep SDK,我们在 Azure 机器学习服务工作区中构建我们的机器学习模型,并对其展开训练。这个工作区是为该服务准备的顶级资源,它为我们提供了一个集中的地方来处理这个项目创建的所有工件。 为了创建一个工作区,我们确定了以下配置项: 当我们创建一个工作区时,会自动添加以下 Azure 资源: Azure Container Registry(Azure 容器注册表) Azure Storage(Azure 存储) Azure Application Insights(Azure 应用洞见) Azure Key Vault(Azure 密钥保管库) 该工作区保存了一个计算目标列表,你可以使用这些目标训练你的模型。它还保存执行训练的历史记录,包括日志、指标、输出和脚本快照。我们使用这些信息来确定哪个训练运行生成了最佳模型。 之后,我们将模型注册到工作区中,并使用注册的模型和计分脚本创建用于部署的镜像(为此用例构建端到端体系结构的相关更多细节将在下面讨论)。工作区的概念和机器学习流程如图 4 所示: 原则 3:构建端到端解决方案 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |