- from numpy import hstack, vstack, array, median, nan
- from numpy.random import choice
- from sklearn.datasets import load_iris
- #特点矩阵加工
- #应用vstack增长一行含缺掉值的样本(nan, nan, nan, nan)
- #应用hstack增长一列表示花的色彩(0-白、1-黄、2-红),花的色彩是随机的,意味着色彩并不影响花的分类
- 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)))))
- #目标值向量加工
- #增长一个目标值,对应含缺掉值的样本,值为众数
- iris.target = hstack((iris.target, array([median(iris.target)])))
1.3 关键技巧
并行处理,流水线处理,主动化调参,持久化是应用sklearn优雅地进行数据发掘的核心。并行处理和流水线处理将多个特点处理工作,甚至包含模型练习工作组合成一个工作(大年夜代码的角度来说,即将多个对象组合成了一个对象)。在组合的前提下,主动化调参技巧帮我们省去了人工调参的反锁。练习好的模型是贮存在内存中的数据,持久化可以或许将这些数据保存在文件体系中,之后应用时无需再进行练习,直接大年夜文件体系中加载即可。
2 并行处理
并行处理使得多个特点处理工作可以或许并行地进行。根据对特点矩阵的攫取方法不合,可分为整体并行处理和部分并行处理。整体并行处理,即并行处理的每个工作的输入都是特点矩阵的┞符体;部分并行处理,即可定义每个工作须要输入的特点矩阵的列。
2.1 整体并行处理
pipeline包供给了FeatureUnion类来进行整体并行处理:
- from numpy import log1p
- from sklearn.preprocessing import FunctionTransformer
- from sklearn.preprocessing import Binarizer
- from sklearn.pipeline import FeatureUnion
- #新建将整体特点矩阵进行对数函数转换的对象
- step2_1 = ('ToLog', FunctionTransformer(log1p))
- #新建将整体特点矩阵进行二值化类的对象
- step2_2 = ('ToBinary', Binarizer())
- #新建整体并行处理对象
- #该对象也有fit和transform办法,fit和transform办法均是并行地调用须要并行处理的对象的fit和transform办法
- #参数transformer_list为须要并行处理的对象列表,该列表为二元组列表,第一元为对象的名称,第二元为对象
- step2 = ('FeatureUnion', FeatureUnion(transformer_list=[step2_1, step2_2, step2_3]))
#新建计算缺掉值的对象
推荐阅读
2017年架构师最重要的48个小时 | 8折倒计时 到了2013年,Google、Facebook以及若干其他公司开端雇用相对少量专善于这些技巧的研究人员。神经收集限制赞助辨认宣布在Facebook上的脸庞,辨认>>>详细阅读
本文标题:使用Sklearn进行数据挖掘
地址:http://www.17bianji.com/lsqh/38309.html
1/2 1