人工智能技术篇*卷(二)

接下来我将以算法引出其应用,并给出具体的实现代码,你可能看不懂,但没关系,本来就没让你看懂,我们现在只是通过它,去了解,什么技术解决什么类型的问题,导入第三方库去训练模型是多么方便,如果你要真正掌握,不仅要学习数学如何实现这个算法的,还有通过编程实现这个算法,你才能修改第三方库,真正完成模型训练的DIY调参数,自定义修改。大部分非专业人工智能技术人员,你能看懂代码是干嘛的,就已经很不错啦,如果你还能改改参数,自己编写算法,就更厉害了!

现在我们先浏览它吧

以下是常见的机器学习典型算法:

  1. 线性回归 - 解决问题:用于预测连续型数值,通过找到一个线性关系来拟合自变量和因变量之间的联系,例如预测房价、销售量等。- 案例:根据房屋面积预测房价。假设房屋面积与房价存在线性关系,收集多组房屋面积及对应的房价数据进行建模预测。- 框架/库:Python的 scikit - learn 库提供了简单易用的实现。
from sklearn.linear_model import LinearRegression
import numpy as np

# 房屋面积数据,这里使用二维数组,因为fit方法要求输入至少是二维
area = np.array([100, 120, 150, 80]).reshape(-1, 1)
# 对应的房价数据
price = np.array([200, 250, 300, 180])

# 创建线性回归模型对象
model = LinearRegression()
# 使用数据训练模型
model.fit(area, price)

# 准备预测的新房屋面积数据
new_area = np.array([130]).reshape(-1, 1)
# 进行预测
predicted_price = model.predict(new_area)
print(f"预测价格: {predicted_price[0]}")

  1. 逻辑回归
  • 解决问题:主要用于二分类问题,通过将线性回归的输出经过sigmoid函数转换为概率值,依据设定的阈值进行分类决策,如判断邮件是否为垃圾邮件、客户是否会流失等。
  • 案例:判断客户是否会购买某产品。根据客户的年龄、收入等特征来预测客户购买产品的可能性。
  • 框架/库: scikit - learn 库中的 LogisticRegression 类。
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 生成模拟的客户数据,n_samples是样本数量,n_features是特征数量,n_classes是类别数量
X, y = make_classification(n_samples = 1000, n_features = 5, n_classes = 2, random_state = 42)
# 将数据划分为训练集和测试集,test_size表示测试集占比
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}")


  1. 决策树
  • 解决问题:可用于分类和回归任务。通过对特征进行递归划分,构建树形结构来做出决策,例如判断一个人是否适合某项工作,依据年龄、学历、工作经验等特征。- 案例:根据天气的特征(温度、湿度、风速等)判断是否适合户外运动。- 框架/库: scikit - learn 库中的 DecisionTreeClassifier (用于分类)和 DecisionTreeRegressor (用于回归)类。

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 生成模拟的天气数据及是否适合户外运动的标签
X, y = make_classification(n_samples = 1000, n_features = 5, n_classes = 2, random_state = 42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)

# 创建决策树分类模型对象
model = DecisionTreeClassifier()
# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"预测准确率: {accuracy}")


  1. 随机森林
  • 解决问题:基于决策树的集成学习算法,可用于分类和回归,通过构建多个决策树并综合它们的预测结果,有效解决决策树过拟合问题,提高模型的稳定性和泛化能力,常用于图像分类、疾病诊断等领域。- 案例:根据患者的症状、检查结果等特征预测患者是否患有某种疾病。- 框架/库: scikit - learn 库中的 RandomForestClassifier (分类)和 RandomForestRegressor (回归)类。
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 生成模拟的医疗数据及疾病标签
X, y = make_classification(n_samples = 1000, n_features = 10, n_classes = 2, random_state = 42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)

# 创建随机森林分类模型对象,n_estimators表示决策树的数量
model = RandomForestClassifier(n_estimators = 100)
# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"预测准确率: {accuracy}")


  1. 支持向量机(SVM)
  • 解决问题:擅长解决二分类问题,在高维空间中寻找一个最优超平面将不同类别的数据分开,并使间隔最大化。对于非线性可分的数据,通过核函数将数据映射到高维空间来实现分类,常用于文本分类、图像分类等领域。- 案例:区分猫和狗的图片,通过提取图片特征,利用SVM进行分类。- 框架/库: scikit - learn 库中的 SVC (支持向量分类)类。
from sklearn.svm import SVC
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 生成模拟的图片特征数据及类别标签
X, y = make_classification(n_samples = 1000, n_features = 20, n_classes = 2, random_state = 42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)

