你知道我可以在 Excel 中使用的任何机器学习插件吗?例如,我希望能够选择一系列数据并将其用于训练目的,然后使用另一张表来获取不同学习算法的结果。
Excel 机器学习工具包
据我所知,目前没有多少项目和产品可以让您在 Excel 中执行严肃的机器学习 (ML)工作。
然而,由于微软积极推广其 ML 云平台Azure ML(以及ML Studio),这种情况似乎正在迅速改变。微软最近收购了专注于 R 的公司 Revolution Analytics(在我看来,这在很大程度上更像是收购)是该公司积极的数据科学市场战略的一个例子。
关于Excel 的 ML 工具包,作为确认我们应该期望大多数支持 Excel 的 ML 项目和产品都以Azure ML 为中心,请考虑以下两个项目(后者是开源的):
- Excel DataScope(微软研究院):https ://www.microsoft.com/en-us/research/video/excel-datascope-overview/
- Azure ML Excel 加载项(似乎是 Microsoft 赞助的):https ://azuremlexcel.codeplex.com
(大多数)机器学习算法本质上是优化问题,您可以在某些约束下最小化/最大化目标函数。Excel 带有 Solver 插件,对于轻量级问题非常方便,因此您完全可以在 Excel 中构建机器学习模型!(我自己做过)
如果您的数据量相当小(例如 <10k 行且列不多),实际上在 Excel 中构建某些 ML 模型非常快速且容易。您只需要学习如何使用 Excel Solver 以及用于矢量化计算的内置矩阵函数。
例如,神经网络和逻辑回归由于其目标函数的简单性而特别容易构建。如果您真的想尝试,可以参考以下链接: http ://www.xlpert.com/ebook/Build_Neural_Network_With_MS_Excel_sample.pdf
现在,Excel 确实有很大的局限性。存在数值稳定性问题,编写循环(没有 VBA)很棘手,在 Excel 中编写冗长的函数很痛苦,而且没有结构的概念,所以我不会尝试构建像随机森林这样的东西。话虽如此,您仍然可以使用 Excel 实现大量的算法来获得乐趣。
当然,对于认真的分析,我仍然建议您使用适当的工具。
首先,让我告诉您,Excel 不应该用于机器学习或任何复杂到您无法在纸上进行操作的数据分析。为什么?这是一个资源列表,可告诉您原因:
现在,如果你真的想在不导出数据的情况下进行大量计算,我建议使用xlwings。基本上,这允许 Excel 和 Python 之间的双向通信。观看主页中的视频以进行快速介绍。通过这种方式,您可以使用 numpy、pandas 和 scikit-learn(或您可能喜欢的其他机器学习库)而无需先导出数据。
没有人在 Excel 中进行认真的机器学习;那不是它的用途。幸运的是,您可以直接将 Excel 文件导入更好的平台,例如 python。特别是,有一个很棒的包叫做pandas,它让工作变得非常愉快。这是一个演示。