作家
登录

使用Sklearn进行数据挖掘

作者: 来源: 2017-10-31 14:00:43 阅读 我要评论

  1. from numpy import hstack, vstack, array, median, nan 
  2. from numpy.random import choice 
  3. from sklearn.datasets import load_iris  
  4. #特点矩阵加工 
  5. #应用vstack增长一行含缺掉值的样本(nan, nan, nan, nan) 
  6. #应用hstack增长一列表示花的色彩(0-白、1-黄、2-红),花的色彩是随机的,意味着色彩并不影响花的分类 
  7. iris.data = hstack((choice([0, 1, 2], size=iris.data.shape[0]+1).reshape(-1,1), vstack((iris.data, array([nan, nan, nan, nan]).reshape(1,-1))))) 
  8. #目标值向量加工 
  9. #增长一个目标值,对应含缺掉值的样本,值为众数 
  10. iris.target = hstack((iris.target, array([median(iris.target)]))) 

1.3 关键技巧

并行处理,流水线处理,主动化调参,持久化是应用sklearn优雅地进行数据发掘的核心。并行处理和流水线处理将多个特点处理工作,甚至包含模型练习工作组合成一个工作(大年夜代码的角度来说,即将多个对象组合成了一个对象)。在组合的前提下,主动化调参技巧帮我们省去了人工调参的反锁。练习好的模型是贮存在内存中的数据,持久化可以或许将这些数据保存在文件体系中,之后应用时无需再进行练习,直接大年夜文件体系中加载即可。

2 并行处理

并行处理使得多个特点处理工作可以或许并行地进行。根据对特点矩阵的攫取方法不合,可分为整体并行处理和部分并行处理。整体并行处理,即并行处理的每个工作的输入都是特点矩阵的┞符体;部分并行处理,即可定义每个工作须要输入的特点矩阵的列。

2.1 整体并行处理

pipeline包供给了FeatureUnion类来进行整体并行处理:

  1. from numpy import log1p 
  2. from sklearn.preprocessing import FunctionTransformer 
  3. from sklearn.preprocessing import Binarizer 
  4. from sklearn.pipeline import FeatureUnion  
  5.  #新建将整体特点矩阵进行对数函数转换的对象 
  6. step2_1 = ('ToLog', FunctionTransformer(log1p)) 
  7. #新建将整体特点矩阵进行二值化类的对象 
  8. step2_2 = ('ToBinary', Binarizer()) 
  9. #新建整体并行处理对象 
  10. #该对象也有fit和transform办法,fit和transform办法均是并行地调用须要并行处理的对象的fit和transform办法 
  11. #参数transformer_list为须要并行处理的对象列表,该列表为二元组列表,第一元为对象的名称,第二元为对象 
  12.  step2 = ('FeatureUnion', FeatureUnion(transformer_list=[step2_1, step2_2, step2_3])) 

#新建计算缺掉值的对象 
  • step1 = ('Imputer', Imputer()) 
  • #新建将部分特点矩阵进行定性特点编码的对象 
  • step2_1 = ('OneHotEncoder', OneHotEncoder(sparse=False)) 
  • #新建将部分特点矩阵进行对数函数转换的对象 
  • step2_2 = ('ToLog', FunctionTransformer(log1p)) 
  • #新建将部分特点矩阵进行二值化类的对象 
  • step2_3 = ('ToBinary', Binarizer()) 
  • #新建部分并行处理对象,返回值为每个并行工作的输出的归并 
  • step2 = ('FeatureUnionExt', FeatureUnionExt(transformer_list=[step2_1, step2_2, step2_3], idx_list=[[0], [1, 2, 3], [4]])) 
  • #新建无量纲化对象 
  • step3 = ('MinMaxScaler', MinMaxScaler()) 

      推荐阅读

      技术巨头争夺AI人才,连应届生都能拿巨额高薪

    2017年架构师最重要的48个小时 | 8折倒计时 到了2013年,Google、Facebook以及若干其他公司开端雇用相对少量专善于这些技巧的研究人员。神经收集限制赞助辨认宣布在Facebook上的脸庞,辨认>>>详细阅读


    本文标题:使用Sklearn进行数据挖掘

    地址:http://www.17bianji.com/lsqh/38309.html

  • 关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)