【机器学习】机器学习基础概念与初步探索

news2024/9/23 21:19:22

❀机器学习

  • 📒1. 引言
  • 📒2. 机器学习概述
  • 📒3. 机器学习基础概念
    • 🎉2.1 机器学习的分类
    • 🎉2.2 数据预处理
      • 🌈数据清洗与整合
      • 🌈 特征选择和特征工程
      • 🌈数据标准化与归一化
  • 📒4. 常见机器学习算法
  • 📒5. 机器学习模型实践
    • 🎉5.1 使用Python和scikit-learn进行模型训练
    • 🎉5.2 数据集加载与探索性数据分析
    • 🎉5.3 模型的训练与评估
  • 📒 6. 总结与展望
    • 🎉总结
    • 🎉机器学习领域的未来发展趋势
    • 🎉学习机器语言的建议
    • 🎉展望未来


📒1. 引言

在数字化时代的浪潮中,我们见证了前所未有的信息爆炸和数据处理挑战。随着数据量的不断增长和复杂性的日益提升,如何从中提取有价值的信息、做出智能的决策成为了各行各业共同面临的问题。这正是机器学习(Machine Learning)崭露头角并迅猛发展的背景。本章将简要介绍机器学习的定义和应用领域,提供对机器学习的基本认识。

在这里插入图片描述

📒2. 机器学习概述

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。作为人工智能的核心,机器学习是使计算机具有智能的根本途径。未来的机器学习将具有更高的自动化水平,能够处理更加复杂和抽象的问题,为人类带来更多的便利和价值。


📒3. 机器学习基础概念

在这里插入图片描述


🎉2.1 机器学习的分类

监督学习:

  • 监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。在监督学习中,每个实例都是由一个输入对象和一个期望的输出值组成。监督学习算法通过分析训练数据,并产生一个推断的功能,可以用于映射出新的实例。
  • 常见的监督学习算法包括线性分类器、支持向量机(SVM)、决策树、k近邻和随机森林等,
  • 监督学习通过构建模型来识别模式和规律,从而能够做出预测和决策。

无监督学习:

  • 无监督学习与监督学习不同,其数据没有显式的标签或已知的结果变量,无监督学习的核心目的是从输入数据中发现隐藏的模式、结构和规律。
  • 常见的无监督学习算法有主成分分析、奇异值分解等。

强化学习:

  • 强化学习是机器学习的一种,是通过与环境交互来学习的机器学习方法。强化学习的主要特点是反复实验和获得奖励,并根据获得的奖励来调整行为策略
  • 强化学习中的时间非常重要,因为数据都是有时间关联的。强化学习在游戏、机器人控制、自然语言处理等领域有广泛应用。

综上所述:监督学习、无监督学习与强化学习各有其特点和优势,适用于不同的应用场景。在实际应用中,我们需要根据具体问题和数据特点来选择合适的机器学习类型。


🎉2.2 数据预处理

🌈数据清洗与整合

数据清洗:

  • 数据清洗是数据预处理中非常关键的一步,它涉及检查数据的一致性、完整性和准确性,并纠正或删除不准确或不完整的记录,然后对这些数据进行处理
  • 常见的数据清洗操作包括删除缺失值、填充缺失值、处理异常值和去重等

数据整合:
数据整合是把在不同数据源的数据收集、整理、清洗、转换后,加载到一个新的数据源,为数据消费者提供统一数据视图的数据集成方式


🌈 特征选择和特征工程

特征选择:

  • 特征选择是从原始特征集中选择出子集,使得这个子集在机器学习任务上能够获得更好的性能
  • 特征选择目标是减少过拟合,提高模型准确性,减少计算成本
  • 特征选择的方法主要有过滤法,包装法,嵌入法

特征工程:

  • 特征工程它涉及对原始数据通过数据转换、组合、编码等方式来提高模型的预测能力,简化模型,提高模型的性能和效果
  • 特征工程的主要操作包括数值化、独热编码、特征缩放

🌈数据标准化与归一化

数据标准化: 通常是通过将数据指将原始数据按比例缩放,使其落入一个特定的尺度,以便不同特征之间具有可比性,常见的标准化方法有Z-score标准化

数据归一化: 是将数据缩放到一个指定的范围,通常是[0, 1]或[-1, 1]。归一化通常是通过将数据减去最小值,然后除以数据的范围来实现的,常见的归一化方法有Z-score标准化

