如果想用sklearn进行在线学习如何操作呢?

https://scikit-learn.org/stable/modules/computing.html?highlight=incremental%20learning

Strategies to scale computationally: bigger data

  1. a way to stream instances

  2. a way to extract features from instances

  3. an incremental algorithm

1.把数据变成流式(a way to stream instances):参考“使用sklearn进行增量学习”https://blog.csdn.net/whiterbear/article/details/53120004

参考:通过 sklearn 进行大规模机器学习 http://wulc.me/2017/08/08/%E9%80%9A%E8%BF%87%20sklearn%20%E8%BF%9B%E8%A1%8C%E5%A4%A7%E8%A7%84%E6%A8%A1%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/

参考: https://scikit-learn.org/stable/auto_examples/applications/plot_out_of_core_classification.html

import numpy as np
def iter_minibatches(data_stream, minibatch_size=1000):'''迭代器给定文件流(比如一个大文件),每次输出minibatch_size行,默认选择1k行将输出转化成numpy输出,返回X, y'''X = []y = []cur_line_num = 0f = open(data_stream, 'rb')for line in f:y.append(float(line[0]))X.append(line[1:])  # 这里要将数据转化成float类型cur_line_num += 1if cur_line_num >= minibatch_size:X, y = np.array(X), np.array(y)  # 将数据转成numpy的array类型并返回yield X, yX, y = [], []cur_line_num = 0f.close()filename = "t_new"minibatch_test_iterators = iter_minibatches(filename, minibatch_size=10)
X_test, y_test = next(minibatch_test_iterators)  # 得到第一份数据for x, y in minibatch_test_iterators:print(x,y)

2.特征提取(a way to extract features from instances)

1.离线特征提取:使用离线方法,提取特征

2.在线特征监控:随时监控特征,移除无效特征;增加新出特征

3增量学习算法(an incremental algorithm):

1.由于sklearn没有实现,需要使用python实现FTRL 或者FTRL_FM可以在线学习算法,深度学习框架tensorflow和pytorch内部实现了FTRL参数更新。

2.使用sklearn自带的学习算法,sklearn中实现partial_fit 方法的模型都可以进行增量学习(all estimators implementing the partial_fit API are candidates)

  • Classification

    • sklearn.naive_bayes.MultinomialNB

    • sklearn.naive_bayes.BernoulliNB

    • sklearn.linear_model.Perceptron

    • sklearn.linear_model.SGDClassifier

    • sklearn.linear_model.PassiveAggressiveClassifier

    • sklearn.neural_network.MLPClassifier

  • Regression

    • sklearn.linear_model.SGDRegressor

    • sklearn.linear_model.PassiveAggressiveRegressor

    • sklearn.neural_network.MLPRegressor

  • Clustering

    • sklearn.cluster.MiniBatchKMeans

    • sklearn.cluster.Birch

  • Decomposition / feature Extraction

    • sklearn.decomposition.MiniBatchDictionaryLearning

    • sklearn.decomposition.IncrementalPCA

    • sklearn.decomposition.LatentDirichletAllocation

  • Preprocessing

    • sklearn.preprocessing.StandardScaler

    • sklearn.preprocessing.MinMaxScaler

    • sklearn.preprocessing.MaxAbsScaler

sklearn 增量学习相关推荐

  1. 使用sklearn进行增量学习

    问题 实际处理和解决机器学习问题过程中,我们会遇到一些"大数据"问题,比如有上百万条数据,上千上万维特征,此时数据存储已经达到10G这种级别.这种情况下,如果还是直接使用传统的方式 ...

  2. LESSON 9.5 随机森林在巨量数据上的增量学习

    五 随机森林在巨量数据上的增量学习 集成学习是工业领域中应用最广泛的机器学习算法.实际工业环境下的数据量往往十分巨大,一个训练好的集成算法的复杂程度与训练数据量高度相关,因此企业在应用机器学习时通常会 ...

  3. hands-on Machine Learning with sklearn

    一.机器学习概览 三.分类 1.二分类器 2.多分类器 3.误差分析 四.训练模型 1.线性回归和逻辑回归 2.逻辑回归 3.softmax回归 练习题4 五.SVM 练习题5 六.决策树 练习题6 ...

  4. 机器学习---sklearn

    1.Sklearn简介 sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具,Sklea是处理机器学习 (有监督学习和无监督学习) 的包.它建立在 NumPy, ...

  5. Sklearn机器学习中的主要算法原理以及实现

    资源下载地址:https://download.csdn.net/download/sheziqiong/85894781 资源下载地址:https://download.csdn.net/downl ...

  6. 决策树留一法python代码_机器学习模型2 决策树-基于Python sklearn的实现

    1.模型原理 (一)原理 1.原理:引入信息熵(不确定程度)的概念,通过计算各属性下的信息增益程度(信息增益越大,则意味着使用该属性来进行划分所获得的"纯度提升"越大),增益程度最 ...

  7. sklearn中的学习曲线learning_curve函数

    learning_curve学习曲线 运行原理 学习曲线. 确定交叉验证的针对不同训练集大小的训练和测试分数. 交叉验证生成器将整个数据集拆分为训练和测试数据中的k次. 具有不同大小的训练集的子集将用 ...

  8. Lesson 9.4 随机森林在巨量数据上的增量学习和 Bagging 方法 6 大面试热点问题

    文章目录 一.随机森林在巨量数据上的增量学习 1. 普通学习 vs 增量学习 1.1 普通学习 2. 增量学习 2. 增量学习在 Kaggle 数据上的应用 2.1 实际应用 二.Bagging 方法 ...

  9. sklearn中一些参数

    转载:http://www.cnblogs.com/chenyaling/p/7826229.html 1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法  class sklearn.l ...

最新文章

  1. source, ~/.bashrc, ~/.bash_profile详解
  2. 负载均衡器上实现客户端IP限制
  3. SpringBoot 报错Field XXX required a bean of type XXX that could not be found.
  4. 编辑器Sublime Text 2
  5. 免除抠图困扰,专供PNG图片素材网站你知道么?
  6. 【hive】Hive的安装过程与配置的详解
  7. Spring MVC框架-持久层用hibernate自动化(1)
  8. VC 中一些控件的使用方法(TabControl, 工具栏)
  9. SAP 用户出口合集
  10. android power 按键,android 添加按(power键)电源键结束通话(挂断电话)
  11. 使用caffe对mnist进行训练遇到的点点滴滴
  12. 小私企老板的痛病通病
  13. Linux服务器Redis 6.x安装、配置
  14. 北京信息科技大学计算机研究生在哪个校区,北京信息科技大学有几个校区,哪个校区最好及各校区介绍...
  15. 汉字点阵原理字模读取与显示
  16. 苹果首破例,允许在韩使用替代支付系统
  17. GDI函数 坐标系综述
  18. c语言中鱼贯指针的编程题,泡面吧 IT宅男如何打造编程教学网站
  19. opencv——均值/中值滤波器去噪
  20. GitHub 3.1K,业界首个流式语音合成系统开源!

热门文章

  1. 人工智能数学基础---不定积分3:分部积分法
  2. 体验godaddy域名转入,添加A记录,及使用dnspod的NS
  3. linux命令查询端口号,linux查询端口号(linux查看端口的命令)
  4. AccessibilityService的学习,抢红包实现
  5. 【触动精灵】开发手册学习整理(一)
  6. 三节点大数据环境安装详细教程
  7. 一、<a>标签如何实现下载
  8. Linux系统编译安装GDAL库
  9. 让理科生沉默,让文科生流泪的综合题详解
  10. 测试治具、夹具、托盘