作家
登录

使用Sklearn进行数据挖掘

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

  • #新建卡方校验选择特点的对象 
  • step4 = ('SelectKBest', SelectKBest(chi2, k=3)) 
  • #新建PCA降维的对象 
  • step5 = ('PCA', PCA(n_components=2)) 
  • #新建逻辑回归的对象,其为待练习的模型作为流水线的最后一步 
  • step6 = ('LogisticRegression', LogisticRegression(penalty='l2')) 
  • #新建流水线处理对象 
  • #参数steps为须要流水线处理的对象列表,该列表为二元组列表,第一元为对象的名称,第二元为对象 
  • pipeline = Pipeline(steps=[step1, step2, step3, step4, step5, step6]) 
  • 2.2 部分并行处理

    整体并行处理有其缺点,在一些场景下,我们只须要对特点矩阵的某些列进行转换,而不是所有列。pipeline并没有供给响应的类(仅OneHotEncoder类实现了该功能),须要我们在FeatureUnion的基本长进行优化:

    View Code

    在本文提出的场景中,我们对特点矩阵的第1列(花的色彩)进行定性特点编码,对第2、3、4列进行对数函数转换,对第5列进行定量特点二值化处理。应用FeatureUnionExt类进行部分并行处理的代码如下:

    1. from numpy import log1p 
    2. from sklearn.preprocessing import OneHotEncoder 
    3. from sklearn.preprocessing import FunctionTransformer 
    4. from sklearn.preprocessing import Binarizer  
    5. #新建将部分特点矩阵进行定性特点编码的对象 
    6. step2_1 = ('OneHotEncoder', OneHotEncoder(sparse=False)) 
    7. #新建将部分特点矩阵进行对数函数转换的对象 
    8. step2_2 = ('ToLog', FunctionTransformer(log1p)) 
    9. #新建将部分特点矩阵进行二值化类的对象 
    10. step2_3 = ('ToBinary', Binarizer()) 
    11. #新建部分并行处理对象 
    12. #参数transformer_list为须要并行处理的对象列表,该列表为二元组列表,第一元为对象的名称,第二元为对象 
    13. #参数idx_list为响应的须要攫取的特点矩阵的列 
    14. step2 = ('FeatureUnionExt', FeatureUnionExt(transformer_list=[step2_1, step2_2, step2_3], idx_list=[[0], [1, 2, 3], [4]])) 

    3 流水线处理

    pipeline包供给了Pipeline类来进行流水线处理。流水线上除最后一个工作以外,其他都要履行fit_transform办法,且上一个工作输出作为下一?工作的输入。最后一个工作必须实现fit办法,输工资上一个工作的输出;然则不限制必定有transform办法,因为流水线的最后一个工作可能是练习!

    根据本文提出的场景,结归并行处理,构建完全的流水线的代码如下:

    1. from numpy import log1p 
    2. from sklearn.preprocessing import Imputer 
    3. from sklearn.preprocessing import OneHotEncoder 
    4. from sklearn.preprocessing import FunctionTransformer 
    5. from sklearn.preprocessing import Binarizer 
    6. from sklearn.preprocessing import MinMaxScaler 
    7. from sklearn.feature_selection import SelectKBest 
    8. from sklearn.feature_selection import chi2 
    9. from sklearn.decomposition import PCA 
    10. from sklearn.linear_model import LogisticRegression 

        推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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