【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录

  • 一. 什么是机器学习
    • 1. 概念
    • 2. 机器学习算法分类
  • 二. 利用预测模型解决问题的步骤
  • 三. 机器学习的Python生态圈

一. 什么是机器学习

1. 概念

机器学习(Machine Learning,ML)是一门多领域的交叉学科,涉及概率论、统计学、线性代数、算法等多门学科。

它专门研究计算机如何模拟和学习人的行为,以获取新的知识或技能,重新组织已有的知识结构使之不断完善自身的性能。

机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。

 

2. 机器学习算法分类

机器学习的算法分为两大类:监督学习和无监督学习。

监督学习

监督学习即在机器学习过程中提供对错指示。一般是在数据组中包含最终结果(0,1),通过算法让机器自己减少误差。这一类学习主要应用于分类和预测(Regression &Classify)。

基本逻辑
监督学习从给定的训练数据集中学习出一个目标函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入和输出,也可以说包括特征和目标,训练集中的目标是由人标注的

常见的监督学习算法包括回归分析和统计分类。

 
非监督学习

非监督学习又称归纳性学习(Clustering),利用K方式(KMean)建立中心(Centriole),通过循环和递减运算(Iteration&Descent)来减小误差,达到分类的目的。

 

 

二. 利用预测模型解决问题的步骤

预测模型

与统计学不同,机器学习的预测模型是用来理解数据的,聚焦于如何创建一个更加精准的模型,而不是用来解释模型是如何设置的。

 

利用机器学习的预测模型来解决问题共有六个基本步骤,如图:

在这里插入图片描述

  • 定义问题:研究和提炼问题的特征,以帮助我们更好地理解项目的目标。
  • 数据理解:通过描述性统计和可视化来分析现有的数据。
  • 数据准备:对数据进行格式化,以便于构建一个预测模型。
  • 评估算法:通过一定的方法分离一部分数据,用来评估算法模型,并选取一部分代表数据进行分析,以改善模型。
  • 优化模型:通过调参和集成算法提升预测结果的准确度。
  • 结果部署:完成模型,并执行模型来预测结果和展示。

一旦明白了如何使用Python平台来完成机器学习的任务,就可以在不同的项目中重复使用这种方法解决问题。

 

三. 机器学习的Python生态圈

Python是一种功能强大且灵活的编程语言,特别适用于机器学习,这得益于其可读性、一致性和健壮的数据科学库生态系统。

  • Python基础:Python编程需要理解基本语法、数据类型、错误处理和面向对象编程。
  • 数据科学库:熟悉NumPy进行数值操作,用Pandas进行数据处理和分析,用Matplotlib和Seaborn做数据可视化。
  • 数据预处理:涉及特征缩放和规范化、处理缺失数据、异常检测、类别数据编码,以及将数据分割为训练、验证和测试集。
  • 机器学习库:熟练使用Scikit-learn,这是一个提供广泛的监督和无监督学习算法的python库。这里需要理解如何实现线性回归、逻辑回归、决策树、随机森林、最近邻(K-NN)和K均值聚类等算法。

简单来说

  • scikit-learn提供的机器学习的算法
  • 利用NumPy数组来准备机器学习算法的数据
  • 使用Matplotlib来创建图表,展示数据
  • 通过Pandas导入、展示数据,以便增强对数据的理解和数据清洗、转换等工作.

其中

scikit-learn依赖于SciPy及其相关类库来运行。scikit-learn的基本功能主要分为六大部分:分类、回归、聚类、数据降维、模型选择和数据预处理。

需要指出的是,由于scikit-learn本身不支持深度学习,也不支持GPU加速,因此scikit-learn对于多层感知器(MLP)神经网络的实现并不适合处理大规模问题。(scikit-learn对MLP的支持在0.18版之后增加)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习 --- stanford cs231学习笔记(一)

stanford cs231学习笔记(一) 1,先是讲到了机器学习中的kNN算法,然后因为kNN分类器的一些弊端,引入了线性分类器。 kNN算法的三大弊端: (1),计算量大,当特征比较多时表示性差 (2),训练时耗时少…

01 - 安装Kettle

下载安装包 我这边提供的安装包是绿色版的,开箱即用 Kettle.exe 阿里云盘分享 提取码: 8sd5 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 启动步骤 解压 双击Spo…

注意力机制(四)(多头注意力机制)

​🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀《深度学习基础知识》 相关专栏: ⚽《机器学习基础知识》 🏐《机器学习项目实战》 🥎《深度学习项目实…

Python | Leetcode Python题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; class Solution:def canJump(self, nums: List[int]) -> bool:n, rightmost len(nums), 0for i in range(n):if i < rightmost:rightmost max(rightmost, i nums[i])if rightmost > n - 1:return Truereturn False

闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子

前言 一个在实际应用中 EF Core 集成 FluentValidation 进行数据校验的例子。 Step By Step 步骤 创建一个 Asp.Net Core WebApi 项目 引用以下 Nuget 包 FluentValidation.AspNetCore Microsoft.AspNetCore.Identity.EntityFrameworkCore Microsoft.EntityFrameworkCore.Re…

Unity 合并子物体获得简化Mesh

