拟合和预测,估计器基础

from sklearn.ensemble import RandomForestClassifierclf = RandomForestClassifier(random_state=0)
X = [[1, 2, 3],[11, 12, 13]]
y = [0, 1]
clf.fit(X, y)
'''
fit方法接受两个参数,X和y(通常都是numpy的数组)
X是样本矩阵,大小通常是(n_samples, n_features)
y是目标值,对于回归任务是实数,针对分类任务是整数
针对无监督学习,不需要指定y
并且y通常是一位数组,第i个值对应X中第i行样本的目标值
'''
print(clf.predict([[4, 5, 6],[14, 15, 16]]))
##模拟器被fitted之后,就可以使用这个模拟器进行预测

Transformers and pre-processors

from sklearn.preprocessing import StandardScalerX = [[0, 15],[1, -10]]
scs = StandardScaler().fit(X)
print(scs.transform(X))
##类似上面的模拟器,同样通过fit函数进行训练,但是是通过transform函数输出
##新输入的样本的转换结果

管道:链接预处理器和评估器

#转换器和估计器(预测器)可以组合成一个统一对象:管道
#使用管道可以防止数据泄露''''''
'''
1、加载数据集
2、将其分成训练集和测试集
3、在测试集上计算管道的准确率
'''
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_scorepipe = make_pipeline(StandardScaler(), LogisticRegression(random_state=0))
##将预处理器和模拟器(预测器)组合成一个管道
X, y = load_iris(return_X_y=True)
##加载数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
##将数据分成训练集和测试集pipe.fit(X_train, y_train)
##使用训练训练集训练模型
print(accuracy_score(pipe.predict(X_test), y_test))
##在测试集上计算训练准确率

建议使用管道,因为如果不适用管道,而在预处理时使用全部数据,之后执行任何种类的交叉验证, 都会破坏测试集和训练集之间互相独立的假设。因为使用全部数据进行预处理,训练集中的数据就会被测试集中的数据影响,训练出的模型适用于测试集的可能性更大,因为在测试集上测试模型好坏,获得的结果比模型真实效果要好一些。
使用管道进行交叉验证和搜索将在很大程度上避免这个常见的陷阱。

模型评价

##使用cross_validate执行 5 步交叉验证
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_validateX, y = make_regression(n_samples=1000, random_state=0)
lr = LinearRegression()result = cross_validate(lr, X, y)
print(result['test_score'])

自动参数搜索

所有的估计器(模拟器)都有可以调优的参数。模拟器的泛化能力通常主要依赖于几个参数。通常,不容易确定这些数据的值,因为这些只依赖于手头的数据。
Scikit-learn提供了可以根据交叉验证自动选择最优参数的工具。

scikit-learn提供了8个模块

  • 监督学习

  • 无监督学习

  • 模型选择和评估

  • 检查(Inspection)

  • 可视化

  • 数据集转换

  • 数据加载工具

  • 使用scikit-learn进行计算
    下面分别对这八个模块进行学习,计划学习顺序是:

  • 数据加载工具

  • 数据集转换

  • 监督学习

  • 无监督学习

  • 可视化

  • 模型选择和评估

  • 检查(Inspection)

  • 使用scikit-learn进行计算

走马观花学习scikit-learn相关推荐

  1. 机器学习与Scikit Learn学习库

    摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...

  2. Scikit Learn: 在python中机器学习

    Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...

  3. [转载]Scikit Learn: 在python中机器学习

    原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...

  4. python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别

    之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...

  5. 【scikit-learn】如何用Python和SciKit Learn 0.18实现神经网络

    本教程的代码和数据来自于 Springboard 的博客教程.本文的作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:https://g ...

  6. python scikit learn 关闭开源_scikit learn 里没有神经网络?

    本教程的代码和数据来自于 Springboard 的博客教程,希望能为你提供帮助.作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:ht ...

  7. scikit - learn 做文本分类

    文章来源: https://my.oschina.net/u/175377/blog/84420 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的句子,我以自 ...

  8. Blender3.0动画制作入门学习教程 Learn Animation with Blender (2021)

    要求 下载并安装Blender.免费下载和免费用于任何目的. 描述 加入我的动画课程. 在本课程中,我将从头开始讲述在Blender中创建动画场景的过程. 从第一步到最终渲染.在这个课程中,我们将使用 ...

  9. abc android软件,学习ABC Learn ABC软件

    英语学习从基础字母学起.学习ABC Learn ABC软件是一款专为儿童打造的英语学习早教软件,通过游戏的方式,增强宝宝学习趣味性,画面生动可爱,操作简单,学习的同时培养孩子的动手能力,让孩子健康成长 ...

  10. Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)

    所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的 ...

最新文章

  1. 程序员的数学3 线性代数_在编程大佬眼中,线性代数到底是什么样的?
  2. 用ffmpeg把H264数据流解码成YUV420P
  3. SAP License:最近收到的信(审计人员关于成本问题的请教)
  4. 策划入门(一)什么样的创意是可行的
  5. DLM - stackglue 层
  6. 【会议】2009-1-6
  7. 【优化算法】人工鱼群优化算法(AFSA)【含Matlab源码 1078期】
  8. 如何开启电脑远程桌面服务器,远程桌面服务怎么开启
  9. matlab 地理加权回归,混合时空地理加权回归及参数地两步估计.PDF
  10. html---标题居中,背景图片
  11. 进击zheng项目zheng-umps-server
  12. C语言把十进制转换为二进制数的方法和示例
  13. videojs中文文档详解_HTTP的世界观(附HTTP/3中文翻译)
  14. 社区宽带繁忙是什么意思_康平附近企业宽带价位,附近光纤宽带上门安装多少钱...
  15. Gitlab软件包下载地址
  16. 天线接收功率计算公式_天线功率详细说明
  17. 软件测试工作三年薪资能拿20k往上吗?
  18. TP-LINK路由器的QSS/WPS连接软件
  19. 交通事故频繁发生,未来我们做点什么?
  20. 2015届华为软件研发面试经验(提前批)

热门文章

  1. python软件下载安装教程,python下载安装教程
  2. python折线图加图例_python 加图例
  3. 使用Clover引导Windows、Mac及多个Linux系统一起安装
  4. 数据库连接数居高不下,导致系统越来越慢
  5. python中一个函数只允许有一条return语句_一个函数应该只有一个return语句吗?
  6. 开源之夏 2022 | 申请 Jina AI 社区任务,成为业界领先的神经搜索开源项目贡献者
  7. 梦之光芒Game1解题记录
  8. Bootstrap 知识点汇总
  9. 张一刻12个适合打造个人品牌IP的自媒体平台
  10. php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。...