机器学习项目开发实战_第1页
机器学习项目开发实战_第2页
机器学习项目开发实战_第3页
机器学习项目开发实战_第4页
机器学习项目开发实战_第5页
已阅读5页,还剩419页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基础实战-环境

搭建配置Python

基本环境任务实施知识储备任务

描述任务

评价CONTENTSOrder

Now/01任务描述任务:安装Python和IDE选择Python3.x版本,下载对应安装包并完成安装,验证安装。选择PyCharm作为IDE进行安装和配置。完成后可开始编写和运行Python代码。任务描述知识储备涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学

科,融合了多学科的知识和方法综合各领域优势,从不同角度解决复杂问题,为其在众多领域的应用奠定了基础机器学习概念跨学科的优势多领域交叉融合01

模拟人类学习行为致力于研究计算机怎样模拟或实现人类的学习行为,让计算机能够像

人类一样从环境中获取信息并进行学习02

获取新知识或技能使计算机通过学习获取新的知识或技能,不断提升自身的能力,以更好地应对各种任务和挑战机器学习概念核心思想01

02数学关系

未知关系模型不知输入输出关系,但给予足够数据集时能猜测此关系核心思想在于探寻任意输入和输出数据组合之间存在的数学关系。围绕函数构建模型围绕一个可修改的数学函数构建数据组合训练算法提供输入/输出数据组合来“训练”算法自动确定输出经过训练的算法能够自动确定新的输入对应的输出模型与算

法监督学习01、概念算法会接受带有标签的输入数据,每个输入数据都对应一个正确的

输出,目的为输入映射到正确的输出02、常见算法线性回归、逻辑回归、支持向量机、决策树和神经网络常见算法K

-means聚类、主成分分析(

PCA)

和自组织映射(

SOM)ARTIFICIALINTELLIGENCE数据特点无监督学习处理没有标签数据

监督学习处理有标签的数据无监督学习学习目标发现数据中的潜在结构或模式特点结合了监督学习和无监督学习的特点,是一种独特的机器学

习类型数据处理处理部分带有标签和部分没有标签的数据MonitoringAlgorithmsEDITABLESTROKE半监督学习强化学习主体算法称为智能体,智能体是学习和决策的主体学习方式与环境的交互来学习,尝试不同行动,根据行动结果更新策略

目标找到一种策略,使智能体能够获得最大的长期奖励SUPERVISEDLEARNING应用场景

安防领域

自动驾驶图像识别和分类监控视频中的异常行为检测和人

员追踪人脸识别、图像检索、物体识别

等识别道路标志、车辆和行人,为

车辆的自主决策提供关键信息智能家居领域通过语音指令控制家电设备,提升生活便利性智能客服领域客服机器人能理解用户问题并提供准确回复,提高服务效率应用类型机器翻译、文本分类、语音识别……自然语言处理分析用户的浏览、购买记录等行为,为用户推荐相关商品55电商平台为用户提供个性化服务,满足不同用户的需求,提高用户对平台的粘性和满意度个性化服务根据用户的关注、点赞等行为,为用户推荐感兴趣的内容和好友55社交媒体平台推荐系统01应用方向癌症诊断、疾病预测……02提高准确性分析大量医疗数据,发现潜在疾病特征,更准确地诊断

疾病03提升效率快速处理、分析医疗数据,减少诊断时间,提高医疗服

务效率医疗诊断风险管理评估客户信用风险,合理分配信贷资源,降低违约风险金融保护及时发现、阻止金融欺诈行为,保护资产

安全。应用场景欺诈检测、信用评估……金融风控Analytics

and

data

scienceFinancial

data

managementArtificialintlligenc应用方面

质量控制、异常检测实时监测生产过程数据,及时发现问题并调整生产参数,提高生产效率提升质量水平

质量控制,减少次品率,提升产品质量工业制造提高生产效率应用技术视觉感知、路况识别等。视觉感知技术能识别道路环

境和障碍物保障安全准确的路况识别和决策能力可以有效避免交通事故,

保障自动驾驶汽车的行驶安全自主决策对各种传感器数据的分析,机器学习算法能让自动驾

驶汽车做出合理的决策,实现自主行驶自动驾驶02提升趣味性创造更具挑战性和变化性的游戏场景,提升游戏的趣味性03增加挑战性面临更强大的对手,增加游戏挑战性01应用形式根据玩家的行为

做出不同反应游戏智能/03任务实施Python安装包下载从官网/downloads/windows/下载Python安装包。官网下载入口系统版本对应选择电脑是64位操作系统,下载DownloadWindows

installer(64

-bit

);若是32位,下载Download

Windows

installer(32-bit)。Install

Python3.13.0(64-bit)Select

Install

Nowto

install

Pythonwith

default

settings,orchoose安装初始设置安装包操作

