机器学习
文章平均质量分 85
机器学习
九灵猴君
这个作者很懒,什么都没留下…
展开
-
使用Pipeline构建算法链
在机器学习中,经常会使用多个算法模完成一个任务,这时可以使用Pipeline构建算法链,将多个算法整合为一个“复合模型”,它同样拥有fit、score、predict等方法。构建算法链可以大大简化模型代码,同时还能够避免因模型之间数据不一致导致的性能问题。Pipeline的经典应用场景是整合预处理和监督学习模型,同时还可以结合网格搜索、交叉验证进行调参、选出最优的模型和参数。本任务主要实践内容包括:1、 使用Pipeline整合预处理与KNN分类器,实现肿瘤分类预测。原创 2023-04-14 10:11:09 · 979 阅读 · 0 评论 -
用Keras单层网络预测银行客户流失率
已知一批客户数据,来预测某个银行的客户是否流失。通过学习历史数据,如果机器能判断出哪些客户很有可能在未来两年内结束在银行的业务(这当然是银行所不希望看到的),那么银行就可以采取相应的、有针对性的措施来挽留这些高流失风险的客户,本质上都是分类,我们看看神经网络来解决这类问题有何优势。原创 2023-04-15 11:49:02 · 854 阅读 · 0 评论 -
Bagging算法预测银行客户流失率
为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对性的去挽留这些流失的客户。本任务的实践内容包括:1、学习并熟悉Bagging算法原理。2、使用决策树的聚合,创建预测银行客户流失率模型,并训练评估。原创 2023-04-14 10:25:32 · 543 阅读 · 0 评论 -
Boosting算法预测银行客户流失率
为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对性的去挽留这些流失的客户。本任务的实践内容包括:1、学习并熟悉Boosting算法原理。2、使用AdaBoost、梯度提升算法、XGBoost算法创建模型,并且训练评估模型性能。原创 2023-04-14 10:28:33 · 1278 阅读 · 0 评论 -
Stacking算法预测银行客户流失率
为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对性的去挽留这些流失的客户。本任务的实践内容包括:1、学习并熟悉Stacking/Blending算法原理。2、使用Stacking算法预测银行客户流失率。原创 2023-04-14 10:32:05 · 1179 阅读 · 0 评论 -
Voting_Averaging算法预测银行客户流失率
为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对性的去挽留这些流失的客户。本任务的实践内容包括:1、学习并熟悉Voting/Averaging算法原理。2、使用Voting、Averaging算法预测银行客户流失率。原创 2023-04-14 10:33:54 · 734 阅读 · 0 评论 -
逻辑回归预测泰坦尼克号乘客生存率
RMS泰坦尼克号的沉没是历史上最臭名昭着的沉船之一。1912年4月15日,在她的处女航中,泰坦尼克号在与冰山相撞后沉没,在2224名乘客和机组人员中造成1502人死亡。这场耸人听闻的悲剧震惊了国际社会,并导致了更好的船舶安全规定。造成海难失事的原因之一是乘客和机组人员没有足够的救生艇。尽管幸存下沉有一些运气因素,但有些人比其他人更容易生存,比如女人,孩子和上流社会。在这个挑战中,我们要完成对哪些人可能存活的分析。特别是,我们要运用机器学习工具来预测哪些乘客幸免于悲剧。原创 2023-04-14 10:49:27 · 2007 阅读 · 3 评论 -
使用线性回归预测网店的销售额
已经把故去每周的广告投放金额和销售数据整理成一个Excel表格,并保存为advertising.csv文件(这是以逗号为分隔符的一种文件格式,比较容易被python读取)。基本上每周的各种广告投放金额和商品销售额都记录在案。过去每周的广告投放金额和商品销售额的清单(原始格式)这个重要的数据记录是实现本实验的机器学习项目的基础。微信公众号广告投放金额(下文中用"微信"代指)、微博广告投放金额(下文中用“微博”代指)、其他类型广告投放金额(下文用“其他”代指),这3个字段是特征(也是开店的人可以调整的)。原创 2023-04-14 10:44:48 · 2582 阅读 · 0 评论 -
绘制ROC曲线及P-R曲线
ROC曲线(Receiver Operating Characteristic Curve)以假正率(FPR)为X轴、真正率(TPR)为y轴。曲线越靠左上方说明模型性能越好,反之越差。ROC曲线下方的面积叫做AUC(曲线下面积),其值越大模型性能越好。P-R曲线(精确率-召回率曲线)以召回率(Recall)为X轴,精确率(Precision)为y轴,直观反映二者的关系。两种曲线都是分类模型常用的可视化评估工具。原创 2023-04-14 10:08:05 · 2837 阅读 · 0 评论 -
基于支持向量机的Digits手写数字识别
支持向量机(Support Vector Machine,简称SVM)模型既可以用于分类也可以用于回归。手写数字识别是一个多分类问题(判断一张手写数字图片是0~9中的哪一个),数据集采用Sklearn自带的Digits数据集,包括1797个手写数字样本,样本为8*8的像素图片,每个样本表示1个手写数字。我们的任务是基于支持向量机算法构建模型,使其能够识别测试集中的手写数字。本任务的主要实践内容:Digits手写数字数据集的加载与可视化SVM分类模型的创建模型参数调优、评估及手写数字识别预测。原创 2023-04-12 13:54:45 · 2464 阅读 · 0 评论 -
基于朴素贝叶斯分类器的钞票真伪识别模型
本实验通过实现钞票真伪判别案例来展开学习朴素贝叶斯分类器的原理及应用。本实验的主要技能点:1、 朴素贝叶斯分类器模型的构建2、 模型的评估与预测3、 分类概率的输出。原创 2023-04-12 14:01:12 · 2154 阅读 · 0 评论 -
基于逻辑回归构建肿瘤预测模型
乳腺癌数据集包括569个样本,每个样本有30个特征值(病灶特征数据),每个样本都属于恶性(0)或良性(1)两个类别之一,要求使用逻辑回归(LR)算法建立预测模型,实现准确预测新的病灶数据的类型(恶性或良性)。样本特征数据为病灶影像的测量数据,部分特征如下:本任务的主要实践内容:1、 逻辑回归-肿瘤预测模型的构建、预测及评估2、 逻辑回归-鸢尾花(Iris)分类模型的实现。原创 2023-04-12 10:02:49 · 3270 阅读 · 0 评论 -
常用异常检测模型的应用
异常数据检测不仅仅可以帮助我们提高数据质量,同时在一些实际业务中,异常数据往往包含有价值的信息,如异常交易、网络攻击、工业品缺陷等,因此异常检测也是数据挖掘的重要手段。常用的异常检测模型包括IsolationForest(孤立森林)、OneClassSVM(一类支持向量机)、LocalOutlierFactor(LOF,局部离群因子)等。原创 2023-04-13 10:15:06 · 1135 阅读 · 0 评论 -
多项式特征应用案例
对于线性模型而言,扩充数据的特征(即对原特征进行计算,增加新的特征列)通常是提升模型表现的可选方法,Scikit-learn提供了PolynomialFeatures类来增加多项式特征(polynomial features)和交互特征(interaction features),本任务我们通过两个案例理解并掌握增加多项式特征的应用过程。本任务的实践内容包括:1、在线性回归中使用多项式特征2、房价预测案例中使用多项式特征(基于Ridge模型)原创 2023-04-13 09:59:08 · 811 阅读 · 0 评论 -
基于决策树及集成算法的回归与分类案例
本任务基于决策树及集成算法分别实现鲍鱼年龄预测案例和肿瘤分类案例。鲍鱼年龄预测案例是建立一个回归模型,根据鲍鱼的特征数据(长度、直径、高度、总重量、剥壳重量、内脏重量、壳重)等预测其年龄。肿瘤分类案例我们已经用逻辑回归实现过,本任务利用决策树和集成算法来实现。本任务的主要实践内容:1、 决策树分类模型的构建2、 决策树算法的调参3、 集成算法(随机森林、Adaboost)的应用及对比4、 使用matplotlib可视化模型预测曲线。原创 2023-04-12 13:46:04 · 1192 阅读 · 0 评论 -
数据缩放在监督学习中的应用
数据缩放是通过数学变换将原始数据按照一定的比例进行转换,将数据放到一个统一的区间内。目的是消除样本特征之间数量级的差异,转化为一个无量纲的相对数值,使得各个样本特征数值都处于同一数量级上,从而提升模型的准确性和效率。本任务中,我们通过两个案例来掌握数据缩放算法的使用,并观察数据缩放对于机器学习模型的影响。原创 2023-04-13 09:44:29 · 1788 阅读 · 0 评论 -
使用交叉验证评估模型
交叉验证(cross-validation)是一种常用的模型评估方法,在交叉验证中,数据被多次划分(多个训练集和测试集),在多个训练集和测试集上训练模型并评估。相对于单次划分训练集和测试集来说,交叉验证能够更准确、更全面地评估模型的性能。本任务的主要实践内容:1、 应用k-折交叉验证(k-fold)2、 应用留一法交叉验证(leave-one-out)3、 应用打乱划分交叉验证(shuffle-split)原创 2023-04-13 10:16:34 · 1059 阅读 · 0 评论 -
基于K-最近邻算法构建红酒分类模型
Wine红酒数据集是机器学习中一个经典的分类数据集,它是意大利同一地区种植的葡萄酒化学分析的结果,这些葡萄酒来自三个不同的品种。数据集中含有178个样本,分别属于三个已知品种,每个样本含有13个特征(即13个化学成分值)。任务是根据已知的数据集建立分类模型,预测新的葡萄酒数据的类别。任务内容包括:1、 加载红酒数据并使用Matplotlib将数据可视化2、 将数据集随机拆分为训练集和测试集3、 构建K-最近邻算法分类模型并评估其准确性源码下载 ⬇。原创 2023-04-12 09:48:51 · 3451 阅读 · 2 评论 -
密度聚类算法(DBSCAN)实验案例
DBSCAN是一种强大的基于密度的聚类算法,从直观效果上看,DBSCAN算法可以找到样本点的全部密集区域,并把这些密集区域当做一个一个的聚类簇。DBSCAN的一个巨大优势是可以对任意形状的数据集进行聚类。本任务的主要内容:1、 环形数据集聚类2、 新月形数据集聚类3、 轮廓系数评估指标应用。原创 2023-04-12 18:00:05 · 2743 阅读 · 0 评论 -
人口普查数据集独热编码转换
在机器学习中,数据的表示方式对于模型算法的性能影响很大,寻找数据最佳表示的过程被称为“特征工程”,在实际应用中许多特征并非连续的数值,比如国籍、学历、性别、肤色等,这些特征被称为离散特征(或分类特征),对于多数模型来说,需要预先对离散特征进行数字编码,独热编码(one-hot编码)是最常用的离散特征编码方式。本任务的实践内容包括:1、对人口普查数据集(adult)进行独热编码转换2、对编码后的数据进行缩放预处理3、建立逻辑回归分类模型并评估。原创 2023-04-13 09:48:35 · 2279 阅读 · 0 评论 -
红酒分类案例中使用分箱处理
在建立分类模型时,通常需要对连续特征进行离散化(Discretization)处理 ,特征离散化后,模型更加稳定,降低了过拟合风险。离散化也叫分箱(binning),是指把连续的特征值划分为离散的特征值(划分为不同的箱子),比如把0-100分的考试成绩由连续数值转换为80以上、60~80之间、60以下三个分箱值(可以用0、1、2或独热编码表示),分箱后有助于提升分类模型的表现。本任务的实践内容包括:1、学习并熟悉Scikit-learn中的分箱处理类KBinsDiscretizer。原创 2023-04-13 10:00:47 · 459 阅读 · 0 评论 -
使用网格搜索(GridSearchCV)自动调参
调参对于提高模型的性能十分重要。在尝试调参之前首先要理解参数的含义,然后根据具体的任务和数据集来进行,一方面依靠经验,另一方面可以依靠自动调参来实现。Scikit-learn 中提供了网格搜索(GridSearchCV)工具进行自动调参,该工具自动尝试预定义的参数值列表,并具有交叉验证功能,最终找到最佳的参数组合。本任务的主要实践内容:1、 使用手工枚举来调参2、 利用GridSearchCV自动调参。原创 2023-04-13 10:17:36 · 2514 阅读 · 1 评论 -
使用线性回归构建波士顿房价预测模型
波士顿房价数据集统计了波士顿地区506套房屋的特征以及它们的成交价格,这些特征包括周边犯罪率、房间数量、房屋是否靠河、交通便利性、空气质量、房产税率、社区师生比例(即教育水平)、周边低收入人口比例等。我们的任务是根据上述数据集建立模型,能够预测房屋价格及其走势。本任务涉及的主要实践内容:1、 线性回归预测模型的构建2、 模型的预测与评估3、 使用matplotlib绘制房价预测曲线。原创 2023-04-12 13:42:51 · 4716 阅读 · 0 评论 -
基于LDA+SVM实现人脸识别模型
人脸识别(图像识别)是机器学习领域十经典的应用,在本质上,人脸识别属于监督学习中的分类问题。前面章节中我们已经学习了支持向量机(SVM),该算法在图像分类领域应用非常广泛,本任务要求结合学过的数据降维算法(LDA、PCA),使用SVM构建人脸识别模型,对比评估不同降维算法下的识别准确率。数据集采用lfw人脸数据集。本任务的主要工作内容:1、 lfw数据集的下载与加载查看2、 应用LDA对数据集降维3、 应用PCA对数据集降维4、 对比降维前后模型的表现5、 对比两种降维算法的区别。原创 2023-04-13 09:39:13 · 1772 阅读 · 1 评论 -
基于K-最近邻算法构建鸢尾花分类模型
鸢尾花(Iris)数据集是机器学习中一个经典的数据集。假设有一名植物学爱好者收集了150朵鸢尾花的测量数据:花瓣的长度和宽度以及花萼的长度和宽度,这些花已经鉴定为属于Setosa、Versicolor和Virginica三个品种之一。本任务的主要工作内容包括:1、 使用 Pandas和Matplotlib可视化并观察数据;2、 将数据集随机拆分为训练集(train set)和测试集(test set);3、 构建一个机器学习分类模型(K-最近邻算法)并评估其准确性(Accuracy)。资源包下载链接操作系统原创 2023-04-11 17:54:31 · 2223 阅读 · 0 评论 -
基于多种算法实现鸢尾花聚类
聚类(Clustering)属于无监督学习的一种,聚类算法是根据数据的内在特征,将数据进行分组(即“内聚成类”),本任务我们通过实现鸢尾花聚类案例掌握Scikit-learn中多种经典的聚类算法(K-Means、MeanShift、Birch)的使用。本任务的主要工作内容:1、K-均值聚类实践2、均值漂移聚类实践3、Birch聚类实践。原创 2023-04-12 17:51:36 · 2362 阅读 · 0 评论 -
基于PCA与LDA的数据降维实践
数据降维(Dimension Reduction)是降低数据冗余、消除噪音数据的干扰、提取有效特征、提升模型的效率和准确性的有效途径, PCA(主成分分析)和LDA(线性判别分析)是机器学习和数据分析中两种常用的经典降维算法。本任务通过两个降维案例熟悉PCA和LDA降维的原理、区别及调用方法。原创 2023-04-12 17:59:28 · 2262 阅读 · 0 评论 -
基于t-SNE的Digits数据集降维与可视化
t-SNE(t-分布随机邻域嵌入)是一种基于流形学习的非线性降维算法,非常适用于将高维数据降维到2维或者3维,进行可视化观察。t-SNE被认为是效果最好的数据降维算法之一,缺点是计算复杂度高、占用内存大、降维速度比较慢。本任务的实践内容包括:1、 基于t-SNE算法实现Digits手写数字数据集的降维与可视化2、 对比PCA/LCA与t-SNE降维前后手写数字识别模型的性能。原创 2023-04-13 09:39:01 · 2722 阅读 · 0 评论 -
肿瘤预测案例中应用自动特征选择
当特征数量比较多时,模型容易变得更复杂,过拟合的可能性也会增加。这时除了进行降维处理外,还可以通过自动化特征选择选出最重要的部分特征,抛弃对结果影响不大的特征,从而得到泛化能力更好、更简洁的模型。如何选择最重要的那些特征?有三种基本策略:单变量统计(univariate statistics)、基于模型的选择(model-based selection)和迭代选择(iterative selection)。原创 2023-04-13 10:02:56 · 511 阅读 · 0 评论