转载:https://www.toutiao.com/i6606193174010397187/

  当一个数据科学项目刚刚开始时,关键是要尽可能快地走向一个最小可行的产品(MVP)。这个MVP将包含最终数据产品的所有组件,但只具有最低限度的功能。在项目达到这一点之后,迭代和改进已经存在的Pipeline将会更快。由于一个经过训练的机器学习模型需要花费大量的时间和精力来创建,因此在数据管道中放置一个模拟模型将允许数据工程师在数据科学家完成最终模型的训练之前开始他们的工作。创建MockBinaryClassifier充当二元预测模型的类。该模型遵循以下简单规则:如果第一个特征的值小于或等于0,则返回0级,如果第一个特征大于0则返回1级:

import numpy as np
from sklearn.base import BaseEstimator
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import MinMaxScaler class MockBinaryClassifier(BaseEstimator): def __init__(self):
self.n_classes_ = 2
self.classes_ = np.array([0, 1]) def fit(self,features:np.ndarray,target:np.ndarray,sample_weight:np.ndarray=None): return self def predict(self,features:np.ndarray): return np.where(features[:,0]>0,1,0)

  MockBinaryClassifier继承sklearn.base.BaseEstimator,这意味着它可以在任何使用scikit-learn estimator 的地方使用;fit函数本质上是一个无操作。既然我们知道如何对实例进行分类,就不需要考虑任何历史数据。

  下面的Python代码展示了MockBinaryClassifier如何在scikit-learn pipeline中工作:    

test_feature = np.array([[0], [0.5], [3], [-1]])

train_feature = np.zeros_like(test_feature)
train_target = np.zeros_like(test_feature) pipe = Pipeline([("scale",MinMaxScaler()),
("mock",MockBinaryClassifier())]) pred = pipe.fit(train_feature,train_target).predict(test_feature) print(pred)

  使用启发式方法创建模拟模型是在开发周期中消除瓶颈的一种极好的方法。它允许数据工程师和数据科学家并行工作,而不需要工程师等待真正的机器学习模型被建立。它还允许数据科学家使用他们将用于构建真实模型的精确代码来设置基准性能标准。

  

  

模拟估算器:scikit-learn Estimator的更多相关文章

  1. (原创)(四)机器学习笔记之Scikit Learn的Logistic回归初探

    目录 5.3 使用LogisticRegressionCV进行正则化的 Logistic Regression 参数调优 一.Scikit Learn中有关logistics回归函数的介绍 1. 交叉 ...

  2. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  3. [TensorFlow 团队] TensorFlow 数据集和估算器介绍

    发布人:TensorFlow 团队 原文链接:http://developers.googleblog.cn/2017/09/tensorflow.html TensorFlow 1.3 引入了两个重 ...

  4. Scikit Learn: 在python中机器学习

    转自:http://my.oschina.net/u/175377/blog/84420#OSC_h2_23 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的 ...

  5. scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类 (python代码)

    scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类数据集 fetch_20newsgroups #-*- coding: UTF-8 -*- import ...

  6. Scikit Learn

    Scikit Learn Scikit-Learn简称sklearn,基于 Python 语言的,简单高效的数据挖掘和数据分析工具,建立在 NumPy,SciPy 和 matplotlib 上.

  7. 以下三种下载方式有什么不同?如何用python模拟下载器下载?

    问题始于一个链接https://i1.pixiv.net/img-zip-...这个链接在浏览器打开,会直接下载一个不完整的zip文件 但是,使用下载器下载却是完整文件 而当我尝试使用python下载 ...

  8. sk-learn 选择正确的估算器

    选择正确的估算器 解决机器学习问题最困难的部分通常是为工作找到正确的估算器. 不同的估计器更适合于不同类型的数据和不同的问题. 下面的流程图旨在为用户提供一些关于如何处理有关哪些估算器尝试数据的问题的 ...

  9. Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)

    所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的 ...

随机推荐

  1. addslash()

    php addslashes函数的作用是在预定义的字符前面加上反斜杠,这些预定义字符包括: 单引号(') 双引号(") 反斜杠(\) NULL addslashes函数经常使用在向数据库插入 ...

  2. vs2010将写好的软件打包安装包经验

    (1) 用VS2010打开已经编写好准备做安装包的软件程序,右击解决方案,添加新建项目. (2) 在“新建项目”对话框中,选择“其他项目类型”,再选择“安装和部署”,然后在模板中选择“安装项目” (3 ...

  3. NBUT 1220 SPY 2010辽宁省赛

    Time limit  1000 ms Memory limit  131072 kB The National Intelligence Council of X Nation receives a ...

  4. UI基础:target...action设计模式,手势识别器.UIimageview

    使用target..action和delegate设计模式可以实现解耦.使代码更加优化. 手势识别器: 手势识别器:是对触摸事件做了封装,无需自己去判断某个手势是否触发,手势识别器本身起到了识别作用, ...

  5. 6.1 socket 长连接、短连接

    一般情况下,服务器的长连接和短连接不是服务器说了算,而是客户端说了算.因为服务器是给别人提供业务的,一旦连接建立起来之后,服务器端不会主动把连接给close掉. 客户端发送一笔业务,没有关闭连接,然后 ...

  6. 最小二乘法 及 梯度下降法 运行结果对比(Python版)

    上周在实验室里师姐说了这么一个问题,对于线性回归问题,最小二乘法和梯度下降方法所求得的权重值是一致的,对此我颇有不同观点.如果说这两个解决问题的方法的等价性的确可以根据数学公式来证明,但是很明显的这个 ...

  7. CentOS下设置MySQL的root各种密码 总结

    一.更改mysql密码常用的三种方法 大部分情况下,一般用户没有权限更改密码,只有申请了权限或root用户才可以更改密码: 1.方法1:用mysqladmin mysqladmin -u root p ...

  8. Docker使用rexray做跨主机存储

    Rex-Ray 是一个优秀的 Docker volume driver,不过只有最新版docker才支持. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很 ...

  9. null 与 undefinded

    null表示"没有对象",即该处不应该有值.典型用法是: (1) 作为函数的参数,表示该函数的参数不是对象. (2) 作为对象原型链的终点. Object.getPrototype ...

  10. 【转】每天一个linux命令(47):iostat命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/28/2837345.html Linux系统中的 iostat是I/O statistics(输入 ...