转载: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. mysql left join 查询

    inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 左连接实例: SELECT t. NAME, t1. ...

  2. C高级第一次PTA作业 要求三

    要求一.要求二 内容链接:http://www.cnblogs.com/X-JY/p/8550457.html 一.PTA作业中的知识点总结 1.6-1 计算两数的和与差(10 分) (1)*在程序中 ...

  3. DHT11

    主机开始发送信号:先拉低至少18ms,然后在拉高20~40us,然后DHT11响应, 拉低数据线40~50us,接着在拉高40~50us,之后再开始输出数据. 输出0是的时序:先12.14us低电平, ...

  4. 和菜鸟一起学linux内核源码之基础准备篇

    来源:http://blog.csdn.net/eastmoon502136/article/details/8711104 推荐阅读:linux内核源码最初版linux内核源代码,简单易懂,适合初学 ...

  5. File、Directory、Path

    File.Directory.Path https://blog.csdn.net/xiaouncle/article/details/52050577 File.Directory.Path是实际开 ...

  6. hive中实现类似MySQL中的group_concat功能

    hive> desc t; OK id      string str     string Time taken: 0.249 seconds hive> select * from t ...

  7. (8)os和sys模块

    import sysprint(sys.argv)  #默认获取当前文件的路径 import os os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir(& ...

  8. poj2387 最短路

    题意:给出一堆双向路,求从N点到1点的最短路径,最裸的最短路径,建完边之后直接跑dij或者spfa就行 dij: #include<stdio.h> #include<string. ...

  9. jQuery插件制作方法详解

        jQuery插件制作方法详解   jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加 上Jtip,并引入jtip.js及其样式即可以了. ...

  10. java反射+java泛型,封装BaseDaoUtil类。供应多个不同Dao使用

    当项目是ssh框架时,每一个Action会对应一个Service和一个Dao.但是所有的Ation对应的Dao中的方法是相同的,只是要查的表不一样.由于封装的思想,为了提高代码的重用性.可以使用jav ...