快速了解—机器学习、K-近邻算法及其API

这篇具有很好参考价值的文章主要介绍了快速了解—机器学习、K-近邻算法及其API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、ML机器学习(Machine Learning)

1、应用领域:数据挖掘、自然语言处理 NLP、计算机视觉 CV等。

2、发展的三要素:数据、算法、算力

3、相关术语

机器学习模型 = 数据 + 算法

数据:用于训练模型

        样本(sample):一行数据

        特征(feature):一列数据(必须和目标相关)

        标签(label)/目标(target):要预测的值,即答案列

数据集:训练集、测试集

        x_train:训练集的特征值

        y_train:训练集的目标值

        x_test:测试集的特征值

        y_test:测试集的目标值

二、算法分类(根据数据是否有标签)

1、有监督:监督学习的算法,要求数据一定要有目标值

                回归问题:目标值是连续取值(房价、薪水)

                分类问题:目标值是类别型(二分类、三分类、多分类)

2、无监督:没有目标值,无反馈

                典型场景聚类,获得标签的成本太高,可以采用无监督的方式(反欺诈)

3、半监督:一部分数据有标签、一部分数据没有标签

三、建模流程

1、获取数据

2、数据基本处理:空值、异常、重复

3、特征工程

    特征提取:原始数据中提取与任务相关的特征,构成特征向量

    预处理、降维、选择、组合

4、模型训练(调参):线性回归、逻辑回归、决策树、GBDT

5、模型评估:回归评测指标、分类评测指标、聚类评测指标

四、模型拟合

1、分类

        欠拟合:模型在 训练集和测试集 表现都很差

                产生原因:模型过于简单,特征过少

                解决办法:添加其他特征;添加多项式特征项

        过拟合:训练集表现很好,测试集表现很差

                产生原因:模型过于复杂、数据不纯、训练数据太少

                解决方法:重新清洗数据,增大训练数据的样本量,正则化,减少特征维度

Early stopping:当模型训练到某个固定的验证错误率阈值时,及时停止模型训练

2、正则化

        异常点数据造成权重系数过大、过小,尽量减少这个特征的影响(甚至删除某个特征的影响),这就是正则化。

        为了减少 过拟合的影响,控制模型的参数。尤其是高次项的权重参数

L1正则化:使得权重趋向于 0,甚至等于 0,使得某些特征失效,达到特征筛选的目的

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

导包:from sklearn.linear_model import Lasso

正则化:estimator = Lasso ( alpha = 0.005,normalize = True )

        a:惩罚系数,该值越大则权重调整的幅度就越大

L2正则化:使得权重趋向于 0,一般不等于 0,对高次方项系数影响较大

tips:工程开发常用,产生一些平滑的权重系数

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

岭回归导包:from sklearn.linear_model import Ridge

正则化:estimator = Ridge( alpha = 0.005,normalize = True )

五、KNN(K-近邻算法)

1、概述

        通过计算距离来判断样本之间的相似程度,距离越近两个样本就越相似, 就可以划归到一个类别中

2、算法思想

        如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别

3、样本相似性

        样本都属于一个任务数据集,样本距离越近越相似

4、基本流程

        1. 使用KNN算法对一个样本进行分类

        2. 计算当前样本和其它样本, 特征取值之间的距离,按距离 从小到大 进行排序

        3. 确定K值 :  离该样本最近的K个样本

        4. 通过这K个样本的类别 确定当前样本的类别

5、K(超参数)可调

        K越小 模型越复杂  容易受到 异常点 的影响,过拟合

        K越大 模型越简单  受到数据分布的影响,欠拟合

        当K = 样本数量的时候, 模型结果是确定的结果

6、API

        1. K-近邻导包

from sklearn.neighbors import KNeighborsClassifier,KNeighborsRegressor

        KNeighborsClassifier k-近邻(分类)

        KNeighborsRegressor k-近邻(回归)

        2. 创建 K近邻的分类器 / 回归器

        knn = KNeighborsClassifier(n_neighbors = 1)

        n_neighbors:即K值,样本个数

        3. 调用fit 模型训练

        knn.fit(x, y)                x 训练集特征值

                                          y 训练集目标值

        4. 使用训练好的模型进行预测

        knn.predict ( [[4,4,5]] )

        tips:训练时的维度 与 预测时传入的维度 要相同

7、距离 的度量方式

欧氏距离:两点之间的直线距离

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

曼哈顿距离:

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

切比雪夫距离:

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

闵可夫斯基距离:多种距离的总的表示公式

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

p = 1 曼哈顿,p = 2 欧氏距离,p = ∞ 切比雪夫距离

六、特征工程

1、归一化 / 标准化:可以把量纲不统一的特征,缩放到同一取值范围内

2、归一化(受异常值影响)

1. 归一化导包:from sklearn.preprocessing import MinMaxScaler

2. 创建一个 Scaler 对象:scaler = MinMaxScaler ( )

3. 调用fit 模型训练:scaler.fit(x)

        fit 就是在计算每一列 特征 的最大值和最小值, 并保存到 scaler 对象中

