机器学习库scikit-learn简介(一)
来源:互联网 发布:达梦数据库有限公司 编辑:程序博客网 时间:2024/05/22 01:38
一、机器学习问题
通常,学习问题考虑n个样本数据集,然后预测未知数据的属性。若各个样本多于一个,例如,对于多维的条目(又称多元数据),即说有多个属性或特性。
我们可以把学习问题划分为如下几个大类:
1. 监督式学习,又分为:
- 分类
- 回归
2. 非监督式学习,
涉及到的概念:
机器学习是关于从已有的数据特性集中学习,然后应用到新的数据集。这就是为什么在通常的机器学习中评估一个算法时,把数据分为两部分。一部分为训练集(Training Set)。另一部分为测试集(Testing Set)。
二、加载例子数据集
scikit-learn自带一些标准的数据集,例如iris和digits数据集用于分类,boston房价数据集用于回归
数据集是一个类似于字典的对象,包含所有的数据以及一些关于数据的元数据。数据存储在.data成员中,它是一个n_samples, n_features数组。在监督式问题中,解释性变量存储在.target成员中,更多的关于不同数据集的细节在后续会进行介绍。
例如,在digits数据集中,digits.data访问用于分类digits样本的特征。
digits.target给出了digits数据集的目标值。即相应的各个digit图像的数字。如下:
数据数组的形状
数据总是一个二维数组,n_sample, n_features,尽管原始数据具有不同的形状,对于digits数据集,各个原始样本是一个8x8的图像,可以使用如下访问:
三、学习和预测
在digits数据集中,其任务就是来预测,给定一个图像,它表示的数字是多少?我们给定各个样本十个可能的类(数字0到9),通过估计器来预测未知的样本属于哪个类别。
在scikit-learn中,用于分类的估计器是一个python对象,其实现方法fit(x, y)和predict(T)。
估计器的一个例子是sklearn.svm.SVC,其实现支持向量机分类。估计器的构造器获取参数作为模型的参数,暂时我们认为估计器是一个黑盒。
选择模型参数
在该例子中,我们手动设置额gamma值,一般可能会通过使用工具像grid search和cross validation来寻找最优值。
在上述例子中,我们称估计器实例clf为分类器。
现在,必须符合该模型,即必须从该模型学习,通过传递训练集到fit模型来完成。作为训练集,我们使用我们数据集中所有的图像除了最后一个。
关于手写数字的识别的完整分类问题的自理,可以见:http://scikit-learn.org/stable/auto_examples/plot_digits_classification.html#example-plot-digits-classification-py
四、模型持久性
在scikit中,通过使用内置的称为pickle的持久模型来保存模型
在scikit的特殊例子中,可以更加对使用joblib来取代pickle感兴趣(joblib.dump&joblib.load),因为对于big data其更加有效, but can only pickle to the disk and not to a string:
0 0
- 机器学习库scikit-learn简介(一)
- 机器学习scikit-learn(一)
- scikit-learn-简介(开源机器学习工具)
- 利用scikit-learn进行机器学习简介
- 机器学习框架SciKit-learn简介
- scikit-learn机器学习库
- 机器学习实战(一)kNN调用scikit-learn库函数
- scikit-learn 机器学习
- Google机器学习(一) 安装Anaconda以及Scikit-learn等必备库
- 机器学习笔记——Scikit-learn库中的数据预处理(一)
- python机器学习库scikit-learn
- Python机器学习库scikit-learn实践
- Python机器学习库scikit-learn实践
- Python/scikit-learn机器学习库(决策树)
- Python机器学习库scikit-learn实践
- Python机器学习库scikit-learn实践
- Python机器学习库scikit-learn实践
- Python机器学习库scikit-learn实践
- 每日一小练——因子分解
- e影浏览器怎么样e影浏览器下载
- 关于“怎样成为高段位的学习者?”
- 抽象类和接口的区别
- 2014年百度之星资格赛第二题Disk Schedule
- 机器学习库scikit-learn简介(一)
- Linux环境下Eclipse + Tomcat + MySQL 配置J2EE开发环境的方法
- worldwind学习笔记-1-Configuration
- Cocos2d-x 3.0rc,又一种创建项目方式
- Hive+GenericUDF示例一
- 9.3 构造和析构的次序
- 滑雪 POJ 1088
- JAVA 学习日志 测试抽象类的程序,每天进步/退步一点点,变化很大哦,努力!
- 简单的事件回调机制