机器学习在线学习算法--迭代器实现
来源:互联网 发布:域名过户流程 编辑:程序博客网 时间:2024/06/04 23:24
在在线学习时,我们不会一次性得到所有要训练的数据。数据会随时间而更新。对于这种情况,我们都是先训练已有数据,然后再训练不断得到的数据。类似的做法是,构建一个迭代器,用于每次训练一部分数据,直到所有数据都训练完。(真正的在线学习算法的数据是不会训练完的,会一直更新)
由于每次训练的数据不一样,会影响到分类器的准确度,也就是说,可能会影响到分类器的性能好坏。
import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport pandas as pdfrom sklearn import cluster, datasetsfrom sklearn import metricsimport randomnp.random.seed(0)#传输进来的data,target是np.arraydef iter_minibatches(data,target,minibatch): ''' 迭代器 给定文件流(比如一个大文件),每次输出minibatch大小的数据 将输出转化成pandas输出,返回X, y ''' X = [] y = [] cur_line_num = 0 if type(data)!=pd.core.frame.DataFrame: #将输入转换为pandas data=pd.DataFrame(data) target=pd.DataFrame(target) try: b=list(data.index) np.random.shuffle(b) data=data.iloc[b,:] target=target.iloc[b,:] except: print(b,data.shape,target.shape) length=len(data) start=0 while length-minibatch>0: X=data.iloc[start:start+minibatch,:] y=target.iloc[start:start+minibatch] yield X,y start=start+minibatch length-=minibatch
调用方式
from sklearn.datasets import load_irisdata = load_iris()dataset=data['data']target=data['target']minibatch_train_iterators = iter_minibatches(dataset,target,10)for j, (X_train, y_train) in enumerate(minibatch_train_iterators): print(X_train.shape,y_train.shape)
阅读全文
0 0
- 机器学习在线学习算法--迭代器实现
- 新兴机器学习算法:在线学习
- 在线机器学习算法及其伪代码
- 机器学习算法-python实现
- 机器学习算法python实现
- 在线机器学习书籍
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
- 斯坦福机器学习在线demo
- 七月在线机器学习作业
- Apache Mahout 实现的机器学习算法
- Mahout实现的机器学习算法
- Apache Mahout 实现的机器学习算法
- Mahout实现的机器学习算法
- Apache Mahout 实现的机器学习算法
- 机器学习:KNN算法(MATLAB实现)
- Python机器学习(二)--kNN算法实现
- Apache Mahout 实现的机器学习算法
- spring mvc配置json转换器,jar包冲突导致配置无效
- ubuntu sudo apt-get install时遇到问题E: Sub-process /usr/bin/dpkg returned an error code (1)
- 选项卡react-native-scrollable-tab-view
- [Leetcode] 290. Word Pattern 解题报告
- Java线程初步
- 机器学习在线学习算法--迭代器实现
- OpenSessionInViewFilter 的配置及作用
- Python类的继承
- JAVA设计模式-概要
- div和span的区别
- 第一个缺失的正整数
- java-面向对象/类
- OpenGL内核模式学习笔记第0篇——写在开篇
- C/C++:sizeof运算符