4. Transform 得到缩放之后的结果:scaler.transform(x)

        Transform 变化,利用上一步计算出来的 最大最小值, 作用到原始数据上,得到缩放之后的结果

3、标准化

快速了解—机器学习、K-近邻算法及其API,人工智能,机器学习

1. 标准化导包:from sklearn.preprocessing import StandardScaler

2. 创建一个 Scaler 对象:scaler = StandardScaler ( )

3. 调用fit 模型训练:scaler.fit(x)

        fit 就是在计算每一列 特征 的均值方差, 并保存到 scaler 对象中

4. Transform 得到缩放之后的结果:scaler.transform(x)

        Transform 变化,利用上一步计算出来的 均值和方差, 作用到原始数据上,得到缩放之后的结果文章来源地址https://www.toymoban.com/news/detail-818514.html

到了这里,关于快速了解—机器学习、K-近邻算法及其API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习——K近邻(KNN)算法

    目录 一、knn算法概述 1.简单介绍 2.工作原理 3.knn算法中常用的距离指标 4.knn算法优势 5.knn算法一般流程 二、knn算法经典实例——海伦约会网站 三、关于天气和旅行适合度的例子 四、总结 K近邻算法(KNN)是一种用于分类和回归的统计方法。k-近邻算法采用测量不同特征值之

    2024年01月16日
    浏览(36)
  • 【机器学习】机器学习创建算法第4篇:K-近邻算法,学习目标【附代码文档】

    机器学习(算法篇)完整教程(附代码资料)主要内容讲述:机器学习算法课程定位、目标,K-近邻算法定位,目标,学习目标,1 什么是K-近邻算法,1 Scikit-learn工具介绍,2 K-近邻算法API。K-近邻算法,1.4 k值的选择学习目标,学习目标,1 kd树简介,2 构造方法,3 案例分析,4 总结。K-近邻

    2024年04月12日
    浏览(37)
  • 机器学习——K最近邻算法(KNN)

    机器学习——K最近邻算法(KNN) 在传统机器学习中,KNN算法是一种基于实例的学习算法,能解决分类和回归问题,而本文将介绍一下KNN即K最近邻算法。 K最近邻(KNN)算法是一种基于实例的学习算法,用于分类和回归问题。它的原理是 根据样本之间的距离来进行预测 。 核

    2024年02月09日
    浏览(41)
  • 【机器学习】分类算法 - KNN算法(K-近邻算法)KNeighborsClassifier

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 is_array() 可以 「检测」 变量是不是 「数组」 类型。 语法 参数 $var :需要检

    2024年02月16日
    浏览(40)
  • 【Python机器学习】实验06 KNN最近邻算法

    1. k k k 近邻法是基本且简单的分类与回归方法。 k k k 近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的 k k k 个最近邻训练实例点,然后利用这 k k k 个训练实例点的类的多数来预测输入实例点的类。 2. k k k 近邻模型对应于基于训练数据集对

    2024年02月15日
    浏览(47)
  • 【Python】机器学习-K-近邻(KNN)算法【文末送书】

             目录 一 . K-近邻算法(KNN)概述  二、KNN算法实现 三、 MATLAB实现 四、 实战         K-近邻算法(KNN)是一种基本的分类算法,它通过计算数据点之间的距离来进行分类。在KNN算法中,当我们需要对一个未知数据点进行分类时,它会与训练集中的各个数据点进

    2024年02月08日
    浏览(43)
  • 机器学习算法:K近邻(k-nearest neighbors)初探

    KNN的介绍和应用 KNN(K-Nearest Neighbor)算法是一种基于实例的学习算法,也是一种常见的分类算法。 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 示例 :如上图,绿色圆要被决定赋予哪个类,是红

    2023年04月08日
    浏览(41)
  • 用K近邻(KNN)机器学习算法进行股票走势预测-Python

    K近邻(KNN,K-Nearest Neighbors)是最简单的机器学习算法之一,可用于回归和分类。KNN是一种“惰性”学习算法,从技术上讲,它不训练模型来进行预测。K近邻的逻辑是,假设有一个观测值,这个观测值被预测属于离它k个最近观测值中所占比例最大的那一个类。KNN方法是直接尝试

    2024年02月04日
    浏览(49)
  • 2.机器学习-K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解

    🏘️🏘️个人主页:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。 🎉🎉 免费学习专栏 : 1. 《Python基础入门》——0基础入门 2.《Python网络爬虫》——从入门到精通 3.《Web全栈开

    2024年01月23日
    浏览(50)
  • 【AI】了解人工智能、机器学习、神经网络、深度学习

    一、深度学习、神经网络的原理是什么? 深度学习和神经网络都是基于对人脑神经系统的模拟。下面将分别解释深度学习和神经网络的原理。 深度学习的原理: 深度学习是一种特殊的机器学习,其模型结构更为复杂,通常包括很多隐藏层。它依赖于神经网络进行模型训练和

    2024年02月06日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包