太骚了,用Excel玩机器学习!
↑↑↑点击上方蓝字,回复资料,10个G的惊喜
最近发现了一个好玩的Python库,它可以将训练好的机器学习模型转换为Java、C、JavaScript、Go、Ruby,VBA 本地代码,可以让连Python和机器学习一无所知的同学也能感受预测的神奇。
先看效果哈
这个小东西,感觉还能玩出别的花样,但不清楚到底有什么场景。写这篇文章的时候,我对Excel的 VBA 一无所知,百度了几个用法就开搞了。现在我也能用 VBA 写一些函数和过程了,这也许是最大的收货吧。
m2cgenm2cgen(Model 2 Code Generator)是一个轻量级代码生成器,它可以将训练好的机器学习模型转换成无需依赖库的本地代码。
m2cgen目前支持的模型还蛮多的,常用常见的都包括了:
使用方法m2cgen的安装非常方便,直接pip:
pipinstallm2cgen
使用,先用XGBClassifier训练一个模型
#importpackagesimportpandasaspdimportnumpyasnpimportosrefromrandomimportsamplefromsklearnimportdatasetsfromxgboostimportXGBClassifierfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportaccuracy_scoreimportpickleimportm2cgenasm2cseed=2020test_size=0.3X_train,X_test,y_train,y_test=train_test_split(X,Y,test_size=test_size,random_state=seed)#fitmodelontrainingdatamodel=XGBClassifier()model.fit(X_train,y_train)
将模型转为VBA
code=m2c.export_to_visual_basic(model,function_name="pred")
VBA的英文全称是Visual Basic for Applications,是一门标准的宏语言,通常使用来实现Excel中没有提供的功能、编写自定义函数、实现自动化功能等。VBA语言不能单独运行,只能被office软件(如:Word、Excel等)所调用。
生成的VBA长这样:
实话实话,我对VBA还是小白,也懒得深究,于是就把代码改成了过程,这里就不贴了,我把改好之后的代码放到了github。有VBA大神可以帮忙,欢迎提交 PR。
https://github.com/tjxj/excel2ml
想省事的同学直接去copy即可
Excel点击excel菜单中的【开发工具】(如果没有开发工具选项卡,请参考:excel开发工具选项卡在哪?原来需要自己添加),然后在代码选项卡中点击【Visual Basic】 即可,也可以直接Alt + F11 唤出:
点击插入-模块,把改好的 VBA 代码贴进去即可
保存后退出,然后回到sheet页,开发工具-插入-按钮编辑好文字后,右键指定宏,选中我们刚才保存的那个即可。然后就一切OK了。
The End
准备写本书
麻省理工公开课:微积分
如何评判一个深度学习框架?
机器学习理论基础到底有多可靠?
吴恩达最新采访:以数据为中心的AI
【机器学习基础】优化背后的数学基础
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...