Scikit-learn库
1 简介
对Python语言有所了解的科研人员可能都知道SciPy——一个开源的基于Python的科学计算工具包。基于SciPy,目前开发者们针对不同的应用领域已经发展出了为数众多的分支版本,它们被统一称为Scikits,即SciPy工具包的意思。而在这些分支版本中,最有名,也是专门面向机器学习的一个就是Scikit-learn。
Scikit-learn项目最早由数据科学家David Cournapeau 在2007 年发起,需要NumPy和SciPy等其他包的支持,是Python语言中专门针对机器学习应用而发展起来的一款开源框架。
它的维护也主要依靠开源社区。
2 特点
作为专门面向机器学习的Python开源框架,Scikit-learn可以在一定范围内为开发者提供非常好的帮助。它内部实现了各种各样成熟的算法,容易安装和使用,样例丰富,而且教程和文档也非常详细。
另一方面,Scikit-learn也有缺点。例如它不支持深度学习和强化学习,这在今天已经是应用非常广泛的技术。此外,它也不支持图模型和序列预测,不支持Python之外的语言,不支持PyPy,也不支持GPU加速。
看到这里可能会有人担心Scikit-learn的性能表现,这里需要指出的是:如果不考虑多层神经网络的相关应用,Scikit-learn的性能表现是非常不错的。究其原因,一方面是因为其内部算法的实现十分高效,另一方面或许可以归功于Cython编译器;通过Cython在Scikit-learn框架内部生成C语言代码的运行方式,Scikit-learn消除了大部分的性能瓶颈。
3 主要类或用过的类
Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。
(1)Preprocessing 预处理
· 应用:转换输入数据,规范化、编码化
· 模块:preprocessing,feature_extraction,transformer(转换器)
(2)Dimensionality reduction 降维
· 应用:Visualization(可视化),Increased efficiency(提高效率)
· 算法:主成分分析(PCA)、非负矩阵分解(NMF),feature_selection(特征选择)等
(3)Classification 分类
· 应用:二元分类问题、多分类问题、Image recognition 图像识别等
· 算法:逻辑回归、SVM,最近邻,随机森林,Naïve Bayes,神经网络等
(4)Regression 回归
· 应用:Drug response 药物反应,Stock prices 股票价格
· 算法:线性回归、SVR,ridge regression,Lasso,最小角回归(LARS)等
(5)Clustering 聚类
· 应用:客户细分,分组实验结果
· 算法:k-Means,spectral clustering(谱聚类),mean-shift(均值漂移)
(6)Model selection 模型选择
· 目标:通过参数调整提高精度
· 模块:pipeline(流水线),grid_search(网格搜索),cross_validation( 交叉验证),metrics(度量),learning_curve(学习曲线)
(7)、模型融合
· 模块:ensemble(集成学习)、
(8)、辅助工具
· 模块:exceptions(异常和警告)、dataset(自带数据集)、utils、sklearn.base
Scikit-learn库的更多相关文章
- scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类 (python代码)
scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类数据集 fetch_20newsgroups #-*- coding: UTF-8 -*- import ...
- (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探
一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...
- (原创)(四)机器学习笔记之Scikit Learn的Logistic回归初探
目录 5.3 使用LogisticRegressionCV进行正则化的 Logistic Regression 参数调优 一.Scikit Learn中有关logistics回归函数的介绍 1. 交叉 ...
- Scikit Learn: 在python中机器学习
转自:http://my.oschina.net/u/175377/blog/84420#OSC_h2_23 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的 ...
- Scikit Learn
Scikit Learn Scikit-Learn简称sklearn,基于 Python 语言的,简单高效的数据挖掘和数据分析工具,建立在 NumPy,SciPy 和 matplotlib 上.
- Python第三方库(模块)"scikit learn"以及其他库的安装
scikit-learn是一个用于机器学习的 Python 模块. 其主页:http://scikit-learn.org/stable/. GitHub地址: https://github.com/ ...
- Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)
所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的 ...
- 机器学习-scikit learn学习笔记
scikit-learn官网:http://scikit-learn.org/stable/ 通常情况下,一个学习问题会包含一组学习样本数据,计算机通过对样本数据的学习,尝试对未知数据进行预测. 学习 ...
- Linear Regression with Scikit Learn
Before you read This is a demo or practice about how to use Simple-Linear-Regression in scikit-lear ...
- Scikit Learn安装教程
Windows下安装scikit-learn 准备工作 Python (>= 2.6 or >= 3.3), Numpy (>= 1.6.1) Scipy (>= 0.9), ...
随机推荐
- eclipse 查看文件在磁盘里的位置
- 在 Mac 系统下安装 PyCharm 的方法
首先,进入 PyCharm 的官网,PyCharm: Python IDE for Professional Developers by JetBrains. 如上图所示,直接点击DOWNLOAD N ...
- IDEA一个工程如何启动多次
- gitlab升级备份
一.备份有关备份和恢复的操作,详见我的另一篇博客:Gitlab的备份与恢复在开始升级之前,一定要做好备份工作,并记录好版本号.1.查看当前Gitlab的版本号 [root@gitlab ~]# cat ...
- Prometheus入门到放弃(6)之AlertManager进阶
前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...
- 引用js文件中的函数调用
开发中遇到一个问题,代码demo如下: test.js文件内容: var b = getHomeCity(); Test.html文件内容: <!DOCTYPE html> <htm ...
- Python知识点图片
- PB连接ORALCE数据库方法
本地必须配置连接服务
- WebSocket简单使用
很简单就不写太多介绍了,仅展示服务端代码!! Configure在Startup类的方法中添加WebSockets中间件 app.UseWebSockets(); 可以配置以下设置: KeepAliv ...
- isolate两三事
1.1. 第一步:创建并握手 如前所述,Isolate 不共享任何内存并通过消息进行交互,因此,我们需要找到一种方法在「调用者」与新的 isolate 之间建立通信. 每个 Isolate 都暴露了一 ...