sklearn是机器学习中一个常用的python第三方模块,对常用的机器学习算法进行了封装
其中包括:
1.分类(Classification)
2.回归(Regression)
3.聚类(Clustering)
4.数据降维(Dimensionality reduction)
5.常用模型(Model selection)
6.数据预处理(Preprocessing)
本文将从sklearn的安装开始讲解,由浅入深,逐步上手sklearn。
sklearn官网: http://scikit-learn.org/stable/index.html
sklearn API: http://scikit-learn.org/stable/modules/classes.html#module-sklearn.preprocessing
sklearn的目前版本是0.19.1
依赖包:
Python (>=2.6或>穗旅蔽=3.3)
NumPy(>=1.6.1)
SciPy(>=0.9)
使用pip安装,terminal直接执行即可
使用Anaconda安装,推荐Anaconda,因为里面已经内置了NumPy,SciPy等常用工具
安装完成后可以在python中检查一下版本,import sklearn不报错,则表示安装成功
机器学习算法往往需要大量的数据,在skleran中获取数据通常采用两种方式,一种是使用自带的数据集,另一种是创建数据集
sklearn自带了很多数据集,可以用来对算法进行测试分析,免去了自己再去找数据集的烦恼
其中包括:
鸢尾花数据集:load_iris()
手写数字数据集:load_digitals()
糖尿病数据集:load_diabetes()
乳腺癌数据集:load_breast_cancer()
波士顿房价数据集:load_boston()
体能训练数据集:load_linnerud()
这里以鸢尾花数据集为例导入数据集
使用skleran的样本生成器(samples generator)可以创建数据,sklearn.datasets.samples_generator中包含了大量创建样本数据的方法。
这里以分类问题创建样本数据
参数说明:
n_features :特征个数= n_informative() + n_redundant + n_repeated
n_informative:多信息特征的个数
n_redundant:冗余信息,informative特征的随机线性组合
n_repeated :重复信息,随机提取n_informative和n_redundant 特征
n_classes:分类类别
n_clusters_per_class :某一个类别是由几个cluster构成的
random_state:随机种子,使得实验可重复
n_classes*n_clusters_per_class 要小于或等于 2^n_informative
打印结果:
机器学习的过程正往往需要对数据集进行划分,常分为训练集,测试集。镇悔sklearn中的model_selection为我们提供了划分数据集的方法。
以鸢尾花数据集为例进行划分
参数说明:
arrays:样本数组,包含特征向量和标签
test_size:
float-获得多大比重的测试样本 (默认:0.25)
int - 获得多少个测试样本
train_size: 同test_size
random_state:int - 随机种子(种子固定,实验可复现)
shuffle - 是否在分割之前对数据进行洗牌(默认True)
后面我们训练模型使用的数据集都基于此
我们为什么要进行数据预处理?
通常,真实生活中,我们获得的数据中往往存在很多的无用信息,甚至存在错误信息,而机器学习中有一句话叫做"猜州Garbage in,Garbage out",数据的健康程度对于算法结果的影响极大。数据预处理就是让那些冗余混乱的源数据变得能满足其应用要求。
当然,仅仅是数据预处理的方法就可以写好几千字的文章了,在这里只谈及几个基础的数据预处理的方法。
skleran中为我们提供了一个数据预处理的package:preprocessing,我们直接导入即可
下面的例子我们使用:[[1, -1, 2], [0, 2, -1], [0, 1, -2]]做为初始数据。
基于mean和std的标准化
打印结果:
规范化到一定区间内 feature_range为数据规范化的范围
打印结果:
首先求出样本的p-范数,然后该样本的所有元素都要除以该范数,这样最终使得每个样本的范数都为1
打印结果:
本文介绍了sklearn的安装,sklearn导入数据集,创建数据集的基本方法,对数据预处理的常用方法进行了介绍。
下一篇,将重点讲解如何使用sklearn进行特征提取,使用sklearn实现机器学习经典算法,模型的保存等内容。
下敬祥大载安装包sklearn时显示version0.0.post解决办法如下:1、宴空首先要明确,下载sklearn之前,需要先下载numpy、matplotlib、scipy。
2、然后全部卸载一遍。
3、然后从豆瓣源一次性下载了所有的模块。
4、记住url后要有空格,然后再输入numpy等等。
5、试试import,亮竖启动非常顺利。
Python Scikit-learn:一组简单有效的工具集。依赖Python和NumPy、SciPy、matplotlib库。是开源和可复用的
Sklearn是Scikit-learn的简称,是基于Python的第三方模块,集成了常用的机器学习方法,在进行学习任务时,并不需要实现算法,只需要简单的调用库中提供的模块就能完成大多数的机器学习任务
Sklearn是在NumPy、SciPy、matplotlib的基础上开发而成,因此宴好安装前需要先安装依赖库
安装顺序:NumPy库、晌旁铅SciPy库、matplotlib库、Sklearn库
目录
Python机器学习应启樱用
一、 Sklearn库
二、 无监督学习
三、 有监督学习
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)