使用 scikit-learn 进行机器学习的基本原理-2

介绍 scikit-learn 估计器对象

每个算法都通过“Estimator”对象在 scikit-learn 中公开。 例如,线性回归是:sklearn.linear_model.LinearRegression

 估计器参数:估计器的所有参数都可以在实例化时设置:

 拟合数据

让我们用 numpy 创建一些简单的数据:

 估计参数:当数据与估计器拟合时,根据手头的数据估计参数。 所有估计参数都是估计器对象的属性,以下划线结尾:

 监督学习:分类和回归

在监督学习中,我们有一个由特征和标签组成的数据集。 任务是构建一个估计器,能够在给定特征集的情况下预测对象的标签。 一个相对简单的例子是根据一组鸢尾花的测量值来预测鸢尾花的种类。 这是一个相对简单的任务。

一些更复杂的例子是: 通过望远镜给出一个物体的多色图像,确定该物体是恒星、类星体还是星系。

给出一个人的照片,识别照片中的人。

给定一个人看过的电影列表以及他们对电影的个人评分,推荐他们想要的电影列表(所谓的推荐系统:一个著名的例子是Netflix 奖)。

提示:这些任务的共同点是,存在一个或多个与对象相关的未知量,需要根据其他观测到的量来确定。

监督学习进一步分为两类:分类和回归。

在分类中,标签是离散的,而在回归中,标签是连续的。 例如,在天文学中,确定一个物体是恒星、星系还是类星体的任务是一个分类问题:标签来自三个不同的类别。 另一方面,我们可能希望根据这样的观察来估计对象的年龄:这将是一个回归问题,因为标签(年龄)是一个连续量。

分类:K 最近邻 (kNN) 是最简单的学习策略之一:给定一个新的未知观察,在参考数据库中查找哪些具有最接近的特征并分配主要类别。 让我们尝试一下分类问题:

 

 Scikit-learn估计器接口概述

Scikit-learn致力于在所有方法中提供统一的接口,我们将在下面看到这些示例。给定一个名为model的scikit-learn估计器对象,可以使用以下方法:

model.fit():拟合训练数据。对于监督学习应用程序,它接受两个参数:数据X和标签y(例如model.fit(X,y))。对于无监督学习应用程序,它只接受一个参数,即数据X(例如model.fit(X))。

 model.predict():给定一个训练好的模型,预测一组新数据的标签。该方法接受一个参数,即新数据X_new(例如model。predict(X_new)),并返回数组中每个对象的学习标签。model.predict_proba():对于分类问题,一些估计器也提供了这种方法,它返回新观测具有每个分类标签的概率。在这种情况下,具有最高概率的标签由model.predict()返回。

 model.score():对于分类或回归问题,大多数估计器实现评分方法。分数介于0和1之间,分数越大表示拟合度越好。model.transform():给定一个无监督模型,将新数据转换为新的基。这也接受一个参数X_new,并返回基于无监督模型的数据的新表示。

model.fit_transform():一些估计器实现了这种方法,它可以更有效地对相同的输入数据执行拟合和变换。

正规化:它是什么以及为什么它是必要的

简单的模型

训练误差

假设您正在使用1-最近邻估计量。你希望你的火车上有多少错误?·训练集误差不是预测性能的良好衡量标准。你需要去掉一个测试集。·一般来说,我们应该接受火车上的错误。

正则化的一个例子

正则化背后的核心思想是,对于“更简单”的某种定义,我们将更喜欢更简单的模型,即使它们会导致训练集上更多的错误。作为一个例子,让我们生成一个9阶多项式,带噪声:现在,让我们将一个4阶和一个9阶多项式拟合到数据中。用你的肉眼,你更喜欢哪种型号,四阶的还是九阶的?让我们看看地面真相:

提示:正则化在机器学习中无处不在。大多数scikit-learn估计器都有一个参数来调整正则化的数量。例如,对于k-NN,它是“k”,即用于做出决策的最近邻居的数量。k=1相当于没有正则化:训练集上的0错误,而大k将在特征空间中推向更平滑的决策边界。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660466.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++之const和指针