# 创建SVM分类模型对象
model = SVC()
# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"预测准确率: {accuracy}")

  1. 朴素贝叶斯算法
  • 解决问题:常用于文本分类(如新闻分类、垃圾邮件过滤)、情感分析等场景。基于贝叶斯定理,假设特征之间相互独立,通过计算后验概率判断样本所属类别。- 案例:判断一条短信是否为垃圾短信,根据短信内容中的词汇来判断。- 框架/库: scikit - learn 库中包含多种朴素贝叶斯的实现,如 MultinomialNB (适用于离散特征,如文本分类中的词频)。
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.datasets import load_files
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载短信数据集,这里假设数据集按垃圾短信和正常短信分两个文件夹存放
data = load_files('sms_dataset')
X = data.data
y = data.target

# 将文本数据转换为词频矩阵
vectorizer = CountVectorizer()
X = vectorizer.fit_transform([text.decode('utf - 8') for text in X])

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)

# 创建多项式朴素贝叶斯模型对象
model = MultinomialNB()
# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"预测准确率: {accuracy}")

  1. K - 近邻算法(KNN)
  • 解决问题:适用于分类和回归任务。通过计算待预测样本与训练集中样本的距离,取最近的K个邻居,根据邻居类别(分类)或数值(回归)来预测,例如图像识别、预测电影评分等。- 案例:预测一个水果是苹果还是橙子,根据水果的颜色、大小、重量等特征,与已知水果样本对比。- 框架/库: scikit - learn 库中的 KNeighborsClassifier (分类)和 KNeighborsRegressor (回归)类。
from sklearn.neighbors import KNeighborsClassifier
import numpy as np

# 水果特征数据,每行表示一个水果样本的特征(颜色、大小、重量)
X = np.array([[1, 100, 200], [2, 120, 250], [1, 90, 180], [2, 110, 220]])
# 对应的水果类别,1代表苹果,2代表橙子
y = np.array([1, 2, 1, 2])

# 创建KNN分类模型对象,n_neighbors表示K值
model = KNeighborsClassifier(n_neighbors = 3)
# 训练模型
model.fit(X, y)

# 准备预测的新水果特征
new_fruit = np.array([[1, 105, 210]])
# 进行预测
predicted_fruit = model.predict(new_fruit)
print(f"预测水果类别: {predicted_fruit[0]}")


  1. K - Means聚类
  • 解决问题:无监督学习中的聚类算法,将数据点划分为K个簇,使得同一簇内的数据点相似度较高,不同簇之间的数据点相似度较低,常用于客户细分、图像分割、数据降维等场景。- 案例:根据客户的消费金额和消费频率对客户进行聚类,将相似消费行为的客户归为一类。- 框架/库: scikit - learn 库中的 KMeans 类。

from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt

# 模拟客户消费数据,第一列是消费金额,第二列是消费频率
X = np.array([[100, 5], [200, 8], [300, 10], [50, 3], [150, 6]])

# 创建KMeans聚类模型对象,n_clusters表示簇的数量
model = KMeans(n_clusters = 2)
# 训练模型
model.fit(X)

# 获取聚类标签
labels = model.labels_
# 获取聚类中心
centroids = model.cluster_centers_

# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c = labels)
plt.scatter(centroids[:, 0], centroids[:, 1], marker='X', s = 200, linewidths = 3, color='r')
plt.show()

结合上面,你应该明白,如今在人工智能领域,大部分常见的算法和理论都有对应的库和框架,这极大地降低了开发门槛,让不同层次的人员都能参与到人工智能项目中。

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

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

相关文章

使用Beanshell前置处理器对Jmeter的请求body进行加密

这里我们用HmacSHA256来进行加密举例: 步骤: 1.先获取请求参数并对请求参数进行处理(处理成String类型) //处理请求参数的两种方法: //方法一: //获取请求 Arguments args sampler.getArguments(); //转…

利用paddleocr解决图片旋转问题

