- 博客(1254)
- 收藏
- 关注
原创 使用tensorflow实现线性回归
实现一个算法主要从以下三步入手:找到这个算法的预测函数, 比如线性回归的预测函数形式为:y = wx + b,找到这个算法的损失函数 , 比如线性回归算法的损失函数为最小二乘法找到让损失函数求得最小值的时候的系数, 这时一般使用梯度下降法.
2025-03-28 16:40:15
524
原创 TensorFlow之ragged tensor
Ragged Tensor(不规则张量) 是一种特殊的多维数据结构,用于处理维度长度不固定的数据(例如变长序列)。与常规张量(所有维度长度相同)不同,Ragged Tensor允许不同维度(如行、列)的元素数量不一致,特别适合处理自然语言、时间序列等变长数据。
2025-03-28 11:45:11
346
原创 TensorFlow之sparse tensor
sparse tensor 稀疏tensor, tensor中大部分元素是0, 少部分元素是非0.
2025-03-25 19:59:03
235
原创 TensorFlow之常量的使用1
TensorFlow中定义的数据叫做Tensor(张量), Tensor又分为常量和变量。常量一旦定义值不能改变。使用tf.constant定义常量。
2025-03-25 19:37:37
476
原创 TensorFlow之Session
会话(Session)是用来执行图中的运算的上下文。所有的运算必须在一个会话中执行。在 TensorFlow 2.x 中,会话的概念已经被简化,默认情况下,所有的操作都会立即执行。
2025-03-20 17:15:07
203
原创 TensorFlow简介
会话是用来执行图中的运算的上下文。所有的运算必须在一个会话中执行。在 TensorFlow 中,数据是以张量的形式存储的,张量可以看作是一个 n 维数组。例如,标量是一维张量,向量是二维张量,矩阵是三维张量,依此类推。数据流图中的数据叫做tensor, 表示张量, 即N维数据, tensor在数据流图中流动表示计算的过程, 这也是tensorflow名字的由来.TensorFlow 中的计算是在图中进行的,图由节点(Nodes)组成,节点代表数学运算,节点之间通过边(Edges)相连,边传递张量。
2025-03-20 14:41:41
344
原创 xgboost模型预测信用卡欺诈
本文探究了在机器学习中,面对一个大型的人与人之间交易的数据集,如何尽快处理大量数据并区分某交易记录是正常的用户行为还是潜在的信用卡欺诈行为,最终通过构建分类模型来对欺诈交易进行分类区分,并通过恰当的方式对构建的模型进行评估,来解决上述问题。数据内容为2017年Kaggle网站上的案例Credit Card Fraud Detection这一部分的数据集,数据集文件名称为creditcard.csv。
2025-03-11 19:53:31
395
原创 AdaBoost模型预测之信用卡违约(上)
本文探讨了如何使用Python进行信用卡违约数据的预处理、类别不平衡处理、AdaBoost模型建立、参数调优及模型评估,包括准确率、ROC曲线和特征重要性分析。以信用卡违约数据为例,该数据集来源于UCI网站,一共包30000条记录和25个变量,其中自变量包含客户的性别、受教育水平、年龄、婚姻状况、信用额度、6个月的历史还款状态、账单金额以及还款金额,因变量y表示用户在下个月的信用卡还款中是否存在违约的情况(1表示违约,0表示不违约)。
2025-03-07 17:49:46
406
原创 GBDT的改进之XGBoost算法介绍
XGBoost是由传统的GBDT模型发展而来的,GBDT模型在求解最优化问题时应用了一阶导技术,而XGBoost则使用损失函数的一阶和二阶导,而且可以自定义损失函数,只要损失函数可一阶和二阶求导。XGBoost算法相比于GBDT算法还有其他优点,例如支持并行计算,大大提高算法的运行效率;XGBoost在损失函数中加入了正则项,用来控制模型的复杂度,进而可以防止模型的过拟合;XGBoost除了支持CART基础模型,还支持线性基础模型;
2025-03-07 11:46:17
635
原创 XGBClassifiler函数介绍
XGBClassifier 是 XGBoost 库中用于分类任务的类。XGBoost 是一种高效且灵活的梯度提升决策树(GBDT)实现,它在多种机器学习竞赛中表现出色,尤其擅长处理表格数据。max_depth;用于指定每个基础模型所包含的最大深度,默认为3层learning_rate:用于指定模型迭代的学习率或步长,默认为0.1;即对应的梯度提升模型FTxF_T(x)FTxFTxFT−1xυftxFTxFT−1xυftx。
2025-03-06 19:44:40
966
原创 非平衡数据的处理
ratio:用于指定重抽样的比例,如果指定字符型的值,可以是’minority’(表示对少数类别的样本进行抽样)、‘majority’(表示对多数类别的样本进行抽样)、‘not minority’(表示采用欠采样方法)、‘all’(表示采用过采样方法),默认为’auto’,等同于’all’和’not minority’。的观测值为(2,3,10,7),从图中的5个近邻随机挑选两个样本点,它们的观测值分别为(1,1,5,8)和(2,1,7,6),3.对于每一个随机选中的样本点,构造新的样本点。
2025-03-04 20:07:25
728
原创 GBDT算法的介绍
梯度提升树算法实际上是提升算法的扩展版,在原始的提升算法中,如果损失函数为平方损失或指数损失,求解损失函数的最小值问题会非常简单,但如果损失函数为更一般的函数,目标值的求解就会相对复杂很多。GBDT就是用来解决这个问题,利用损失函数的负梯度值作为该轮基础模型损失值的近似,并利用这个近似值构建下一轮基础模型。
2025-03-04 16:05:09
275
原创 Adaboost算法介绍
提升树与线性回归模型的思想类似,所不同的是该算法实现了多颗基础决策树f(x)的加权运算,Fx∑m1MαmfmxFm−1xαmfmxFxm1∑MαmfmxFm−1xαmfmx其中,F(x)是由M棵基础决策树构成的最终提升树,Fm−1xF_{m-1}(x)Fm−1x表示经过m-1轮迭代后的提升树,αm\alpha_mαm为第m棵基础决策树所对应的权重,fmx。
2025-02-27 19:23:47
728
原创 GrandientBoostingClassifier函数介绍
GradientBoostingClassifier 是 Scikit-learn 库中的一个分类器,用于实现梯度提升决策树(Gradient Boosting Decision Trees,GBDT)算法。GBDT 是一种强大的集成学习方法,能够通过逐步构建一系列简单的决策树(通常是浅树)来提高模型的预测性能。它在多个机器学习竞赛中表现出色,是用于分类和回归任务的流行选择。
2025-02-26 17:14:46
504
原创 AdaBoostClassifier函数介绍
AdaBoostClassifier 是 Scikit-learn 库中的一个分类器,用于实现 AdaBoost 算法。AdaBoost,或称 “自适应增强”,是一种流行的用于提升分类算法性能的集成学习方法。它通过组合多个简单的弱分类器(通常是决策树桩,即深度为 1 的决策树)来构建一个强分类器。
2025-02-26 16:49:53
155
原创 preprocessing.scale函数介绍
preprocessing.scale 是 scikit-learn 库中的一个函数,用于在数据预处理中对特征进行标准化(标准差缩放)。标准化是指将数据调整到均值为零,方差为一的分布。这个过程有助于提升某些机器学习算法的性能,特别是那些依赖距离计算的算法,如支持向量机、k-means 聚类等。参数介绍X:要进行标准化处理的数据数组或者矩阵。通常是一个二维数组,其中行代表样本,列代表特征。axis:指定沿哪个轴进行数据标准化。默认值为 0,即对每一列(特征)进行标准化。
2025-02-20 10:35:28
494
原创 make_moon函数介绍
make_moons 是 scikit-learn 中用于生成合成数据集的函数,专门用于创建两个交错的半月形(或新月形)数据集。这种数据集常用于演示聚类算法(如 DBSCAN)或分类算法(如 SVM)在处理非线性可分数据时的性能。noise=0.1,
2025-02-19 15:42:42
430
原创 cluster.DBSCAN函数介绍
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,能够发现任意形状的簇,并有效识别噪声点。在 scikit-learn 库中,cluster.DBSCAN 是该算法的实现。p=None,
2025-02-19 14:36:57
383
原创 DBscan算法理论知识
本期将介绍另一种聚类算法,那就是基于密度聚类的算法。该算法的最大优点是可以将非球形簇实现恰到好处的聚类,如下图所示,即为一个非球形的典型图形:如上图所示,右上角的样本点为一个簇,呈现球形特征,但是左下角的两个样本簇,存在交合状态,并非球形分布。如果直接使用K均值聚类算法,将图形中的数据,聚为三类,将会形成下图的效果:如上图所示,K均值聚类的效果很显然存在差错。如果利用本文所接受的DBSCAN聚类算法,将不会出现这样的问题。
2025-02-17 15:37:22
1067
原创 DBscan和kmeans的区别
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)和K-Means是两种不同的聚类算法,它们在处理数据的方式和适用场景上存在一些关键区别:K-Means:是基于中心的聚类算法。它假设数据集的每个点都是独立和彼此固定的,然后通过最小化点到其聚类中心的距离来进行聚类。K-Means需要预先指定簇的数量K。DBSCAN:是基于密度的聚类算法。不需要预先指定簇的数量,而是通过设置参数(如epsilon和最小点数minPts)来识别
2025-02-14 11:09:08
322
原创 sns.lmplot函数介绍
sns.lmplot 是 Seaborn 库中的一个函数,用于绘制线性回归模型图。它主要用于可视化两个变量之间的关系,并拟合一条回归线来展示它们的线性趋势。lmplot 支持多种回归模型,并允许通过分组变量进行分组绘图。x=None,y=None,data=None,hue=None,col=None,row=None,height=5,aspect=1,x_ci='ci',ci=95,order=1,size=None主要参数说明。
2025-02-06 14:18:14
273
原创 KMeans函数介绍
KMeans 是一种常用的聚类算法,属于无监督学习。它通过将数据集划分为 k 个簇,使得每个数据点属于离其最近的簇中心(质心)对应的簇。KMeans 算法的目标是最小化簇内数据点与质心之间的平方距离之和。n_clusters:用于指定聚类的簇数init:用于指定初始的簇中心设置方法,如果为’k-means++‘,则表示设置的初始簇中心之间相距较远;如果为’random’,则表示从数据集中随机挑选k个样本作为初始簇中心;如果为数组,则表示用 户指定具体的簇中心。
2025-02-05 14:29:41
393
原创 K-means聚类算法理论知识
对于有监督的数据挖掘算法而言,数据集中需要包含标签变量(即因变量y的值)。但是有些场景下,并没有给定的y值,对于这类数据的建模,一般称为无监督的数据挖掘算法,,最为典型的当属聚类算法。kmeans 聚类算法利用距离远近的思想将目标数据聚集为指定的k个簇,进而使样本呈现簇内差异小,簇间差异大的特征。在kmeans聚类模型中,对于指定的k个簇,只有簇内样本越相似,聚类效果才越好。基于这个思想,可以理解为簇内样本的离差平均之和达到最小即可。进而可以衍生出kmeans聚类的目标函数:其中,cjc_jc。
2025-01-24 15:15:16
1465
原创 fit_transform,fit,transform区别和作用
sklearn中封装的各种算法 调用之前都要fit。fit相对于整个代码而言,为后续API服务,用于从一个训练集中学习模型参数,包括归一化时要用到的均值,标准偏差。fit之后,可以调用各种API方法,transform是其中之一。所以当你调用transform之外的方法,也必须要先fit。但是fit与transform无关,只是数据处理的两个环节。fit_transform这个函数名,仅仅是为了写代码方便,会高效一点。数据预处理中方法。
2025-01-24 11:17:05
468
原创 SVM模型实战2
下面是一份森林火灾面积预测数据集:forestfires.csv,我们还是先通过网格搜索法,寻找到最合适的参数,然后进行模型预测。
2025-01-23 10:17:08
218
原创 SVM模型实战1
这里有一份手写体字母识别的数据,我们采用网格搜索法,分别测试LinearSVC和SVC模型,最终选择SVC模型,并计算预测结果的准确性。
2025-01-22 16:08:22
832
原创 SVM模型(理论知识3)
经验之谈:大多数情况下,选择高斯核函数是一种相对偷懒而有效的方法,因为高斯核是一种指数函数,它的泰勒展开式可以是无穷维的,即相当于把原始样本点映射到高维空间中。对于非线性SVM模型而言,需要经过两个步骤,一个是将原始空间中的样本点映射到高维的新空间中,另一个是在新空间中寻找一个用于识别各类别样本点线性"超平面"。在原始空间中某个函数的输出,那么该函数就称为核函数。假设原始空间的样本点为x,将样本通过某种转换。,在其扩展到高维空间后,它们的内积。假设原始空间中的两个样本点为。可以利用核函数替换,即。
2025-01-21 16:41:59
1062
原创 SVC函数介绍
SVC(Support Vector Classification)是支持向量机(SVM)的一种实现,主要用于分类问题。支持向量机是一种监督学习算法,其基本原理是找到一个最优的超平面来将不同类别的数据分开。SVC在小样本和高维空间中表现良好,且能够处理非线性分类问题。C:用于指定目标函数中松弛因子的惩罚系数值,默认为1kernel:用于指定SVM模型的核函数,该参数如果为’linear’,就表示线性核函数;
2025-01-21 16:00:29
297
原创 make_classification函数介绍
make_classification是Scikit-learn库中用于生成合成数据集的一个函数,通常用于测试和验证机器学习算法。它专门用于生成用于分类问题的合成数据集。这个函数可以在控制各种数据特性的同时快速生成标签数据。以下是make_classification的一些关键参数和它们的功能:这个函数返回两个数组:X:形状为[n_samples,n_features]的数组,表示生成的多维数据集。y:形状为[n_samples]的数组,表示每个样本的类标签。
2025-01-20 14:37:23
321
原创 LinearSVC函数介绍
LinearSVC 是 scikit-learn 库中支持向量机(SVM)的一种实现,专门用于在线性条件下进行分类。与 SVM 模型的其他实现(例如 SVC 使用核技巧)不同,LinearSVC 更适合用于大规模、稀疏数据集,特别是在文本分类等任务中。tol:用于指定SVM模型迭代的收敛条件,默认为0.0001C:用于指定目标函数中松弛因子的惩罚系数值,默认为1fit_intercept:bool类型参数,是否拟合线性“超平面”的截距项,默认为True。
2025-01-20 10:55:26
439
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人