数据标准化代码示例(Python)

import pandas as pd  
from sklearn.preprocessing import StandardScaler  
  
# 假设我们有一个名为df的DataFrame  
data = {  
    'feature1': [1, 2, 3, 4, 5],  
    'feature2': [90, 100, 110, 120, 130],  
    'feature3': [2.2, 3.4, 5.6, 7.8, 10.0]  
}  
df = pd.DataFrame(data)  
  
# 初始化StandardScaler  
scaler = StandardScaler()  
  
# 使用fit_transform方法在原始数据上进行标准化,并获取结果  
# 注意:这将直接在数据上进行就地变换(inplace),但我们在这里赋值给一个新的变量以显示变化  
df_scaled = scaler.fit_transform(df)  
  
# 将标准化后的数据转换回DataFrame(如果需要的话)  
# 注意:列名可能与原始DataFrame相同,但数据已经是标准化的了  
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)  
  
# 输出处理后的数据  
print("原始数据:")  
print(df)  
print("\n标准化后的数据:")  
print(df_scaled)

📒4. 常见机器学习算法

线性回归算法

  • 线性回归:用于预测连续值的方法,它假设特征和目标之间的关系是线性的
  • 适用场景:线性回归适用于预测连续数值型目标变量,并且当自变量与目标变量之间存在线性关系时效果最佳
  • 优点:简单易懂,计算效率高,对于线性关系的数据有很好的拟合效果
  • 缺点:对于非线性关系的数据拟合效果较差,容易受到异常值的影响

逻辑回归

  • 逻辑回归:述逻辑回归的概念和应用,可以解释逻辑回归的sigmoid函数和损失函数
  • 适用场景:逻辑回归适用于二分类问题,特别是当输出结果为二元(是/否,真/假)时
  • 优点:计算效率高,易于实现,对于二分类问题有很好的分类效果
  • 缺点:对于多分类问题效果较差,且对于非线性关系的数据拟合效果有限

决策树与随机森林

  • 决策树与随机森林:介绍决策树的构建过程和随机森林的集成学习方法。可以通过可视化展示决策树的分裂过程
  • 适用场景:决策树适用于处理离散型和连续型数据,可以用于分类和回归问题。
  • 优点:直观易懂,可解释性强,能够处理非线性关系的数据。
  • 缺点:容易过拟合,对于高维数据效果不佳,且对于连续型数据的处理不够精细。

支持向量机(SVM)

  • 支持向量机:算法是一种广泛使用的监督学习算法,主要用于数据分类问题
    支持向量机算法特点:高效性,较好的泛化能力,非线性处理能力
    SVM算法在多个领域都有广泛的应用,如文本分类、图像识别、生物信息学、金融预测等。由于其出色的性能和广泛的应用前景,SVM已经成为机器学习领域中最受欢迎的算法之一

📒5. 机器学习模型实践

🎉5.1 使用Python和scikit-learn进行模型训练

Scikit-learn是一个用于机器学习和数据挖掘的开源Python库,scikit-learn库是一个常用的选择,因为它提供了许多现成的机器学习算法

import numpy as np  
from sklearn.model_selection import train_test_split  
from sklearn.preprocessing import StandardScaler  
from sklearn.linear_model import LinearRegression  
from sklearn.metrics import mean_squared_error  
  
# 手动创建模拟数据  
np.random.seed(42)  # 为了结果的可复现性  
X = 2 * np.random.rand(100, 1)  # 100个样本,1个特征,值在[0, 2)之间  
y = 4 + 3 * X + np.random.randn(100, 1)  # 线性关系加上一些噪声  
  
# 数据预处理
scaler = StandardScaler()  
X_scaled = scaler.fit_transform(X)  
  
# 划分训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)  
  
# 初始化模型
model = LinearRegression()  
  
# 训练模型  
model.fit(X_train, y_train.ravel())  # 注意y_train需要是一维数组,所以使用ravel()  
  
# 使用模型进行预测  
y_pred = model.predict(X_test)  
  
# 评估模型性能 
mse = mean_squared_error(y_test.ravel(), y_pred)  
rmse = np.sqrt(mse)  
print(f'Root Mean Squared Error: {rmse}')

🎉5.2 数据集加载与探索性数据分析

数据集加载与探索性数据分析是项目中至关重要的步骤\


数据集加载