合并子物体获得简化Mesh &#x1f959;环境&#x1f96a;Demo &#x1f959;环境 PackageManager安装Editor Coroutines 导入插件&#x1f448; &#x1f96a;Demo 生成参数微调&#xff1a;Assets/EasyColliderEditor/Scripts/VHACDSettings/VHACDSettings.asset

TDengine高可用架构之TDengine+Keepalived

之前在《TDengine高可用探讨》提到过&#xff0c;TDengine通过多副本和多节点能够保证数据库集群的高可用。单对于应用端来说&#xff0c;如果使用原生连接方式&#xff08;taosc&#xff09;还好&#xff0c;当一个节点下线&#xff0c;应用不会受到影响&#xff1b;但如果使用…

Kafka 3.x.x 入门到精通(03)——Kafka基础生产消息

Kafka 3.x.x 入门到精通&#xff08;03&#xff09;——对标尚硅谷Kafka教程 2. Kafka基础2.1 集群部署2.2 集群启动2.3 创建主题2.4 生产消息2.4.1 生产消息的基本步骤2.4.2 生产消息的基本代码2.4.3 发送消息2.4.3.1 拦截器2.4.3.1.1 增加拦截器类2.4.3.1.2 配置拦截器 2.4.3…

Mysql事务—隔离级别—脏读、不可重复读、幻读-遥遥领先版

事务的基本概念 事务就是一组原子性的操作&#xff0c;这些操作要么全部发生&#xff0c;要么全部不发生。事务把数据库从一种一致性状态转换成另一种一致性状态。 事务最经典也经常被拿出来说例子就是转账了。 假如小明要给小红转账1000元&#xff0c;这个转账会涉及到两个…

Linux进程——进程的概念(PCB的理解)

前言&#xff1a;在了解完冯诺依曼体系结构和操作系统之后&#xff0c;我们进入了Linux的下一篇章Linux进程&#xff0c;但在学习Linux进程之前&#xff0c;一定要阅读理解上一篇内容&#xff0c;理解“先描述&#xff0c;再组织”才能更好的理解进程的含义。 Linux进程学习基…

【中级软件设计师】上午题12-软件工程(3):项目活动图、软件风险、软件评审、软件项目估算

【中级软件设计师】上午题12-软件工程&#xff08;3&#xff09; 1 软件项目估算1.1 COCOMO估算模型1.2 COCOMOⅡ模型 2 进度管理2.1 gantt甘特图2.2 pert图2.3 项目活动图2.3.1 画项目图 3 软件配置管理4 软件风险4.1 风险管理4.2 风险识别4.3 风险预测4.4 风险评估4.5 风险控…

二叉树遍历递归法迭代法实现

一.递归法实现二叉树遍历 前序遍历 创建一个节点类 属性是val,左节点&#xff0c;右节点 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val x; } } 前序遍历 class Solution {public List<Integer> preorderTraversa…

微服务启动慢,看我如何消灭这些憨憨怪!

Hello&#xff0c;我是大都督周瑜&#xff0c;最近在公司做微服务启动速度的优化&#xff0c;我们有些微服务启动要花5-6分钟&#xff08;就问你夸不夸张&#xff09;&#xff0c;直接导致打工人们有了更多的划水时间&#xff0c;领导表示不开心&#xff0c;要求我将微服务的启…

python监听html click教程

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python实现监听HTML点击事件 在Web开发中&#xff0c;经常需要在用户与页面交互时执行一些…

乐观锁悲观锁

视频&#xff1a;什么是乐观锁&#xff1f;什么是悲观锁&#xff1f;_哔哩哔哩_bilibili

如何在电脑桌面上显示每天的待办事项?

对于上班族来说&#xff0c;每天面临的任务繁杂&#xff0c;很容易遗漏或忘记某些重要事项。因此&#xff0c;在电脑桌面上直接显示每天的待办事项显得尤为重要。例如&#xff0c;当你忙于处理邮件或编写报告时&#xff0c;桌面的待办事项提醒能够让你一目了然地掌握接下来的工…

C语言进阶|链表经典OJ题

✈移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 方法一&#xff1a; 遍历链表找到所有等于val的节点&#xff0c;再执行删除操作删除这些节点。 方法二&#xff1a; …

Flask 数据库前后端交互案例-1

Flask 数据库前后端交互案例 目录结构templates目录base.htmlheader.htmlleft.html首页职员管理页面添加员工界面员工编辑页面员工详情界面 后台main.pyapp.pymodels.pyviews.py 数据库数据position.sqlperson.sqlpermission.sqldepartment.sql 目录结构 静态文件链接&#xff…

Linux工具篇 之 vim概念 操作 及基础指令讲解

学校不大 创造神话 讲桌两旁 陨落的王 临时抱佛脚 佛踹我一脚 书山有路勤为径 游戏玩的很起劲 想要计算机学的好&#xff0c;我的博客列表是个宝 –❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀–❀–❀–❀…

OceanBase开发者大会实录-杨传辉:携手开发者打造一体化数据库

本文来自2024 OceanBase开发者大会&#xff0c;OceanBase CTO 杨传辉的演讲实录—《携手开发者打造一体化数据库》。完整视频回看&#xff0c;请点击这里&#xff1e;> 各位 OceanBase 的开发者&#xff0c;大家上午好&#xff01;今天非常高兴能够在上海与大家再次相聚&…