const在*号的左边时,此时const修饰的是指针指向的值。 例:const int * ptr,表明解引用之后的值,不可被改变,然而指针ptr呢,它可以指向其他的地址。 const在*号的右边时,此时const修饰的是指针…

监视器和显示器的区别,普通硬盘和监控硬盘的区别

监视器与显示器的区别,你真的知道吗? 中小型视频监控系统中,显示系统是最能展现效果的一个重要环节,显示系统的优劣将直接影响视频监控系统的用户体验满意度。 中小型视频监控系统中,显示系统是最能展现效果的一个重要…

二叉树:数据结构的分形之美

1.树形结构 1.1概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把他叫做树是因为它看起来像一棵倒挂的树,也就说它的根朝上,而叶朝下的。它具有以下的特点: 有一个特殊的节点&#xff0…

透视天气:数据可视化的新视角

数据可视化在天气方面能够为我们带来极大的帮助。天气是人类生活中一个重要的因素,对于农业、交通、航空、能源等各个领域都有着重要的影响。而数据可视化技术通过将复杂的天气数据转化为直观、易懂的图表、图像或地图等形式,为我们提供了更深入、更全面…

ES 深度分页问题及针对不同需求下的解决方案[ES系列] - 第509篇

历史文章(文章累计500) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…

AnyMP4 Blu-ray Ripper for Mac:您的蓝光影音转换专家

AnyMP4 Blu-ray Ripper for Mac,一款功能强大的蓝光影音转换软件,让您的蓝光内容焕发新生。 AnyMP4 Blu-ray Ripper for Macv9.0.58激活版下载 它采用最高效的解决方案,将蓝光光盘翻录为任何您想要的视频格式,无论是MP4、MKV还是A…

神经网络与深度学习(四)--自然语言处理NLP

这里写目录标题 1.序列模型2.数据预处理2.1特征编码2.2文本处理 3.文本预处理与词嵌入3.1文本预处理3.2文本嵌入 3.RNN模型3.1RNN概要3.2RNN误差反传 4.门控循环单元(GRU)4.1GRU基本结构 5.长短期记忆网络 (LSTM) 1.序列模型 分类问题与预测问题 图像分…

设计模式第二次测试 | 数据库连接池设计(原型模式、创建者模式、适配器模式)

需求中文如下:原本是英文,用百度翻译转换而来 我们需要设计一个工具,它负责创建一个与数据库软件MySQL的连接池。 连接池中有数百个连接可供客户端使用。 所有连接对象都有相同的内容,但它们是不同的对象。 连接对象的创建是资源密…

rust将json字符串直接转为map对象或者hashmap对象

有些时候我们还真的不清楚返回的json数据里面到底有哪些数据,数据类型是什么等,这个时候就可以使用批处理的方式将json字符串转为一个对象,然后通过这个对象的get方法来获取json里面的数据。 pub async fn test_json(&self) {let json_st…

实验八智能手机互联网程序设计(微信程序方向)实验报告

请在上一次实验的基础之上完成“手机快速注册”页面、“企业用户注册”页面,并实现点击手机快速注册和企业用户注册后转跳至该页面在“手机快速注册”页面,输入框内输入内容并失去焦点后,下方的按钮会变化 在企业用户注册页面,用户…

文件批量高效管理,批量将PDF类型文件移动到指定文件夹里,实现文件高效管理

文件的管理与整理成为了我们生活中不可或缺的一部分。面对堆积如山的PDF文件,你是否也曾感到手足无措、焦头烂额?现在,有了我们的批量文件管理工具,PDF文件的管理将变得前所未有的高效与简单! 首先,我们要…

深入理解正则表达式:从入门到精通

title: 深入理解正则表达式:从入门到精通 date: 2024/4/30 18:37:21 updated: 2024/4/30 18:37:21 tags: 正则Python文本分析日志挖掘数据清洗模式匹配工具推荐 第一章:正则表达式入门 介绍正则表达式的基本概念和语法 正则表达式是一种用于描述字符串…