寻找洞察力并应用 ML 流程
Posted
技术标签:
【中文标题】寻找洞察力并应用 ML 流程【英文标题】:Finding insight and apply ML process 【发布时间】:2020-04-08 12:48:27 【问题描述】:所以我仍然是 pandas 和 scikit-learn 的新手,并且已经完成了作业,以找到对给出的样本数据的任何见解。我得到的唯一线索是,部分见解应该与机器学习有关。
我查过数据后发现有很多不一致的地方。这是一个包含 2 列、地址和发货日期的一周发货数据。我遇到了地址列数据不一致的问题,这里是示例:
+--------------------------------+--------------+
| to_address | booking_date |
+--------------------------------+--------------+
| 52426 E. La Palma, Anaheim, CA | 11-12-17 |
| 52511 Blvd, Avn. Californi | 12-12-17 |
| | 13-12-17 |
| 600 S.***hurst UTAH | 14-12-17 |
| 190 E.Stacy Rd.,Allen,Texas | 15-12-17 |
| 1075 W. I-20, Tex | 15-12-17 |
+--------------------------------+--------------+
如您所见,地址输入有很多不一致的地方。有些地址的状态可以用逗号分隔,有些则没有。有些地址有完整的状态,有些缺少几个字符。地址列中还有空格和 \n 格式。到目前为止,我一直在清理这个地址列,方法是删除空格,从地址中删除 \n 格式,并通过用逗号分割地址列并获取最后一个索引来创建状态列(tbh,它不是很好,因为打字不一致)。
我的问题是,我在清理数据方面的工作方向是否正确?如何在这类数据中使用 seaborn 进行探索性数据分析以获得可能的洞察力? (我尝试过按预订日期使用计数图,它显示了 12 月 12 日和 15 日之间的巨大差距,这是洞察力吗?)。它真的适用于机器学习分类算法吗?
任何有用的方向都会非常棒,谢谢。
【问题讨论】:
【参考方案1】:机器学习任务不是为了提供见解。您的任务是使用机器学习提供见解,这只是一种工具。 ML 不会告诉你用哪个算法来回答你的问题,你应该想出问题然后选择哪个算法正确回答你的问题,通常有几个。
在您的情况下,您有 2 列限制了 ML 可以帮助您提供见解的功能,因为只有两个参数,并且输出清晰不是问题。例如根据各种参数的流失或选举投票。
在我看来,这些任务不需要机器学习来提供洞察力,简单的统计模型就足够了。
什么可能让你走上正轨:
-
什么时候预订最多?
目的地和预订日期之间是否存在关联?
哪个州的订单最多?
西海岸的订单比东海岸的多吗?
寒冷/炎热气候的国家是否订购更多?
由于您只有 2 列,因此您必须为您的 to_address
列创建额外的数据。比如是西海岸还是东海岸?国家是富还是穷?以此类推,您创建的额外数据点越多,您能够提供的见解就越有价值。
高级:
您可以创建目的地的交互式图表,并根据每个州每天的订单数对其进行着色。这将清楚地显示您的订单是如何处理的。
洞察力是可以回答业务问题或提出新问题的任何内容。所以说“大多数订单都在加利福尼亚”是一种洞察力,就像“大多数订单在星期一处理”一样。是很好的洞察力吗?这取决于您和企业来决定。由于缺乏更多数据,拥有您的数据我不希望有很多有价值的见解。
对于未来的参考,机器学习不应该应用在没有任何价值的地方,通常,统计数据就足够了。
编辑
你可以使用:
df['zipcode'] = df['to_address'].apply(lambda x:x.split(' ')[0])
使用邮政编码创建列。
【讨论】:
以上是关于寻找洞察力并应用 ML 流程的主要内容,如果未能解决你的问题,请参考以下文章