由于之前使用easyocr识别图片的时候发现旋转的图片或者倒置的图片效果很差,来利用 cv2.minAreaRect()获取旋转角度,只能解决0-90,对于倒置的图片不能很好解决,因此使用paddleocr中方向分类检测(只能返回0,1…

数据结构(蓝桥杯常考点)

数据结构 前言:这个是针对于蓝桥杯竞赛常考的数据结构内容,基础算法比如高精度这些会在下期给大家总结 数据结构 竞赛中,时间复杂度不能超过10的7次方(1秒)到10的8次方(2秒) 空间限制&#x…

Python 入

Python 入侵交换机 随着网络安全威胁不断增加,对于网络设备的安全防护变得愈发重要。而交换机作为网络中重要的设备之一,也需要加强安全保护。本文将介绍如何利用Python来入侵交换机,并对其进行漏洞扫描和安全检测。 1. Python 入侵交换机原…

自然语言处理:最大期望值算法

介绍 大家好,博主又来给大家分享知识了,今天给大家分享的内容是自然语言处理中的最大期望值算法。那么什么是最大期望值算法呢? 最大期望值算法,英文简称为EM算法,它的核心思想非常巧妙。它把求解模型参数的过程分成…

RAG 常见分块策略全解析:从原理到代码实践(2025 深度版)

大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 更多文章可关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能! 引言 在检索增强生成(RAG)系统中,分块策略是决定系统…

【软件逆向】QQ 连连看小游戏去广告与一键消除实现

目录 一、背景介绍 二、去广告实现 2.1 分析广告加载流程 2.2 逆向分析广告加载逻辑 2.3 去广告方案 三、一键消除外挂实现 3.1 分析游戏逻辑 3.2 编写外挂插件 3.3 注入外挂: 四、一键消除效果展示 五、额外扩展 一、背景介绍 QQ 连连看是一款经典的休闲…

小白学Agent技术[5](Agent框架)

文章目录 Agent框架Single Agent框架BabyAGIAutoGPTHuggingGPTHuggingGPT工作原理说明GPT-EngineerAppAgentOS-Copilot Multi-Agent框架斯坦福虚拟小镇TaskWeaverMetaGPT微软UFOAgentScope现状 常见Agent项目比较概述技术规格和能力实际应用案例开发体验比较ChatChain模式 Agen…

AI写论文提示词指令大全,快速写论文

目录 一、十大学术写作提示词1、研究主题2、研究问题3、论文架构4、学术论证5、文献关键要素6、专业文本可读性转换7、学术语言规范化8、提高语言准确性9、多维度、深层论证10、优化文本结构 二、快速写论文提示词1、确认研究选题2、整理相关资料3、快速完成论文大纲4、整合文献…

电子电气架构 ---常见车规MCU安全启动方案

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

HCIP第二讲作业

一、连接拓扑图 二、配置要求 1.学校内部的HTTP客户端可以正常通过域名www.baidu.com访问到百度网络中的HTTP服务器 2.学校网络内部网段基于192.168.1.0/24划分,PC1可以正常访问3.3.3.0/24网段,但是PC2不允许 3.学校内部路由使用静态路由,R1…

Linux第六讲:进程控制

Linux第六讲:进程控制 1.进程创建1.1回顾fork1.2写时拷贝 2.进程终止2.1exit与_exit 3.进程等待3.1进程等待的方法(wait和waitpid) 4.进程程序替换4.1自定义shell的编写4.1.1输出命令行提示符4.1.2获取用户输入的命令4.1.3命令行分析4.1.4指令…

BI 工具响应慢?可能是 OLAP 层拖了后腿

在数据驱动决策的时代,BI 已成为企业洞察业务、辅助决策的必备工具。然而,随着数据量激增和分析需求复杂化,BI 系统“卡”、“响应慢”的问题日益突出,严重影响分析效率和用户体验。 本文将深入 BI 性能问题的根源,并…

PPT内视频播放无法播放的原因及解决办法

PPT内视频无法播放,通常是视频编解码的问题。目前我遇到的常见的视频编码格式有H.264,H.265,VP9,AV1这4种。H.264编解码的视频,Windows原生系统可以直接播放,其他的视频编码格式需要安装对应的视频编解码插…

【AIGC系列】6:HunyuanVideo视频生成模型部署和代码分析

AIGC系列博文: 【AIGC系列】1:自编码器(AutoEncoder, AE) 【AIGC系列】2:DALLE 2模型介绍(内含扩散模型介绍) 【AIGC系列】3:Stable Diffusion模型原理介绍 【AIGC系列】4&#xff1…

Navigation的进阶知识与拦截器配置

Navigation的进阶知识与拦截器配置 写的不是很详细,后续有时间会补充,建议参考官方文档食用 1.如何配置路由信息 1.1 创建工程结构 src/main/ets ├── pages │ └── navigation │ ├── views │ │ ├── Mine.ets //…

多模态推理模型相关开源工作

多模态推理模型相关开源工作 1. 训练策略1.1 R1-V① 介绍② 训练流程③ 关键注意点④ 主要问题⑤ 是否可以去掉 KL 约束? 1.2 open-r1-multimodal① 介绍② 代码改进 1.3 VisualThinker-R1-Zero① 研究意义② 训练方法③ 结论④ 代码改进⑤ 其他发现 1.4 Efficient-…

LaTex安装流程(附安装包)LaTex超详细保姆级图文安装教程

文章目录 前言一、LaTex下载二、Texlive 2024安装教程三、Texstudio安装教程 前言 本安装流程将以清晰、易懂的方式,详细的价绍 LaTeX安装教程,助你顺利踏入专业排版的大门 。 一、LaTex下载 LaTeX 是由美国计算机科学家莱斯利・兰伯特(Les…

Ultravox:融合whisper+llama实现audio2text交互

Ultravox是由Fixie AI开发的一种创新型多模态大语言模型,专为实时语音交互设计。与传统的语音交互系统不同,Ultravox无需单独的语音识别(ASR)阶段,可以直接理解文本和人类语音,实现更快速、更自然的交互体验。Ultravox v0.5在语音理解基准测试中超越了OpenAI的GPT-4o Realt…

KL散度详解与应用

前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 ima 知识库 知识库广场搜索&#…