数据集来源

  • 内置数据集:如scikit-learn库中的鸢尾花数据集(load_iris)、手写数字数据集(load_digits)等
  • 外部文件:从CSV、Excel、JSON、数据库等外部文件中加载数据
  • API接口:从在线API获取数据

加载方法

  • 使用scikit-learn内置函数:如load_iris()加载鸢尾花数据集
  • 使用Pandas库:如pd.read_csv(‘data.csv’)从CSV文件加载数据
  • 使用NumPy库:如np.load(‘data.npy’)从二进制文件加载数据
  • 使用SQLAlchemy库:从关系型数据库中加载数据

探索性数据分析
探索性数据分析的主要目的是了解数据的性质、结构和潜在模式,为后续的数据处理和建模提供指导。

数据收集与清洗

  • 数据收集:从各种来源收集数据
  • 数据清洗:去除重复值、缺失值、异常值和噪声

数据可视化

  • 使用直方图、散点图、折线图等可视化工具展示数据
    这有助于快速发现数据中的趋势、模式和异常

描述性统计

  • 计算均值、中位数、方差、标准差等描述性统计量
  • 了解数据的基本特征,如中心趋势、离散程度等

深入探索

  • 相关性分析:探索变量之间的关系
  • 回归分析:研究一个或多个自变量与因变量之间的关系
  • 聚类分析:将数据划分为不同的组或簇

🎉5.3 模型的训练与评估

模型的训练

模型训练:指使用已知的数据集来训练机器学习模型,使其能够学习数据中的模式和规律。训练集通常包括一组特征(输入)和对应的标签(输出),模型的目标就是根据输入特征预测输出标签

模型的评估

模型评估:是验证模型性能的过程,旨在评估模型对新数据的预测能力。评估模型通常使用独立的测试集,该测试集在训练过程中是未知的,以确保评估结果的客观性和公正性

我们举个简单的例子,实际中有更复杂的模型

from sklearn.model_selection import train_test_split  
from sklearn.linear_model import LogisticRegression  
from sklearn.metrics import accuracy_score, classification_report  
from sklearn.datasets import load_iris 
# 加载数据集  
iris = load_iris()  
X = iris.data  # 特征  
y = iris.target  #  
  
# 为了示例简单,我们只取两个类别  
X = X[y < 2]  
y = y[y < 2]  
  
# 划分训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)  
  
# 初始化模型  
model = LogisticRegression()  
  
# 训练模型  
model.fit(X_train, y_train)  
  
# 使用模型进行预测  
y_pred = model.predict(X_test)  
  
# 评估模型:计算准确率  
accuracy = accuracy_score(y_test, y_pred)  
print(f'Accuracy: {accuracy}')  
  
# 评估模型:打印分类报告  
report = classification_report(y_test, y_pred)  
print(report)

模型的训练和评估是机器学习和数据科学项目中非常重要的两个步骤。通过训练模型,我们可以使其学习数据中的模式和规律;通过评估模型,我们可以验证其性能并确定是否满足实际需求。在评估模型时,我们需要选择合适的评估指标,并使用独立的测试集或交叉验证等技术来确保评估结果的客观性和公正性


📒 6. 总结与展望

🎉总结

在本文中,深入探讨了机器学习的基础概念、常见算法,模型实践希望能够从中获得对机器学习的全面了解,并对其在未来发展的重要性和应用价值做出了判断

🎉机器学习领域的未来发展趋势

机器学习领域的未来重要性和应用价值是不可忽视的。随着技术的不断发展和数据的不断增长,机器学习正逐渐成为推动社会进步和经济发展的关键力量,机器学习将在金融、医疗、零售等传统领域继续深入应用,同时在新兴领域如物联网、自动驾驶、智能家居等也将发挥更加重要的作用,它不仅将推动科技进步和经济发展,还将为人类社会带来更加美好的未来

🎉学习机器语言的建议

要学好机器学习,首先要夯实数学基础,特别是线性代数、概率论和统计学。其次,选择权威的教程或课程,系统学习机器学习算法和原理。同时,熟练掌握编程语言(如Python),熟悉常用机器学习库。勤做实践项目,将所学知识应用于实际问题。保持对新技术的好奇心,持续学习,紧跟行业前沿。勇于探索,不怕失败,通过不断实践和挑战自我,逐渐掌握机器学习的精髓

🎉展望未来

