版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章机器学习
目录01机器学习概述02机器学习算法03机器学习实践04机器学习案例1机器学习概述01机器学习概述02机器学习算法03机器学习实践04机器学习案例1.机器学习概述人工智能:机器展现的人类智能机器学习:计算机利用已有的数据(经验),得出了某种模型,并利用此模型预测未来的一种方法。深度学习:实现机器学习的一种技术
人工智能机器学习深度学习机器学习的定义机器学习的范围
1.机器学习概述1.机器学习概述机器学习的类型
机器学习的两大核心类型监督学习(SupervisedLearning)使用带有“标签”的数据进行训练。模型通过学习输入特征(X)和目标输出(Y)之间的映射关系,从而具备预测能力。回归(Regression)预测连续的输出值,如根据面积、地段预测房价走势。分类(Classification)预测离散的类别标签,如判断邮件是否为垃圾邮件、识别图片中的物体。无监督学习(UnsupervisedLearning)处理没有“标签”的数据。模型在无指导的情况下,自行从海量数据中挖掘隐藏的内在结构、分布规律或模式。聚类(Clustering)基于数据相似度将数据点自动归为不同群体,如电商平台的客户价值分群。降维(DimensionalityReduction)在保留核心信息的前提下减少特征维度,常用于高维数据可视化或提升模型效率。1.机器学习概述监督学习:回归与分类回归(Regression)核心目标:预测连续的数值输出。•典型案例:预测房价走势、股票价格波动、季度销售额预估。•数学思想:寻找最优拟合直线(或超平面),最小化样本点残差。分类(Classification)核心目标:预测离散的类别标签,输出有限集合。•二分类:判断邮件是否为垃圾邮件(是/否)、肿瘤良性检测。•多分类:识别图片中的动物(猫/狗/鸟)、手写数字识别。1.机器学习概述无监督学习:聚类与降维▲聚类算法数据分布示例聚类(Clustering)核心思想:“物以类聚”,算法自动将特征相似的数据点归为同一个簇。应用案例:谷歌新闻聚合相关报道;社交网络中自动发现兴趣相投的朋友群体。降维(DimensionalityReduction)核心思想:去除数据中的冗余特征,在保留关键信息的前提下降低数据维度。应用案例:将高维复杂数据可视化展示;精简特征以大幅提升机器学习模型的计算效率。1.机器学习概述给定数据的预测问题数据清洗/特征选择确定算法模型/参数优化结果预测不能解决什么大数据存储/并行计算做一个机器人1.机器学习概述机器学习解决的问题1.机器学习概述机器学习的开发流程1.机器学习概述机器学习的开发流程01数据搜集(买菜)收集相关的原始数据,数据的数量和质量是模型效果的基石,至关重要。02数据清洗(洗菜)处理数据中的缺失值、异常值,进行数据格式化,让数据变得“干净”可用。03特征工程(切菜)从原始数据中提取、选择和构建特征,这是决定模型最终性能的关键步骤。04数据建模(烧菜)选择合适的算法,进行模型训练、参数调优和效果评估,产出最终模型。关键洞察:在实际项目中,数据搜集、清洗和特征工程通常占据了80%-90%的时间和精力。2机器学习算法01机器学习概述02机器学习算法03机器学习实践04机器学习案例监督学习算法-回归线性回归(LinearRegression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。从图中可以看出,这个是一个单变量的线性回归,蓝色点代表真实数据,红色的点代表预测数据,红色的点越靠近拟合的红色的线,说明数据拟合的效果越好。2机器学习算法2.机器学习算法监督学习算法-逻辑回归逻辑回归(LogisticRegression,LR)是经典的分类方法,也是目前应用最广泛的分类算法。逻辑回归虽然被称为回归,但其实际上是分类模型,并常用于二分类,它是分类问题的首选算法。2.机器学习算法监督学习算法-𝑘近邻法
2.机器学习算法监督学习算法-决策树决策树(DecisionTree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。2.机器学习算法监督学习算法-支持向量机支持向量机是一类按监督学习(SupervisedLearning)方式对数据进行二元分类的广义线性分类器(GeneralizedLinearClassifier),其决策边界是对学习样本求解的最大边距超平面(Maximum-MarginHyperplane)。2.机器学习算法监督学习算法-集成学习随机森林(RandomForest,RF)是Bagging的扩展变体,用随机的方式建立一个森林。随机森林算法由很多决策树组成,每一棵决策树之间没有关联。建立完森林后,当有新样本进入时,每棵决策树都会分别进行判断,然后基于投票法给出分类结果。2.机器学习算法XGBoost
是大规模并行boostingtree的工具,它是目前最快最好的开源boostingtree工具包,比常见的工具包快10倍以上。XGBoost和GBDT两者都是boosting方法,除了工程实现、解决问题上的一些差异外,最大的不同就是目标函数的定义。监督学习算法-集成学习2.机器学习算法LightGBM
由微软提出,主要用于解决GDBT在海量数据中遇到的问题,以便其可以更好更快地用于工业实践中,其相对XGBoost具有训练速度快、内存占用低的特点。LightGBM与XGBoost相比,主要有以下几个优势:1)更快的训练速度2)更低的内存消耗3)更好的准确率4)分布式支持,可快速处理海量数据监督学习算法-集成学习2.机器学习算法无监督学习算法-K-means聚类2.机器学习算法DBSCAN算法无监督学习算法-密度聚类2.机器学习算法无监督学习算法-层次聚类无监督学习算法-降维核心思想在尽可能保留数据原始信息的前提下,通过线性或非线性变换,将高维复杂数据映射到低维特征空间中。核心作用去冗余/降噪声剔除无关特征,提升性能数据可视化降至2/3维,直观分析代表性算法主成分分析(PCA)寻找方差最大的主成分方向奇异值分解(SVD)通用矩阵分解与数据压缩SVD矩阵分解过程示意2.机器学习算法
在图2中,前两个PC由平面中的正交箭头表示,第三个PC与平面正交(向上或向下)。图1选择要投影到的子空间图2无监督学习算法-降维2.机器学习算法3机器学习实践01机器学习概述02机器学习算法03机器学习实践04机器学习案例3.机器学习实践机器学习库Scikit-learnX_train
|
训练数据.X_test
|
测试数据.X
|
完整数据.符号标记Scikit-learn主要用法y_train
|
训练集标签.y_test
|
测试集标签.y
|
数据标签.3.机器学习实践3.机器学习实践导入工具包fromsklearnimportdatasets,
preprocessingfromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimport
r2_score基本建模流程3.机器学习实践Scikit-learn支持以NumPy的arrays对象、Pandas对象、SciPy的稀疏矩阵及其他可转换为数值型arrays的数据结构作为其输入,前提是数据必须是数值型的sklearn.datasets模块提供了一系列加载和获取著名数据集如鸢尾花、波士顿房价、Olivetti人脸、MNIST数据集等的工具,也包括了一些toy
data如S型数据等的生成工具fromsklearn.datasetsimportload_irisiris=
load_iris()X=
iris.datay=
iris.target加载数据3.机器学习实践fromsklearn.model_selectionimporttrain_test_splitX_train,X_test,y_train,y_test=train_test_split(X,y,random_state=12,stratify=y,test_size=0.3)将完整数据集的70%作为训练集,30%作为测试集,并使得测试集和训练集中各类别数据的比例与原始数据集比例一致(stratify分层策略),另外可通过设置
shuffle=True
提前打乱数据数据划分训练集测试集数据集3.机器学习实践使⽤Scikit-learn进⾏数据标准化fromsklearn.preprocessingimport
StandardScaler构建转换器实例scaler=
StandardScaler()拟合及转换scaler.fit_transform(X_train)数据预处理Z-Score标准化
处理后的数据均值为0,方差为13.机器学习实践使用Scikit-learn进⾏数据变换数据预处理最小最大标准化One-Hot编码归一化二值化(单个特征转换)标签编码缺失值填补多项式特征生成MinMaxScalerOneHotEncoderNormalizerBinarizerLabelEncoderImputerPolynomialFeatures归一化(最大-最小规范化)
将数据映射到[0,1]区间3.机器学习实践特征选择fromsklearnimportfeature_selectionas
fsfs.SelectKBest(score_func,
k)
过滤式(Filter),保留得分排名前k的特征(top
k方式)fs.RFECV(estimator, scoring=“r2”)封装式(Wrap-per),结合交叉验证的递归特征消除法,自动选择最优特征个数
fs.SelectFromModel(estimator)
嵌入式(Embedded),从模型中自动选择特征,任何具有coef_或者feature_importances_的基模型都可以作为estimator参数传入3.机器学习实践监督学习算法-回归fromsklearn.linear_modelimport
LinearRegression构建模型实例lr=
LinearRegression(normalize=True)训练模型lr.fit(X_train,
y_train)作出预测y_pred=
lr.predict(X_test)
LASSO linear_model.LassoRidge linear_model.RidgeElasticNetlinear_model.ElasticNet回归树 tree.DecisionTreeRegressor2.机器学习实践监督学习算法-分类fromsklearn.treeimportDecisionTreeClassifierclf=DecisionTreeClassifier(max_depth=5)clf.fit(X_train,
y_train)y_pred=clf.predict(X_test)y_prob=
clf.predict_proba(X_test)使用决策树分类算法解决二分类问题,
y_prob
为每个样本预测为“0”和“1”类的概率3.机器学习实践逻辑回归支持向量机决策树KNNlinear_model.LogisticRegressionsvm.SVCfromsklearn.treeimportDecisionTreeClassifierneighbors.NearestNeighbors监督学习算法-分类3.机器学习实践监督学习算法-集成学习sklearn.ensemble模块包含了一系列基于集成思想的分类、回归和离群值检测方法.fromsklearn.ensembleimportRandomForestClassifierclf=RandomForestClassifier(n_estimators=20)clf.fit(X_train,
y_train)y_pred=clf.predict(X_test)y_prob=
clf.predict_proba(X_test)AdaBoost基于梯度提升ensemble.AdaBoostClassifierensemble.AdaBoostRegressorensemble.GradientBoostingClassifierensemble.GradientBoostingRegressor3.机器学习实践无监督学习算法-聚类K-means聚类DBSCAN层次聚类fromsklearn.clusterimportKMeanscluster.DBSCANcluster.AgglomerativeClustering3.机器学习实践无监督学习算法sklearn.cluster模块包含了一系列无监督聚类算法.fromsklearn.clusterimport
KMeans构建聚类实例kmeans=KMeans(n_clusters=3,
random_state=0)拟合kmeans.fit(X_train)预测kmeans.predict(X_test)3.机器学习实践无监督学习算法-降维sklearn.decomposition模块包含了一系列无监督降维算法fromsklearn.decompositionimportPCA导入PCA库,设置主成分数量为3,n_components代表主成分数量pca=PCA(n_components=3)训练模型pca.fit(X)投影后各个特征维度的方差比例(这里是三个主成分)print(pca.explained_variance_ratio_)投影后的特征维度的方差print(pca.explained_variance_)3.机器学习实践评价指标sklearn.metrics模块包含了一系列用于评价模型的评分函数、损失函数以及成对数据的距离度量函数.fromsklearn.metricsimportaccuracy_scoreaccuracy_score(y_true,
y_pred)对于测试集而言,y_test即是y_true,大部分函数都必须包含真实值y_true和预测值y_pred.3.机器学习实践评价指标回归模型评价metrics.mean_absolute_error()
|平均绝对误差MAEmetrics.mean_squared_error()
|
均方误差MSEmetrics.r2_score()
|
决定系数R2.3.机器学习实践评价指标分类模型评价metrics.accuracy_score()|正确率
metrics.precision_score()
|
各类精确率
metrics.f1_score()|F1值
metrics.log_loss()
|
对数损失或交叉熵损失
metrics.confusion_matrix
|
混淆矩阵metrics.classification_report
|含多种评价的分类报告预测值PositiveNegtive实际值PositiveTPFNNegtiveFPTN1.正确肯定(TruePositive,TP):
预测为真,实际为真2.正确否定(TrueNegative,TN):预测为假,实际为假3.错误肯定(FalsePositive,FP):
预测为真,实际为假4.错误否定(FalseNegative,FN):预测为假,实际为真混淆矩阵(confusion_matrix)分类的评价指标
3.机器学习实践有100张照片,其中,猫的照片有60张,狗的照片是40张。输入这100张照片进行二分类识别,找出这100张照片中的所有的猫。正例(Positives):识别对的负例(Negatives):识别错的
预测值PositiveNegtive实际值PositiveTP=40FN=20NegtiveFP=10TN=30识别结果的混淆矩阵3.机器学习实践分类的评价指标
正确率(Accuracy)=(TP+TN)/STP+TN=70,S=100,则正确率为:Accuracy=70/100=0.7
精度(Precision)=TP/(TP+FP)TP=40,TP+FP=50。Precision=40/50=0.8
召回率(Recall)=TP/(TP+FN)TP=40,TP+FN=60。则召回率为:Recall=40/60=0.67项目符号猫狗的例子识别出的正例TP+FP40+10=50识别出的负例TN+FN30+20=50总识别样本数TP+FP+TN+FN50+50=100识别对了的正例与负例真正例+真负例=TP+TN40+30=70识别错了的正例与负例伪正例+伪负例=FP+FN10+20=30实际总正例数量真正例+伪负例=TP+FN40+20=60实际总负例数量真负例+伪正例=TN+FP30+10=403.机器学习实践3.机器学习实践交叉验证及超参数调优fromsklearn.model_selectionimportcross_val_scoreclf=
DecisionTreeClassifier(max_depth=5)scores=cross_val_score(clf,X_train,y_train,cv=5,
scoring=’f1_weighted’)使用5折交叉验证对决策树模型进行评估,使用的评分函数为F1值sklearn提供了部分带交叉验证功能的模型类如LassoCV、LogisticRegressionCV等,这些类包含cv参数3.机器学习实践交叉验证及超参数调优超参数调优-网格搜索fromsklearn.model_selectionimportGridSearchCVfromsklearnimport
svmsvc=
svm.SVC()params={‘kernel’:[‘linear’,‘rbf’],‘C’:[1,10]}grid_search=GridSearchCV(svc,params,cv=5)grid_search.fit(X_train,y_train)grid_search.best_params_在参数网格上进行穷举搜索,方法简单但是搜索速度慢(超参数较多时),且不容易找到参数空间中的局部最优3.机器学习实践交叉验证及超参数调优超参数调优-随机搜索fromsklearn.model_selectionimportRandomizedSearchCVfromscipy.statsimport
randintsvc=
svm.SVC()param_dist={‘kernel’:[‘linear’,‘rbf’],‘C’:randint(1,20)}random_search
=
RandomizedSearchCV(svc,
param_dist,
n_iter=10)random_search.fit(X_train,y_train)random_search.best_params_在参数子空间中进行随机搜索,选取空间中的100个点进行建模(可从scipy.stats常见分布如正态分布norm、均匀分布uniform中随机采样得到),时间耗费较少,更容易找到局部最优4机器学习案例01机器学习概述02机器学习算法03机器学习实践04机器学习案例机器学习案例:金融欺诈检测核心项目目标本项目旨在通过实验对比,评估三种主流机器学习模型在金融欺诈检测任务中的实际性能表现。重点对比对象:LogisticRegression(逻辑回归)、RandomForest(随机森林)以及XGBoost(梯度提升树),从而确定最适合此类高不平衡数据集任务的算法模型。项目背景与意义随着金融科技的发展,信用卡欺诈等金融犯罪行为日益猖獗,造成了巨大的经济损失。构建一个高效、精准的实时欺诈检测系统,对于金融机构和用户的资金安全至关重要。本项目基于Kaggle公开的“CreditCardFraudDetection”真实交易数据集,深入分析不同模型的检测能力,致力于寻找在召回率与准确率之间取得最佳平衡的解决方案。4机器学习案例01.数据预处理DATAPREPROCESSING收集并加载CreditCardFraudDetection数据集,重点完成缺失值处理、数据标准化转换,以及针对样本不平衡问题的数据增强处理。02.模型训练与评估MODELTRAINING基于预处理后的数据,依次训练LogisticRegression、RandomForest和XGBoost模型,并利用准确率、召回率、F1分数及AUC-ROC等多维指标进行综合评估。03.结果分析与决策RESULTANALYSIS深度对比三种模型的性能表现,分析其在金融欺诈检测任务中的优劣,为最终构建高效、高鲁棒性的在线欺诈检测系统提供坚实的科学依据。项目流程4机器学习案例阶段一:数据预处理01.数据加载使用Pandas库高效读取`creditcard.csv`交易数据文件,为后续分析奠定基础。02.数据集划分利用`train_test_split`按比例将数据切分为训练集(80%)与测试集(20%),实现数据分离。03.数据标准化通过`StandardScaler`对特征进行缩放,消除量纲影响,显著提升模型收敛速度。Python/Data_Preprocessing.pyimportpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScaler#1.读取数据集data=pd.read_csv('creditcard.csv')#2.划分特征与标签&数据集切分X,y=data.drop('Class',1),data['Class']X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工合成反应工技师考试试卷及答案
- 2026北师大一上第一单元教案
- 2025-2026学年声音的性质教案
- 2025-2026学年幼师教案网站
- 2025-2026学年亲子形状游戏教案
- 学校三转工作方案
- 码头提升改造建设方案
- 2025-2026学年夜场气氛教学设计模板
- 冬季燃煤安全实施方案
- 口岸移动检测分类办法
- JG/T 336-2011混凝土结构修复用聚合物水泥砂浆
- DZ/T 0197-1997数字化地质图图层及属性文件格式
- 互联网医院的医疗服务质量与伦理监管
- GB/T 13511.2-2025配装眼镜第2部分:渐变焦定配眼镜
- 物流中心视频监控方案
- 起重机应急预案演练记录
- 专升本英语高频词汇完全版
- 萨克斯-全球视角的宏观经济学-北京大学课件
- 卡西欧图形计算器fx-9860GII SD软件说明书
- 操作系统安全
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
评论
0/150
提交评论