scikit-learn介绍
来源:互联网 发布:unity3d遮罩shader 编辑:程序博客网 时间:2024/05/16 17:19
- 为什么介绍scikit-learn
- python实现的,而不是R,免费。
- 没有和别的库做过比较,但是自身的文档足够好,例子足够多。
- 算法足够全,至少对于我的水平。
基于上面的几个原因,在写博客的过程中,就以scikit-learn作为主线来进行学习。在学会在sklearn中如何使用的基础上,同时扩展算法原理以及基础。
- 什么是scikit-learn
在scikit-learn官网上面(http://scikit-learn.org/)有这几句话,概括的非常精炼:
scikit-learn: Machine Learning in Python。机器学习的pythobn实现。
- Simple and efficient tools for data mining and data analysis。简单高效的数据挖掘和数据分析工具。
- Accessible to everybody, and reusable in various contexts。通用性。
- Built on NumPy, SciPy, and matplotlib。构建于NumPy, SciPy, and matplotlib基础上。
- Open source, commercially usable - BSD license。开源。
- 主要内容
- 按算法功能分类,分为监督学习:分类(classification)和回归(regression),以及非监督学习:聚类(clustering)。sklearn提供了很全面的算法实现,详细算法清单http://scikit-learn.org/stable/modules/classes.html。
- 测试数据集,比如iris,boston房价等,总共10几个。
- 数据预处理,比如二值化,正规化,特征提取。
- 测试数据选择、测试算法以及确定参数,甚至pipeline化的支持。‘
- 一下其他支持功能,比如评分matrix,
- 使用sklearn进行计算的主要步骤:
- 数据准备。需要把数据集整理为输入X[sample_count, feature_count],结果y[label_count]的格式,其中sample_count应该等于label_count。
- [可选的降维过程],因为原始数据的维度(feature个数)比较大,所以会出现The curse of dimensionality问题,严重影响性能和算法的扩展性,所以会以降维(PCA等)或者一些原型算法(Kmeans,LASSO等,也叫shrinkage)去掉贡献度低的一些维度。
- 学习以及预测的过程。
- 生成一个算法的预测器Estimator,同时可以自己设置参数,比如KNeighborsClassifier。
- 调用该预测器的fit(X,y)函数对输入数据+结果label进行学习,从中会得到学习的结果,即分类器的各种参数。
- 对未知数据进行预测,predict(unknown_X)。
- 反复学习的过程。仅仅使用一个预测器,或者使用一个预测器的一种参数,对未知数据进行预测可能会有不准确性,所以会使用多种策略:
- 把已知的数据分为多份进行多次计算,常用的是k-fold,k-label-fold, leave-1, leave-1-lable等
- 多个预测器进行预测,或者独立进行预测,或者组合预测(Ensemble)
- 对一个预测器设置不同的参数进行多次进行预测,同时把数据分组。基本上每一种分类器都有cross validation(交叉验证)版本,即把预测器加上cv,比如LassoCV。
- 应用
- 如果要把sklearn应用于自己的数据,预处理(特征选取,正规化,数据格式化等)是其中最关键的一步,没有之一,所以在sklearn之外的特征工程是必须的。
- 任何的机器学习算法在工业界应用都避不开一个性能问题。sklearn提供了一些建议。
2 0
- scikit-learn介绍
- scikit-learn介绍
- scikit-learn基础介绍
- scikit-learn介绍
- scikit-learn 机器学习介绍
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 |
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习
- IOS常用正则表达式
- 实习:java集合应用和sql语句
- CentOS系统下的Hadoop集群(第1期)_CentOS安装配置
- iOS 用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- VS2010新建Web网站与新建Web应用程序的区别
- scikit-learn介绍
- LIBSVM与LIBLINEAR
- java面向对象构造函数的学习
- Keil C51详细设置
- 瑞士奶酪模型
- NSUTF8StringEncoding的编码解码
- 关于引入pods的iOS项目使用shell脚本编译的问题与探索
- HDOJ 1596 find the safest road ((最短路变形) Dijkstra && SPFA)
- How to Build a RESTful API Web Service with PHP