机器学习将继续引领科技革新的浪潮,其应用将愈发广泛且深入。随着算法的不断优化和计算能力的显著提升,机器学习将能够处理更加复杂、多样化的数据,从而为我们提供更准确、更智能的决策支持。我们期待看到机器学习在医疗、金融、教育、交通等领域发挥更大的作用,解决现实生活中的诸多难题。同时,随着技术的不断进步,让我们共同期待机器学习技术在未来的发展
在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8s service 进阶

文章目录 K8s service 进阶Service 工作逻辑Service 具体实现Service 资源类型ClusterIPNodePortLoadBalancerExternalName Service 与 EndpointEndpoint 与 容器探针自定义Endpoint Service 相关字段sessionAffinityexternalTrafficPolicyinternalTrafficPolicypublishNotRead…

揭秘《庆余年算法番外篇》:范闲通过贝叶斯定理找到太子火烧史家镇的证据

剧情背景 在《庆余年2》中史家镇是李云睿和二皇子向北齐走私的重要通道&#xff0c;太子派人把史家镇烧成灰烬&#xff0c;最后嫁祸于二皇子&#xff0c;加大范闲对二皇子的恨意&#xff0c;坐收渔翁之利&#xff0c;意图销毁所有证据。范闲痛心疾首&#xff0c;但是马上调整&…

文章一:华为晟腾310b的Atlas 200 AI加速模块进行视频的AI分析,硬件使用的是Oringepi alpro(推荐环境安装)

1&#xff0c;首先本次我们使用MindxSDK进行视频分析 2&#xff0c;环境安装 主要还是参考官方的安装步骤&#xff0c;安装步骤链接 2.1,安装NPU&#xff0c;检查NPU安装情况 默认的官方的ubuntu是自带安装NPU的driver的&#xff0c;只需要检查一下版本就可以了。 mxVisio…

两种现货白银资金的管理方法 你喜欢哪一种?

做现货黄金交易&#xff0c;除了投资者的盘感、市场分析技巧等因素以外&#xff0c;其实对于现货白银资金的管理也是很重要的。下面我们就来介绍两个现货白银资金的管理方法&#xff0c;主要是开仓和加仓方面的。 按照投资者的操作风格&#xff0c;我们可以将现货白银资金管理的…

防火墙基础基础篇:NAT转发功能之——Easy IP方式详解

防火墙基础基础篇&#xff1a;NAT转发功能之——Easy IP方式详解 1. 概念 Easy IP 是一种简化版的动态NAPT&#xff08;Network Address and Port Translation&#xff09;技术。在Easy IP中&#xff0c;我们只使用一个公网IP地址&#xff0c;无需建立公有IP地址池。这个公网…

拼多多买家关注店铺 id 导出商品收藏导出查看全店spu_id

拼多多买家账号导出关注列表店铺 id、商品 id 登录网页端拼多多界面&#xff0c;清缓存后 F12加载数据&#xff0c;下滑界面自动加载缓存&#xff1b; 查看商品收藏 登录网页端拼多多界面&#xff0c;清缓存后 F12加载数据&#xff0c;下滑界面自动加载缓存&#xff1b; 一…

现在股票交易佣金标准最低是万0.854,低佣金炒股开户方式和流程!

股票交易佣金的最低标准是万分之0.854&#xff1b; 证券公司股票交易佣金默认是万分之3&#xff1b; 无门槛的股票交易佣金是万分之1&#xff1b; 万分之0.854的佣金要求投资者资产达到一定规模&#xff0c;不同的证券公司规定不一样。 如果没有经过证券公司客户经理协商开…

Java时间类--JDK8

为什么JDK8会又新增时间相关类呢&#xff1f; ① JDK7的时间对象如果需要比较大小的话&#xff0c;必须都先转换成毫秒值&#xff1b;JDK8则不需要&#xff0c;可以直接比较。 ② JDK7的时间对象可以修改&#xff0c;在多线程环境下就会导致数据不安全&#xff1b;JDK8不能修改…

Linux 进程相关概念

用以下指令查找正在运行的进程&#xff0c;并使用 grep 过滤出包含 "int" 的行。 "ps -aux" 显示当前系统上所有用户的进程列表&#xff0c;而 grep 命令则筛选出包含 "int" 的行。 ps -aux|grep int p代表process进程 1.什么是程序&#xff…

