python中的增量机器学习

< BR>

creme是用于在线机器学习的库,也称为cremental learning。在线学习是一种机器学习机制,模型一次只学习一个观察结果。这与一次处理所有数据的批量学习形成对比。当数据太大而无法放入内存时,或者当您希望以流式方式处理数据时,增量学习是可取的。除了许多在线机器学习算法之外,creme还提供了从数据流中提取特征的实用程序。该api的灵感来自于scikit-learn,这意味着熟悉它的用户应该感到舒适。

有用链接

安装

:point_up:creme用于Python3.6及更高版本。

creme只需使用pip安装即可。

pip install creme

您还可以安装最新的开发版本,如下所示:

pip install git+https://github.com/creme-ml/creme --upgrade

至于依赖项,creme主要依赖于python的标准库。有时它依靠numpyscipyscikit learn来避免重新发明轮子。

快速示例

在下面的示例中,我们将使用线性回归来预测图卢兹市自行车站中可用自行车的数量。

我们将使用可用的数值特性,并计算目标的运行平均值。在输入到线性回归之前,将使用StandardScaler缩放功能。注意,这些步骤中的每一个都以流方式工作,包括特征提取。我们将通过要求它提前30分钟预测并延迟真实答案来评估该模型,从而确保我们正在模拟生产场景。最后,我们将每隔20000次预测打印当前分数。

>>>importdatetimeasdt>>>fromcremeimportcompose>>>fromcremeimportdatasets>>>fromcremeimportfeature_extraction>>>fromcremeimportlinear_model>>>fromcremeimportmetrics>>>fromcremeimportmodel_selection>>>fromcremeimportpreprocessing>>>fromcremeimportstats>>>X_y=datasets.fetch_bikes()>>>defadd_hour(x):...x['hour']=x['moment'].hour...returnx>>>model=compose.Whitelister('clouds','humidity','pressure','temperature','wind')>>>model+=(...add_hour|...feature_extraction.TargetAgg(by=['station','hour'],how=stats.Mean())...)>>>model+=feature_extraction.TargetAgg(by='station',how=stats.EWMean(0.5))>>>model|=preprocessing.StandardScaler()>>>model|=linear_model.LinearRegression()>>>model_selection.online_qa_score(...X_y=X_y,...model=model,...metric=metrics.MAE(),...on='moment',...lag=dt.timedelta(minutes=30),...print_every=20_000...)[20,000]MAE:13.743465[40,000]MAE:7.990616[60,000]MAE:6.101015[80,000]MAE:5.159895[100,000]MAE:4.593369[120,000]MAE:4.19251[140,000]MAE:3.904753[160,000]MAE:3.725466[180,000]MAE:3.568893MAE:3.555296

我们还可以绘制模型来了解数据是如何流动的。

>>>dot=model.draw()
< div >自行车管道

通过只使用几行代码,我们构建了一个健壮的模型,并通过模拟生产场景对其进行了评估。您可以在这里找到本示例的更详细版本。creme是一个有很多可供选择的框架,因此,如果您想了解更多信息,请参阅文档

与其他解决方案的比较

如果您觉得其他解决方案值得一提,请随时提出问题。

贡献

与机器学习的许多子领域一样,在线学习远不是一门精确的科学,因此还有很多事情要做。请随意以您喜欢的任何方式作出贡献,我们总是乐于接受新的想法和方法。如果您想参与代码库的创建,请查看contribution.md文件。还可以查看问题跟踪器,看看是否有什么能吸引您的注意。

最后但并非最不重要的是,我们非常欢迎您与我们分享您如何使用creme或一般在线学习!我们相信在线学习可以解决实践中的许多难点,我们愿意分享经验。

本项目遵循所有贡献者规范。欢迎任何形式的贡献!

<表>max halford
max-halford

adilzouitine
adilzouitine

raphael sourty
raphael sourty

杰弗里·博尔米尔
geoffrey bolmier

文森特d温特丹
Vincent D Wartemdam

vaysserobin
vaysserobin

lygon bowen west
lygon bowen west

florent le gac
florent le gac

adrian rosebrock
adrian rosebrock

<表>

许可证

请参见许可文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用工厂设计模式   解析服务器安全性的java最佳实践   java如何解决由于某种原因导致的执行失败?   关于Servlet的java   如何在java中生成一个大的(30MB+)xml文件?   匿名类重写与传递接口,用于在Java中设计回调   java jar从运行时开始。getRuntime()。exec()比从命令行运行的时间长   java Ant脚本排除文件夹(某些文件除外)   java在Windows 10计算机上运行时遇到Maven错误   java Hibernate在同一个表中级联   java PayPal API设置返回URL   java如何在选项卡的右侧显示关闭按钮   当按下Jmenu按钮时,使用java操作侦听器退出程序