路径添加勾选双击下载好的Python安装包,开启安装流程勾选“Addpython.exe

toPATH”,添加Python路径☑Useadmin

privilegeswhen

installingpy.exe

☑Addpython.exeto

PATHpythonwindowsCancelOptional

Features☑DocumentationInstalls

the

Python

documentation

files.☑pipInstalls

pip,which

can

download

and

install

other

Python

packages.☑td/tkand

IDLEInstallstkinterandthe

IDLE

developmentenvironment.☑Python

test

suiteInstalls

the

standard

library

test

suite.☑py

launcher

☑for

all

users(requires

admin

privileges)Upgrades

the

global'py'launcher

from

the

previous

version.Back

Next

Cancel自定义操作勾选路径添加选项,单击“Customize

installation”,

进入自定义安装界面自定义配置Setup

ProgressInstalling:Python3.13.0Td/TkSupport

(64-bit)pythonwindows开始安装单击“Install”

按钮,进行Python的安装乡Python3.13.0(64-bit)SetupAdvancedOptions□Install

Python

3.13

for

all

users☑Associate

fles

with

Python

(requires

the

'py

launcher)

☑Create

shortcuts

for

installed

applications☑Add

Python

to

environment

variables□Precompilestandardlibrary□Download

debugging

symbols□Download

debug

binaries(requires

VS

2017

orlater)□Download

free-threaded

binaries

(experimental)路径选择操作Browse

选项框中,根据自身需求选择合

适的Python

安装路径选择安装路径python

windowsCustomizeinstall

location

C:Python\Python313BrowseBackCancelCancel0

1所属家族Jetbrains

家族中的一款知名产品Java编辑器IntelliJIDEA、JavaScript编辑器WebStorm

、PHP编辑器PHPStorm0

2PyCharm简介其他编辑器01官网访问https://www.jetbr/pycharm/02下载界面在官网单击“Download”,进入下载界面,有专业版

和社区版两个版本03版本特点专业版功能强大但需付费,免费试用一个月社区版轻量级、永久免费,功能有限PyCharm安装包下载勾选选项勾选“创建桌面快捷方式”、

“更新PATH变量(需要重启)”和“创建关联”进入下一步勾选完成后,单击“下一步”,创建桌面快捷方式☑PyCharm更新上下文菜单□添加”将文件夹打开为项目“创建关联路

PyCharm

安装安装选项配置您的

PyCharm

安装安装选项设置0102<上

