sklearn 增量学习
如果想用sklearn进行在线学习如何操作呢?
https://scikit-learn.org/stable/modules/computing.html?highlight=incremental%20learning
Strategies to scale computationally: bigger data
a way to stream instances
a way to extract features from instances
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 增量学习相关推荐
- 使用sklearn进行增量学习
问题 实际处理和解决机器学习问题过程中,我们会遇到一些"大数据"问题,比如有上百万条数据,上千上万维特征,此时数据存储已经达到10G这种级别.这种情况下,如果还是直接使用传统的方式 ...
- LESSON 9.5 随机森林在巨量数据上的增量学习
五 随机森林在巨量数据上的增量学习 集成学习是工业领域中应用最广泛的机器学习算法.实际工业环境下的数据量往往十分巨大,一个训练好的集成算法的复杂程度与训练数据量高度相关,因此企业在应用机器学习时通常会 ...
- hands-on Machine Learning with sklearn
一.机器学习概览 三.分类 1.二分类器 2.多分类器 3.误差分析 四.训练模型 1.线性回归和逻辑回归 2.逻辑回归 3.softmax回归 练习题4 五.SVM 练习题5 六.决策树 练习题6 ...
- 机器学习---sklearn
1.Sklearn简介 sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具,Sklea是处理机器学习 (有监督学习和无监督学习) 的包.它建立在 NumPy, ...
- Sklearn机器学习中的主要算法原理以及实现
资源下载地址:https://download.csdn.net/download/sheziqiong/85894781 资源下载地址:https://download.csdn.net/downl ...
- 决策树留一法python代码_机器学习模型2 决策树-基于Python sklearn的实现
1.模型原理 (一)原理 1.原理:引入信息熵(不确定程度)的概念,通过计算各属性下的信息增益程度(信息增益越大,则意味着使用该属性来进行划分所获得的"纯度提升"越大),增益程度最 ...
- sklearn中的学习曲线learning_curve函数
learning_curve学习曲线 运行原理 学习曲线. 确定交叉验证的针对不同训练集大小的训练和测试分数. 交叉验证生成器将整个数据集拆分为训练和测试数据中的k次. 具有不同大小的训练集的子集将用 ...
- Lesson 9.4 随机森林在巨量数据上的增量学习和 Bagging 方法 6 大面试热点问题
文章目录 一.随机森林在巨量数据上的增量学习 1. 普通学习 vs 增量学习 1.1 普通学习 2. 增量学习 2. 增量学习在 Kaggle 数据上的应用 2.1 实际应用 二.Bagging 方法 ...
- sklearn中一些参数
转载:http://www.cnblogs.com/chenyaling/p/7826229.html 1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.l ...
最新文章
- source, ~/.bashrc, ~/.bash_profile详解
- 负载均衡器上实现客户端IP限制
- SpringBoot 报错Field XXX required a bean of type XXX that could not be found.
- 编辑器Sublime Text 2
- 免除抠图困扰,专供PNG图片素材网站你知道么?
- 【hive】Hive的安装过程与配置的详解
- Spring MVC框架-持久层用hibernate自动化(1)
- VC 中一些控件的使用方法(TabControl, 工具栏)
- SAP 用户出口合集
- android power 按键,android 添加按(power键)电源键结束通话(挂断电话)
- 使用caffe对mnist进行训练遇到的点点滴滴
- 小私企老板的痛病通病
- Linux服务器Redis 6.x安装、配置
- 北京信息科技大学计算机研究生在哪个校区,北京信息科技大学有几个校区,哪个校区最好及各校区介绍...
- 汉字点阵原理字模读取与显示
- 苹果首破例,允许在韩使用替代支付系统
- GDI函数 坐标系综述
- c语言中鱼贯指针的编程题,泡面吧 IT宅男如何打造编程教学网站
- opencv——均值/中值滤波器去噪
- GitHub 3.1K,业界首个流式语音合成系统开源!