JavaScript(ES6)入门

ES6 1、介绍 ECMAScript 6&#xff08;简称ES6&#xff09;是于2015年6月正式发布的JavaScript 语言的标准&#xff0c;正式名为ECMAScript 2015&#xff08;ES2015&#xff09;。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序&#xff0c;成为企业级开发语言。…

unity回到低版本报错解决

用高版本2022打开过后的再回到2020就报了一个错。 报错如下&#xff1a; Library\PackageCache\com.unity.ai.navigation1.1.5\Runtime\NavMeshSurface.cs 看了一下是Library&#xff0c;然后我删除了整个Library文件夹&#xff0c;重启启动生成Library&#xff0c;然后还是…

【全开源】在线题库微信小程序系统源码(ThinkPHP+FastAdmin+UniApp)

打造个性化学习平台 一、引言&#xff1a;在线学习的未来趋势 在数字化时代&#xff0c;线上学习已逐渐成为主流。随着移动互联网的普及&#xff0c;小程序以其轻便、快捷、无需安装的特点&#xff0c;成为用户日常学习的新选择。为了满足广大用户对于在线学习的需求&#xf…

分治法(棋盘覆盖问题)

目录 前言 一、棋盘覆盖 二、图示解析 三、代码实现 四、具体分析 总结 前言 有一个 x &#xff08;k>0&#xff09;的棋盘&#xff0c;恰好有一个方格与其他方格不同&#xff0c;称之为特殊方格。现在要用L形骨牌覆盖除了特殊方格以外的其他全部方格&#xff0c;骨牌可以…

2.8万字总结:金融核心系统数据库升级路径与场景实践

OceanBase CEO 杨冰 谈及数字化转型&#xff0c;如果说过去还只是头部金融机构带动效应下的“选择题”。那么现在&#xff0c;我相信数字化转型已经成为不论大、中、小型金融机构的“必答题”。 本文为OceanBase最新发布的《万字总结&#xff1a;金融核心系统数据库升级路径…

【ARM+Codesys案例】基于全志T3+Codesys的快递物流单件分离器控制系统

物流涉及国计民生&#xff0c;是在社会发展中不可或缺的一环。随着社会的改革开放&#xff0c;工业发展迅猛&#xff0c;此时也伴随着物流业的快速发展。电商、快递等行业业务量爆发以及人工成本的不断上涨&#xff0c;自动化输送分拣设备市场呈现井喷式发展。物流行业从传统方…

Linux——Docker容器虚拟化平台

安装docker 安装 Docker | Docker 从入门到实践https://vuepress.mirror.docker-practice.com/install/ 不需要设置防火墙 docker命令说明 docker images #查看所有本地主机的镜像 docker search 镜像名 #搜索镜像 docker pull 镜像名 [标签] #下载镜像&…

navicat连接过的库忘记密码

1、点击文件->导出连接 2、勾选想要知道密码的库 3、打开导出的文件搜索Password 4、复制Password解密 把下面的php代码复制到在线运行php的网站&#xff0c;替换最下面的decrypt(‘B7246A6E64D4F50A563FA20427A47991’)括号里的内容&#xff0c;然后执行php代码&#xff0…

Thinkphp5响应式进销存仓库管理系统

随着企业规模的不断扩大和市场竞争的日益激烈&#xff0c;进销存管理在企业的运营中扮演着越来越重要的角色。为了提高企业的运营效率&#xff0c;降低库存成本&#xff0c;提升客户满意度&#xff0c;越来越多的企业开始引入进销存仓库管理系统。 进销存仓库管理系统是一种集…

洛谷 CF1209D Cow and Snacks

题目来源于&#xff1a;洛谷 题目本质&#xff1a;并查集 解题思路&#xff1a; 我们以每种化为一个点&#xff0c;以每个客人喜欢的两朵花给两朵花连一条无向边。则会出现一定数目的连通块&#xff0c;连通块总个数为 ans。 对每个连通块进行分析&#xff1a;第一个客人买走…

大模型部署推理应用技术浅析

大模型完成预训练后不是就万事大吉了&#xff0c;离推理应用还有很大距离&#xff0c;需要经过微调、部署等一系列工程化工作。尤其是在2B的行业大模型应用中&#xff0c;为解决大模型的幻觉、时效性和推理成本问题&#xff0c;需要建立单一模型之上的体系。模型部署中的技术大…