步(P

(

>

取消(

C更新

PATH

变量(需要重启)默认安装与完成默认安装默认安装设置,单击“安装”按钮,开始进行安装。安装完成单击“完成”,桌面上显示PyCharm软件快捷图标创建Python工程新建项目

项目创建点击“新建项目”

选择“纯Python”

选项指定存储路径选

择Python

解释器

点击“创建”完成双击PyCharm

快捷图标启

动按系统提示配置“语言和地

区”等初始设置启动与设置创建Python文件与运行创建文件右键点击项目名称,选择“新建”-“Python文件”命名文件输入文件名,按下回车键或点击“确定”完成创建编写与运行打开新文件编写代码,可点击工具栏运行按钮或使用快

捷键执行文件课

备课前预习信息收集课

现考勤情况课堂纪律学习态度任

成方案设计任务实施资料归档知识总结课

展任务巩固自我总结1.是否完成了Python库的安装?2.是否成功安装了PyCharm并新建项

目?任务评价评价

容THANKS课程结束,谢谢观看守夏熙业牧术学院Ningxia

Polytechnic中

开放

大譬—Ningxia

Open

University基础实战-环境搭建AnaConda宁夏

放大

NingxiaOpenUniversity宁夏职业技术大学

Ningxia

Polytechnic

University任务

实施知识储备任务

描述任务

评价CONTENTSOrder

Now/01任务描述任务:安装AnaConda

、Jupyter

Notebook、Scikit-learn安装AnaConda是为了搭建一个集成化的机器学习开发环境。正确安装和配置Jupyter

Notebook环境。成功安装机器学习库Scikit-learn。任务描述/02知识储备管理器强大方便地安装、更新和管理软件包及其依赖关系。支持创建隔离的环境,帮助管理不同项目的依赖,防止不同库

之间的版本冲突。跨平台支持支持Windows、macOS和Linux等多种操作系统,使得在不同操作系统上的项目迁移和协作变得

更加容易。丰富的科学包包含Conda、Python等190多个科学包

及其依赖项,方便用户快速上手进行

数据分析、机器学习等任务界面友好AnaConda

Navigator图形用户

界面,使用户能够以视觉化的方

式管理Conda环境和包AnaCondaConda不仅是一个包管理器,还是一个环境管理器。Spyder专为科学计算设计的Python集成开

发环境,集成了许多有用的科学库。JupyterNotebook交互式笔记本,支持实时代码、数

学方程、可视化和富文本。AnaConda组成虚拟环境虚拟环境它允许开发者在同一台计算机上创建多个独立的Python环境。每个环境都可以拥有自己的Python解

释器版本、第三方库和依赖项,从而实现项目间的隔离。避免依赖冲突不同的项目可能需要不同版本的

Python或第三方库。通过创建虚拟

环境,可以为每个项目指定特定的

依赖项和包版本,从而避免不同项

目间的依赖冲突。简化项目管理在虚拟环境中,可以轻松管理项目

的依赖关系,包括安装、更新和卸

载包等操作。这些操作不会影响到

全局的Python环境或其他虚拟环境。提高开发效率通过共享虚拟环境配置文件(如

requirements.txt),

团队成员可以

确保在相同的环境下运行代码,从

而提高开发效率和协作效果。020301虚拟环境优势及适用场景隔离性提供了项目间的隔离性,避免了依赖冲突。提升效率简化了项目管理,提高了开发效率。环境一致在不同计算机之间部署项目时保持环境一致性。多Python版本在不同项目中使用不同

版本的Python或第三方

库的开发者。多地部署需要在不同计算机之间

部署项目并保持环境一

致性的开发者。多Python项目需要管理多个Python项

目的开发者。优势/适用场景⑤JupyterNotebookJupyterNotebook交互式笔记本,支持实时代码、数学方程、可视化和富文本。教育和研究Part

01

Part02

Part03数据分析和可视化

实时协作jupyter算法开发和调试Part

04

Part05小型项目演示01

020304

05教育和研究

算法开发和调试小型项目演示JupyterNotebook可以直接展示代码如何驱动结果,无需额外部署服

务器。实时协作JupyterNotebook支持实时共享和

协同编辑,这对于远程开发和学术

讨论非常便利。数据分析和可视化JupyterNotebook集成了Python的

强大数据处理库,非常适合进行数

据清洗、探索和展示。JupyterNotebook应用场景工程师可以通过逐步执行代码块,快速迭代和测试新算法,方便代码

的调试和优化。教育工作者可以创建包含代码、文本、图片和数学公式的文档,方便

学生理解和跟进实验过程。在机器学习的广阔领域中,Scikit-learn库无疑是一颗璀璨的明珠,它不仅极大地推动了机器学习技术的普及与应用,还

成为了数据科学家和机器学习工程师不可或缺的工具箱。Scikit-learn高效性API设计简洁明了,易于学习和使用,降低了机器学习技术的门槛,促进了算法之间的互操作性易用性提供了涵盖分类、回归、聚类、降维、模型选择以及数据预处理等多个方面的机器学习算法丰富性拥有一个活跃的开发者社

区和丰富的文档资源Scikit-learn特点/03任务实施AnaConda安装包可以在其官网下载,也可以到清华镜像或其他资源站下载。AnaConda选择AnaConda3系列。Index

of

/anaconda/archive/

Last

Update:2021-07-0422:15FileName

FileSize↓

Date↓Parent

directory/Anaconda3-2021.05-Windows-x86_64.exe477.2

MiB2021-05-1411:34Anaconda3-2021.05-Windows-x86.exe408.5

MiB2021-05-1411:34Anaconda3-2021.05-MacOSX-x86_64.sh432.7

MiB2021-05-1411:34Anaconda3-2021.05-Linux-s390x.sh291.7

MiB2021-05-1411:33Anaconda3-2021.05-MacOSX-x86_64.pkg440.3

MiB2021-05-1411:33Anaconda3-2021.05-Linux-x86_64.sh544.4

MiB2021-05-1411:33Anaconda3-2021.05-Linux-aarch64.sh412.6MiB2021-05-1411:33Anaconda3-2021.85-Linux-ppc64le.sh285.3

MiB2021-05-1411:33O

Anaconda32021.05(64-bit)Setup

×●ANACONDA.Welcome

to

Anaconda32021.05(64-bit)SetupSetup

wil

guide

you

through

the

instalation

of

Anaconda3

2021.05(64bit).It

isrecommendedthatyoudoseal

other

applicationsrelevantsystemfleswithouthavingto

rebootyourCick

Nexttocontinue.Bext

>

CancelO

Anaconda32021.05(64-bit)SetupAdvancedInstallationOptionsO

ANACONDA.

CustomizehowAnacondaintegrateswithWndows×1

Advanced

Options☑

Add

Anaconda3to

my

PATHenvironment

variableNot

recommended.

Instead,open

Anaconda3with

the

Windows

Startmenu

and

select"Anaconda(64bit)"

.This"addto

PATH"optionmakesAnaconda

get

found

before

previously

instaled

sofbware,but

maycauseproblemsrequringyoutouninstal

and

reinstallAnaconda.☑Begister

Anaconda3as

my

defauit

Python3.8Thiswlalowotherprograms,suchas

PythonToolsforVsualStudo2Anaconda,Inc,

<Back

Instal

CancelAnaconda3(64-bit)最近添加Anaconda

Navigator(anaconda3)最近添加Anaconda

Powershell

Prompt(a

…AnaConda安装

Spyder(anaconda3)9在这里输入你要搜索的内容Anaconda

Prompt(anaconda3)最近添加JupyterNotebook(anaconda3)最近

添加ResetSpyderSettings(anacond..最近添加PyCharm,Wing

IDE,PyDev,and

MSI

binary

packages,toautomabicaly口Ddetect

Anaconda

as

the

primary

Python3.8on

the

system.beforestartingSetup.Thiswillmake

it

possbleto

update□最近

添加(

则computer.Conda

activate

myenvConda

install

numpy

pandas

Condadeactivate创建虚拟环境激活虚拟环境虚拟环境安装包退出虚拟环境Conda

create--name

myenv

python=3.13虚拟环境的使用\Users\niuho>|Location:D:\Users\nuholanaconda³\envs\ayenv

specs:(base)environentadded/updatedJupyter

Notebook配置生成配置文件

jupyter

notebook--generate-config配置工作目录

C.NotebookApp.notebook_dir='E:l\jupyter_work'设置默认浏览器

webbrowser.register("360",None,webbrowser.GenericBrowser(r"你的360浏览器路径"))安装扩展插件

pip

install

jupyter_contrib_nbextensionsjupyter

contrib

nbextension

install--userjupyter[

Untitled1最新检查点:昨天11:06(更改未保存)标题栏菜单栏单元格代

码工具栏In

[

]:Jupyter

Notebook页面LogoutPython

3

O不可信python-version或

python3--versionpipinstall--upgrade

pip或

pip3install--upgrade

pippipinstallscikit-learn或

pip3install

scikit-learn安装Scikit-learn库打开Python解释器或启动Jupyter

Notebook。importsklearnFile

Edit

View

Insert

Cell

Kernel

Widgets

Help

不可信

Python30

+

8

▶运行

C

代码

In

[2]:import

sklearnexecuted

in

1.69s,finished08:30:262024-12-13安装验证lesson5

最新检查点:17小时前(更改未保存)jupyterLogout课

备课前预习信息收集课

现考勤情况课堂纪律学习态度任

成方案设计任务实施资料归档知识总结课

展任务巩固自我总结1.是否正确安装了AnaConda?2.是否创建了虚拟环境并完成pandas

安装?3.是否成功安装了JupyterNotebook

并了解其界面功能?4.是否成功安装了库Scikit-learn?任务评价评价

容THANKS课程结束,谢谢观看宁夏熙业拉术大学

Ningxia

Polytechnic

University宁Nin

n

ity学Univ放gxia夏监督学习分类实战-图像分类项目背景与目标宁Nin

n

v

ity学Uni放gxia夏宁夏熙业技术大学

Ningxia

Polytechnic

University任务

实施知识储备任务

描述任务

评价CONTENTSOrder

Now/01任务描述任务:图像识别本项目旨在通过监督学习的方法实现图像分类。任务一是项目的启动阶段,需要了解图像分类的背景、目

标以及整个项目的实施流程。任务描述/02知识储备图像识别是什么图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。监督学习是从标记的训练数据来推断一个功能的机器学习任务。它利用一组已知类别的样本调整分类器的参数,使

其达到所要求性能的过程。在监督学习中,模型使用标记数据集进行训练,训练数据集通常包含输入(特征)和输出(标签),模型通过学习

输入与输出之间的关系,从而能够对新的输入数据给出准

确的预测或分类。监督学习基本原理数据准备

特征工程

模型选择

模型训练

模型评估

模型部署在训练数据集上执行

算法,不断缩小输出

与标签之间差距,直

到模型被适当地拟合。从原始数据中提取有用特征并选择对模型训练最有帮助的特征的过程。根据问题的性质和数据的特点选择合适的监督学习算法,并确定模型的结构。收集包含输入特征和对应标签的训练数据集,并对这些数据进行预处理。当模型经过训练和评估后,可以将其部署到实际应用中。监督学习流程使用测试数据集来评

估模型的准确性。常用图像分类数据集MNIST数据集包含了手写数字0到9共10个类别灰度图像,常用于训练和测试在图像处理和机器学习领域中的监督学习模型。25Herearetheclassesinthedataset,aswellas

10

random

imagesfrom

each:airplaneautomobilebirdcatdeerdogfroghorseshipfruckCIFAR-10图像更加复杂,图像中包含了多种物体和背景,且物体的大小、位置、姿态等变化较大,这使得图像分类任

务更具挑战性。常用图像分类数据集ImageNet数据集的图像内容极其丰富和多样化,涵盖了各种自然场景、物体、动物、植物等,图像的大小、分辨率、

质量等也各不相同,这使得图像分类任务极具挑战性。常用图像分类数据集召回率对于某个类别,正确分类的样本数与该类别实际样本数

的比例。混淆矩阵一个表格,用于显示模型在不同类别上的预测结果与实

际结果的对比。准确率正确分类的样本数与总样本

数的比例。F1分数准确率和召回率的调和平均数,用于综合评估模型的性

能。0103评估指标04/03任务实施conda

create

--name

project2Preparing

transaction:doneVerifying

transaction:doneExecuting

transaction:donethis

en

viroactivat

e

prroj

ect2#To

deactivate

an

active

environment,use$

conda

deactivateconda

activate

project2C:\Users\niuho>condaactivateproject2(project2

)C:

\Users\niuho>|环境准备opencv-python-headlesspip

install

opencv-python-headless#

或pip

install

opencv-contrib-pythonPyTorch和torchvisionpip

installtorch

torchvision环境准备pipinstall

opencv-pythonpip

install

Pillow数据集选择MNIST数据集因其简洁性和广泛的应用性,成为了入门者和研究者们首选的“试金石”。这个数据集包含了70000张手写数字图片,每张图像均为28×28像素的灰度图,涵盖了从0到9的十个数字类别。1import

torch2

import

torchvision3

import

torchvision.transforms

as

transforms4

from

torch.utils.data

import

DataLoader,random_splittransform=transforms.Compose([transforms.ToTensor(),])像预处理1

train_size

=int(0.8*len(dataset))#80%的数据用于训练2

test_size

=len(dataset)-train_

size#

剩下的20%用于测试3

train_dataset,test_dataset=

random_split(dataset,[train_size,

test_size])dataset=torchvision.datasets.MNIST(root='./data',train=True,download=false,

transform=transform)图像预处理1

dataiter=iter(train_loader)2images,labels=next(dataiter)3print(f'Image

batch

shape:{images.size()}')4print(f'Label

batch

shape:{labels.size()}')1train_loader=DataLoader(train_dataset,batch_size=64,shuffle=True)2test_loader=DataLoader(test_dataset,batch_size=1000,shuffle=False)batch

shape:torch.Size([64,1,28,28])batch

shape:torch.Size([64])图像预处理Image

Label1

import

matplotlib.pyplot

as

plt2

import

numpy

as

np3

image

=images[0].numpy().squeeze()4

plt.imshow(image,cmap='gray')5

plt.title(f'Label:{labels[0].item()}')6

plt.show()101520250

5

10

1525图像预处理Label:8课

备课前预习信息收集课

现考勤情况课堂纪律学习态度任

成方案设计任务实施资料归档知识总结课

展任务巩固自我总结1.是否成功创建了虚拟环境并激活?2.是否正确导入了torch、torchvision、

transforms等必要库?3.

是否成功定义了定义数据变换?4.是否成功加载了MNIST数据集?5.是否成功打印一个图像和对应的标

签?任务评价评价

容THANKS课程结束,谢谢观看宁夏职业牧术大学Ningxia

Polytechnic

University宁Nin

pen

ity学Univ放gxia夏监督学习分类实战-图像分类K近邻(

KNN)算法实现

sity学ytechnic业技Pol熙xia夏宁

放大學

Ningxia

Open

University任务

实施知识储备任务

描述任务

评价CONTENTSOrder

Now/01任务描述任务:K近邻(

KNN)

算法实现在本任务中,你将实现K近邻(KNN

)算法来对图像数据进行分类。你需要从数据预处理开始,选择合适

的特征,实现KNN算法,并调整参数以优化模型性能。任务描述/02知识储备KNN是什么KNN算法,全称K-Nearest

Neighbor,即K最近邻算法,是一种在数据挖掘和机器学习中广泛使用的监督学习算法。输入样本统计样本筛选样本预测样本KNN工作原理在建立训练集时,就要确定训练数据及其对应的类别标签;然后把待分类的测试数据与训练集数据依次进行特征比较;从训练集

中挑选出最相近的k个数据,这k个数据中投票最多的分类,即为

新样本的类别。计算测试数据与各个训练数据之间的距离对距离从小到大进行排序选取距离最小的k

个点确定前k个点类别的出现频率出现频率最高的类别作为预测分类KNN实现流程欧式距离曼哈顿距离i=1n余弦相似度的取值范围为[-1,1],其中1表示两个向量完全相似,-1表示两个向量完全相反,0表示两个向量无关。余弦相似度②交叉验证将样本数据按照一定比例拆分为

训练集和验证集。选取较小的K值

开始,不断增加K的值,选择表现

最好的K值作为最优解。3网格搜索在给定的K值范围内进行搜

索,尝试所有可能的K值组

合。1经验法则根据经验和数据集的特点,

常用的K值有1、3、5等。K值选择方法/03任务实施KNN算法实现导入库fromsklearn.neighborsimportKNeighborsClassifier

fromsklearn.metricsimportaccuracy_score创建模型knn=KNeighborsClassifier(n_neighbors=3)knn.fit(X_train,y_train)评估模型y_pred=knn.predict(X_test)accuracy=accuracy_score(y_test,y_pred)print(f"Accuracy:{accuracy:.4f}")Accuracy:0.9455

模型调优

1

k_values=

range(1,21)#从1到20,

2

best_accuracy

=03best_k=04for

k

in

k_values:5knn=KNeighborsClassifier(n_neighbors=k)6scores

=cross_val_score(knn,X_train,y_train,cv=5,scoring='accuracy')7mean_accuracy

=scores.mean()8print(f"K={k},Cross-ValidationAccuracy:{mean_accuracy::4f}")9ifmean_accuracy>best_accuracy:10

best_accuracy=mean_accuracy11

best_k=k12

print(f"Best

K:{best_k},BestCross-ValidationAccuracy:{best_accuracy:4f}")K=1,Cross-ValidationK=2,Cross-ValidationK=3,Cross-ValidationK=4,Cross-ValidationK=5,Cross-ValidationK=6,Cross-ValidationK=7,Cross-ValidationK=8,Cross-ValidationK=9,Cross-ValidationK=10,Cross-ValidationK=11,Cross-ValidationK=12,

Cross-ValidationK=13,Cross-ValidationK=14,Cross-ValidationK=15,Cross-ValidationK=16,

Cross-ValidationK=17,Cross-ValidationK=18,Cross-ValidationK=19,Cross-ValidationAccuracy:0.9445Accuracy:0.9345Accuracy:0.9446Accuracy:0.9428Accuracy:0.9446Accuracy:0.9430Accuracy:0.9423Accuracy:0.9412Accuracy:0.9405Accuracy:0.9386Accuracy:0.9391Accuracy:0.9374Accuracy:0.9369Accuracy:0.9358Accuracy:0.9352Accuracy:0.9342Accuracy:0.9341Accuracy:0.9327Accuracy:0.9325K=25,

Cross-ValidationK=26,C

ross-ValidationK=27,Cross-ValidationK=28,Cross-ValidationK=29,Cross-ValidationK=30,C

ross-ValidationAccuracy:0.9290Accuracy:0.9286Accuracy:0.9281Accuracy:0.9274Accuracy:0.9265

Accuracy:0.9257K=20,

Cross-ValidationAccuracy:0.9317K=21,Cross-Validation

Accuracy:0.9315K=22,Cross-ValidationAccuracy:0.9308K=23,Cross-Validation

Accuracy:0.9301K=24,

Cross-ValidationAccuracy:0.9294Best

K:3,Best

Cross-Validation

Accuracy:0.9446

Final

Accuracy

on

Test

Set

with

Best

K:0.9455课

备课前预习信息收集课

现考勤情况课堂纪律学习态度任

成方案设计任务实施资料归档知识总结课

展任务巩固自我总结1.是否成功加载了KNeighborsClassifier

及accuracy_

score

?2.是否成功创建了KNN模型?3.是否成功对KNN模型进行评估?3.是否成功对KNN模型进行调优?任务评价评价

容THANKS课程结束,谢谢观看宁Nin

n

ity学Univ放gxia夏宁夏职业技术大学NingxiaPolytechnic

University监督学习分类实战-图像分类决策树算法应用宁夏职业技术大学

Ningxia

Polytechnic

Universityn

ity学Univ放宁Ningxia夏任务

实施知识储备任务

描述任务

评价CONTENTSOrder

Now/01任务描述任务:K近邻(

KNN)

算法实现应用决策树算法对图像分类任务进行建模,通过预处理图像数据、提取特征、构建决策树模型、进行模型

训练和评估,最终实现对图像的有效分类。任务描述/02知识储备决策树定义决策树是一种常用的机器学习算法,主要用于分类和回归任务。它通过一系列的决策规则来预测目标变量的值。根节点条件1

2内部节点内部节点条件3

条件4

条件5

条件6叶节点

叶节点叶节点叶节点根节点:决策树的起始节点,代表整个数据集。内部节点:表示一个特征或属性的测试,用于分割数据。叶节点:表示一个决策结果,对于分类任务,叶节点是类别标签;对于回归任务,叶节点是数值预测。边/分支:连接节点的线,表示从父节点到子节点的决策路径。每条边对应一个条件或规则,表示在父节点的测试条件下,数

据流向子节点的规则。根节点条

件内部节点

内部节点决策树组成部分条

件叶节点条件5叶节点条件6叶节点条件3叶节点决策树构建方法01特征选择在每一步划分时,选

择一个最佳特征作为

决策依据,进行数据

划分。这个特征应该

能够最大程度上提高

数据的区分度。04树剪枝为了避免决策树过拟合

需要对生成的决策树进

行简化,去除多余的分

支节点。02节点分裂根据选择的特征,利

用不同的分裂准则将

当前节点的数据集划

分成若干子集。03递归分裂对每个子集递归执

行特征选择与节点

分裂操作,直到满

足停止条件。信息增益01熵熵是衡量数据集不纯度的一

个指标。在分类问题中,一

个数据集的熵越高,说明其

类别分布越不均匀,即不确

定性越大;02条件熵条件熵是在给定某个特征A的

条件下,数据集D的熵。它衡

量了在知道特征A的取值后,

数据集D的不确定性减少了多

少。03信息增益信息增益是衡量一个特征对

分类任务贡献大小的一个指

标。它等于数据集D的熵减

去在给定特征A的条件下的

条件熵。基尼值基尼值直接反映了从数据集中随

机抽取两个样本,属于不同类别的概率。基尼值越小,说明数据集越纯;基尼值越大,说明数据

集越不纯。条件基尼值条件基尼值是在给定某个特征A

的条件下,数据集D的基尼值。它衡量了在知道特征A的取值后,数据集D的不纯度减少了多少。基尼增益基尼增益是衡量一个特征对分类任务贡献大小的另一个指标。它等于数据集D的基尼值减去在给

定特征A的条件下的条件基尼值。基尼系数/03任务实施1.importnumpyasnp2.import

matplotlib.pyplot

as

plt3.from

sklearn.datasets

import

fetch_openml4.from

sklearn.model_selection

import

train

test_split5.from

sklearn.tree

import

DecisionTreeClassifier6.fromsklearn.metricsimportaccuracy_score,classification_report,confusion_matrix1.mnist=fetch_openml(‘mnist_784’,version=1,data_home='./data’,local_cache=True)2.X,y=mnist["data"],mnist["target"].astype(int)1.X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42,stratify=y)数据预处理构建决策树模型初始化决策树分类器clf=DecisionTreeClassifier(random_state=42)训练模型clf.fit(X_train,y_train)在测试集上进行预测y_pred=clf.predict(X_test)1.accuracy=accuracy_score(y_test,y_pred)2.print(f"Accuracy:{accuracy:.4f}")3.print("ClassificationReport:")4.print(classification_report(y_test,y_pred))5.conf_matrix=confusion_matrix(y_test,

y_pred)6.print("Confusion

Matrix:")7.print(conf_matrix)Accuracy:0.8656Classification

Report:precision0

0.92

10.932

0.84

3

0.814

0.87

5

0.82

6

0.91

7

0.90

8

0.809

0.84recall0.92

0.96

0.84

0.81

0.86

0.80

0.91

0.90

0.810.84f1-score0.92

0.94

0.84

0.81

0.86

0.81

0.91

0.90

0.800.84support2071236320972142204718942063218820482087accuracy

macro

avgweighted

avg0.860.870.860.870.87

0.860.87210002100021000型评估1.def

plot_digit(data):2.fig,axes=plt.subplots(1,10,figsize=(10,1),3

.subplot_kw={'xticks':[],yticks':[]},4.gridspec_kw=dict(hspace=0.

1,wspace=0.

1))5.

for

i,ax

in

enumerate(axes):6.ax.imshow(data.iloc[ij].values.reshape(28,28),cmap=plt.cm.binary,interpolation='nearest')7.ax.text(0.05,0.05,str(int(y_pred[i])),8.transform=ax.transAxes,color='green')9.

return

fig,axes10.#选择前10个测试样本进行可视化11.fig,axes=plot_digit(X_test[:10])12.plt.show(),7.83。92模型评估课

备课前预习信息收集课

现考勤情况课堂纪律学习态度任

成方案设计任务实施资料归档知识总结课

展任务巩固自我总结1.是否完成了OpenCV、Pillow、

Pytorch等相关库的安装?2.MNIST数据集是否能完成加载?3.

基于上述库,是否随机对数据集的

图像进行预处理及打印?4.图片中的数字和标签是否一致?任务评价评价

容THANKS课程结束,谢谢观看宁Nin

n

ity学Univ放gxia夏宁夏职业技术大学NingxiaPolytechnic

University监督学习回归实战-项目背景与目标监督学习回归实战宁Nin

n

ity学Univ放gxia夏宁夏职业技术大学

Ningxia

Polytechnic

University任务

实施知识储备任务

描述任务

评价CONTENTSOrder

Now/01任务描述任务:天气预测深入调研天气预测在实际生活中的应用背景,理解该项目对于农业、交通、灾害预防等领域的重要性。针对天气预测项目的数据集,进行深入的探索性分析,识别数据中的缺失值、异常值、不一致数据类型等问

题,并设计实施相应的数据清洗策略。任务描述/02知识储备经济活动规划有助于企业合理规划生产和经营活动,减少因天气变化带来的经济损失。农业生产指导提供播种、施肥、灌

、收割等农事活动

的最佳时机,提高农

作物产量和质量。环境保护有助于监测和评估空气质量、水质等环境因素,为环境保护提供科学依据。保障公共安全及时预警恶劣天气,提前采取必要的防灾减灾措施。能源调配有助于能源部门合理调配电力资源,确保供需平衡。天气预测重要性增强国际交流与合作·天气和气候变化是全

球性问题,需要国际

社会共同努力应对。

天气预测为国际气候

谈判、灾害救援、环

境保护等领域提供了

重要的合作平台。提升公众科学素养一·天气预测通过媒体传播,普及了气象知识

和科学理念,提升了

公众的科学素养和应对自然灾害的能力。促进科学研究·天气预测技术的发展推动了大气科学、气

候学、地球科学等领

域的研究,促进了科

学知识的更新和积累。提升生活品质·天气预测为人们日常

出行、着装、健康等

方面提供重要参考,

提升生活便捷性和舒

适度。推动经济发展·准确的天气预测有助

于提升农业、交通、

能源、旅游等行业的

经济效益,推动国民

经济持续健康发展。天气预测重要性回归分析回归分析旨在探索和理解因变量(通常称为响应变量)与一个或多个自变量(也称为预测变量或解释变量)之间的关系。通过回归分析,研究者可以揭示变量间的潜在联系,预测未来趋势,以及评估不同因素对结

果变量的影响程度。90.087.585.082.575.0874

76

78

80

82

84

86

88

openUp_Down

UpDown80.0close逻辑回归主要用于分类问题,在天气预测中,它可以

用来判断某一天是否会下雨,或者是在特定条件下发

生某种天气状况的概率。逻辑回归模型通过历史天气

数据(包括温度、湿度、气压等气象因素)来训练,

并生成一个模型,该模型可以对新的观测数据进行分

类。例如,如果历史数据表明湿度超过某个阈值时降

雨的概率很高,逻辑回归模型就会学会这个规律,并

在输入新的高湿度数据时预测降雨。线性回归可以用于预测温度、风速等连续的气象参数。

线性回归模型会根据历史天气数据中的自变量(如时

间、经度、纬度等)和因变量(如历史温度、风速等)来训练,以期找到最佳的线性拟合,从而实现对未来

气温、风速等气象参数的预测。回归分析在天气预测中的应用判断天气状况预测气象参数天气预测数据集01数据集来源天气数据集主要来源于各种地

面气象观测站、卫星观测数据

以及各类气候模型的模拟输出。03数据集的作用数据集是构建天气预测模型的基础。通过分析历史天气数据,可以提取出模式和规律,为后续的预测工作提供依据。02数据集的特性包括温度、湿度、风速、风向、降水量等多种气象因素,它们的实时变化影响着天气的变化趋势。/03任务实施网络爬虫技术是一种自动化的数据抓取手段,它模拟人类

浏览网页的行为,从指定的网站上提取所需的数据。可以

从一些相关的天气网页中爬取所需要的数据。API,

即应用程序编程接口,它允许不同的软件应用程序

之间进行数据交换。通过调用天气服务提供商提供的API

接口,我们可以轻松地获取到实时的天气数据。选择数据源爬虫

API接口爬取天气数据调

用API获取天气数据数据存储结

束收集并整理数据开始网络爬虫API接口1

import

pandas

as

pd2

weatherdata=pd.read_excel(r"E:\机器学习项目实战\weather_data.xls")#替换为实际的路径3

weatherdata.head(5)001.01.202402:00-3.6758.4774.8857.03.7-5.81

01.01.202405:00-4.5757.6774.1864.04.9-6.5201.01.202408:00-4.5757.1773.7853.04.8-6.6301.01.202411:002.1756.5772.9637.04.2-4.2401.01.202414:004.5754.2770.5497.05.0-5.3读取数据date

T

Po

PU

ff3

VV

Td0-3.6758.4774.8857.03.7-5.81-4.5757.6774.1864.04.9-6.52-4.5757.1773.7853.04.8-6.632.1756.5772.9637.04.2-4.244.5754.2770.5497.05.0-5.31has_null=weatherdata.isnull().any().any()2

print(has_null)1

df=weatherdata.drop('date',axis=1)2

df.head()dateTPoPUff3VVTdFalse

False

Fal

seTrueFalseTrueTrueFalsedtype:boolT

Po

P

Uff3

VV

Td数据处理1def

fill_missing_with_mean(row):for

iinrange(len(row)):3

if

pd.isna(row[i]):4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论