
Python应用
文章平均质量分 73
律己杂谈
这个作者很懒,什么都没留下…
展开
-
机器学习之数据预处理(一):缺失值处理和异常值识别的几种常用方法
例如,对数据集[5,10,11,13,15,35,50,55,72,92,204,215],设置分箱数为3,一共分成三个区间。价格的排序后数据(美元):2,6,7,9,13,20,21,25,30。使用等深方法进行划分,划分后的结果为:Bin1=[2,6,7],Bin2=[9,13,20],Bin3=[21,24,30]。由于分箱方法参考邻居的值,所以它进行的是局部平滑。☛规范化:将属性数据按比例缩放,使之落入一个特定的区间,如[-1,1]或者[0,1],以便消除属性之间的量纲和取值范围差异的影响。原创 2025-04-06 22:15:53 · 680 阅读 · 0 评论 -
使用Python的turtle绘制奥运五环、不一样的小星星(代码可运行)
turtle.tracer(n)打开或者关闭turtle动画。通常使用turtle.tracer(0)实现瞬间画图功能。画出20个五角星太慢了,即时speed(0)也还是很慢。n=4:在循环中,图形将一次画出4次循环的图。n=1:图形按照正常速度进行,可有可无。设置画笔粗细pen.pensize()n=0:图形将一次性画好。原创 2025-02-04 22:53:59 · 381 阅读 · 0 评论 -
讲清逻辑回归算法,剖析其作为广义线性模型的原因
逻辑回归模型本质就是将线性回归模型通过Sigmoid函数进行了一个非线性转换,将线性回归的结果(−∞,+∞)转换到一个介于0~1之间的概率值。的,其y的取值范围为(−∞,+∞),而逻辑回归模型是用于预测类别的,例如,用逻辑回归模型预测一个人是否会违约、客户是否会流失,在本质上预测的是一个人是否违约、是否流失的概率,而概率的取值范围是0~1,因此不能直接用线性回归方程来预测概率。当y值趋向正无穷(+∞)时,f(y)的值趋向于1,且函数的值域为(0,1)。方程式的左边是对数比值比,右边是线性方回归。原创 2025-02-03 19:01:39 · 662 阅读 · 0 评论 -
用Python实现线性回归算法预测客户价值(含运行代码)
以信用卡客户的客户价值为例来解释客户价值预测的具体含义:客户价值预测就是指预测客户在未来一段时间内能带来多少利润,其利润可能来自信用卡的年费、取现手续费、分期手续费、境外交易手续费、信用卡贷款等。样本数据共有128组,数据集中变量的详细描述如下表所示,表格中的“客户价值”列为目标变量(因变量),剩下的字段为特征变量(自变量)。针对高价值客户提供区别于普通客户的服务,以进一步挖掘这些高价值客户的价值,并提高他们的忠诚度,这样可以将有限的资源进行合理化的配置,提供客户的满意度。(2)提取特征变量和目标变量。原创 2025-01-25 17:56:42 · 458 阅读 · 0 评论 -
线性回归算法全攻略:详尽介绍与核心实现原理精讲
由于建立回归方程的目的是寻找y随x变化的规律,如果回归方程所有的系数值都为0,那么不管x如何变化,y不随x的变化作线性变化,那么这时求得的线性回归方程就没有意义,称回归方程不显著;其中,y是因变量,x是自变量,α是回归常数,β为回归系数,分别表示直线在Y轴的截距和直线的斜率。线性回归算法是最简单的回归形式,主要用于研究因变量(响应变量,目标变量)和自变量(预测变量)之间的关系,随着自变量的变化,因变量也会随之发生变化。,xp为不同的自变量,β1,β2,…,βp则为这些自变量前的回归系数,β0为回归常数,原创 2025-01-25 17:51:20 · 1208 阅读 · 0 评论 -
精讲Python之turtle库(二):设置画笔颜色、回旋伞、变色回旋伞、黄色三角形、五角星,附源代码
rgb用3个0~255数字表示颜色,例如(0,0,0),(100,20,50),(255,255,255)使用rgb模式的颜色,rgb模式的颜色几乎包括了人类视力所能感知的所有颜色。,这篇文章已经介绍了turtle库的基本知识点,现对进阶的功能进行讲解。当三个数字是最大值时:255,255,255,表示白色。255,255,0-黄色(红色+绿色=黄色)当三个数字都是0的时候,0,0,0表示黑色。第一个数字r表示红色的比重。第三个数字b表示蓝色的颜色。255,0,0-红色(亮)100,0,0-红色(暗)原创 2025-01-23 22:31:37 · 1055 阅读 · 0 评论 -
精讲Python之turtle(海龟)库(一):原理及例子精讲
当speed()函数接受一个整数作为参数时,该整数的范围通常是0到10:0:最快速度。"slow":较慢速度(与整数3相同)。"normal":正常速度(6默认值,通常对应于某个介于1和10之间的速度)。如果没有turtle.done(),这个窗口可能会在你的程序执行完毕后立即关闭,导致你看不到最终的绘图结果。这个函数接受一个参数,该参数可以是一个整数或一个字符串,用于指定turtle移动的快慢。Turtle模块是python中专门用来画图的模块,通过程序控制海龟的来回移动,移动的轨迹就是所画的图形。原创 2025-01-20 23:40:33 · 726 阅读 · 0 评论 -
用Python实现SVM搭建金融反诈模型(含调试运行)
剩下的字段为特征变量,只选取了5个特征变量,在实际中使用的特征变量远很多,根据这些数据搭建支持向量机模型。可见对于判断是否欺诈,模型的 precision(查准率)为0.82,查准率比较高,但是recall(查全率)为0.59,命中率不够高,表示有一些实际是欺诈的客户模型没能识别出来,遗漏了。②stratify=y是一个重要的参数,当y是分类变量时,使用该参数可以确保划分后的训练集和测试集在不同类别上的比例与原始数据集的比例保持一致,这对于分类任务非常重要,避免某些类别在测试集中的比例失衡。原创 2025-01-19 23:18:12 · 1495 阅读 · 0 评论 -
支持向量机算法(三):非线性支持向量原理层层拆解,精读公式每一处细节
比如,有两个玩具叫小熊和小兔子,你把它们的名字告诉魔法盒子(核函数),魔法盒子就会告诉你一个数字,这个数字就代表了如果把小熊和小兔子放到大仓库里,它们之间的一种亲密程度(在高维特征空间中的内积)。其中,c为可选的常数。作为高斯核函数的带宽,通过控制核函数的宽度,影响着样本之间的权重分配,进而对基于高斯核函数的机器学习模型的性能产生重要影响,需要谨慎选择和调整。线性核函数是多项式核函数的特殊情况(a=1,p=1),多项式核函数通过调整a、c和p的值,可以得到不同的核函数形式,具有更强的灵活性和适应性。原创 2025-01-18 23:19:50 · 1303 阅读 · 0 评论 -
Python基础完整习题分析练习,适合入门
描述:获得用户输入的两个与时间相关的字符串,两个时间用逗号分隔,每个时间字符串格式示例如下:2018年08月01日17点21分21秒。请编写一个个人所税计算器,用户输入应发工资薪金所得、五险一金金额和个税免征额,输出应缴税款和实发工资,结果保留小数点后两位。描述:求斐波纳契(Fibonacci)数列:1, 1, 2, 3, 5, 8... 的前n项,n的值从键盘输入。其中:实发工资=应发工资-五险一金-应缴税款 ,要求使用下面的输入语句并补充代码。输出:"1,1,2,3,5,8,13,21,34,55"原创 2025-01-14 23:49:45 · 401 阅读 · 0 评论 -
支持向量机算法(二):层层拆解,精读公式每一处细节
但是玩这个游戏是有规则的。这个打分机器有两部分,一部分是和方案的 “规模”(用变量表示)的平方有关的,就像你做一件事,做得越多或者越大,这部分的分数就会按照平方的关系变化;线性可分支持向量机只能处理线性可分问题,但实际应用中往往均是非线性问题,很难找到一条直线将两个样本完全分开,这时只能通过其他非线性模型或特征升维等技巧得到一个非线性的超平面,但这种在训练集上的优异表现可能会导致过拟合的结果,从而降低模型的泛化能力。:这是对松弛变量的约束,确保松弛变量是非负的,因为它们表示的是距离的调整量,不能为负数。原创 2025-01-10 23:21:45 · 1022 阅读 · 0 评论 -
Numpy数组的属性
需要注意的是,shape属性的值是一个元组,元组里面有多少个元素取决于数组的维度。描述数组中元素类型的对象,既可以使用标准的Python类型创建或指定,也可以使用NumPy特有的数据类型来指定,比如numpy.int32、numpy.float64等。表中罗列的属性比较抽象,不容易理解,为了让大家理解ndarray对象的属性,下面通 过画图的方式分别介绍一维数组、二维数组和三维数组的属性,具体如下图所示。Numpy的矢量运算能力是指它能够对数组中的每个元素执行相同的操作,而不需要编写循环。原创 2025-01-08 22:38:59 · 353 阅读 · 0 评论 -
支持向量机算法(一):像讲故事一样讲明白它的原理及实现奥秘
(Linear Support Vector Machine In Linearly Separable Case),有一些苹果和橙子,把它们的大小、颜色深浅当作特征,在二维平面上,能找到一条直线将苹果和橙子完全分开,每个水果都能精准归类,这就是线性可分,这条直线就是分类超平面,此为硬间隔最大化,这便是线性可分支持向量机的作用。由于新增了样本数据,相对于直线b而言,直线a与c对样本变化的适应性变差,使用直线a进行分类,标记的圆形点会被分到三角形中,使用直线c进行分类,标记的三角形点会被分到圆形中。原创 2025-01-07 21:32:42 · 696 阅读 · 0 评论 -
从数据到诊断:朴素贝叶斯算法助力肿瘤预测之路
将score打印输出,结果为0.9824,也就是说,模型对整个测试集的预测准确度为0.9824,对于分类模型,不仅要关心整体的预测准确度,也要关心模型在每一类样本里面的表现 ,可以看到,对于恶性肿瘤的预测,模型的 precision(精准率)=0.99和recall(命中率)=0.99都比较高,因此,模型对于预测肿瘤性质的效果还不错。数据集中变量的详细描述如下表所示,表格中的“肿瘤性质”列为目标变量,剩下的字段为特征变量,目前只选取了6个特征变量,在医疗行业中实际用于判断肿瘤性质的特征变量要多得多。原创 2025-01-06 22:43:40 · 1082 阅读 · 0 评论 -
一文讲明白朴素贝叶斯算法及其计算公式(入门普及)
这时候我们想知道这个有这些特点的水果它属于哪个类别,比如它是苹果、还是香蕉或者橙子,那就要去求在已经知道它有这些特点(也就是已知X的条件下),它属于某个类别Y的概率,这个概率就是后验概率P(Y|X)。“今天是下雨天”就是那个已经发生的事件B,“路上堵车” 就是事件A,我们想求的就是P(A|B)。条件概率是“贝叶斯公式”的关键所在,它也被称为“似然概率”, 一般是通过历史数据统计得到.贝叶斯公式可以预测事件发生的概率,两个本来相互独立的事件A和B,发生了某种“相关性”,此时就可以通过“贝叶斯公式”实现预测。原创 2025-01-05 22:19:26 · 1116 阅读 · 0 评论 -
用Python实现K近邻算法用于手写数字识别详细过程(含首次调试运行)
在手写数字识别的例子中,knn_model.fit(X_train,y_train)这一步就是把训练集中手写数字的特征(存储X_train中)和对应的数字标签(存储在y_train中)保存起来。数组经过图像二值化处理获得32×32的0-1矩阵,为了方便进行机器学习建模,还需要对这个二维矩阵进行简单的处理:在第1行数字之后依次拼接第2~32行的数字(也即32*32=1024),得到一个1×1024的一维数组。也就是在进行分类预测时,会根据新数据与训练集中5个最相似的数据(最近邻)的类别来确定新数据的类别。原创 2025-01-04 11:26:58 · 863 阅读 · 0 评论 -
K 近邻算法入门指南:明氏距离与皮尔森距离的基础讲解
比如,一个街区是方格状的,从一个街区的左上角走到右下角,不能斜着走,只能先横着走再竖着走,走过的路程长度就是曼哈顿距离。可以这样理解,在一个棋盘上,车(国际象棋中的棋子)从一个格子走到另一个格子,它只能横着走或者竖着走,并且走的步数是按照两个格子在横纵坐标上差值的最大值来计算的,这个步数就是切比雪夫距离。在选出了 K 个最相似的数据后,查看这 K 个数据分别属于哪些类别,然后统计各个类别出现的次数,哪个类别出现的次数最多,就把这个出现次数最多的类别作为新输入的那个无标签数据的分类。原创 2025-01-03 23:13:05 · 649 阅读 · 0 评论 -
用Python实现决策树用于离职员工分析详细过程(二)模型评估预测(含代码运行结果)
④使用pandas库的DataFrame构造函数创建一个名为prob_mat的DataFrame对象,传入的第一个参数是y_pred_proba,第二个参数是columns,通过指定列名['不离职概率', '离职概率'],将DataFrame的两列分别命名为对应的名称,这样就把原本的二维数组数据以更直观、更便于查看和分析的表格形式呈现出来。我们希望在阈值相同的情况下,假警报率尽可能小,命中率尽可能高,即ROC曲线尽可能陡峭,其对应的AUC值(ROC曲线下方的面积)尽可能高。原创 2025-01-02 22:26:26 · 925 阅读 · 0 评论 -
用Python实现决策树用于离职员工分析详细过程(一)(含首次调试运行)
员工离职预测模型能够提前预判,尽早介入,针对员工最关注/不满的问题及时提供解决方案(例如,升职加薪,教育优惠,经济补偿等),从而提高满意度,降低员工离职风险,特别是留住经验丰富的员工,避免员工“去意已决”时才进行无效挽留。划分出来的测试集的目标数据,和X_test是对应的,同样是测试集中每个样本对应的真实目标结果,用来和模型对测试集预测的结果进行对比,从而评估模型的好坏。划分出来的测试集的特征数据,对应着X中30%的特征部分,之后会用来输入到训练好的模型中,查看模型预测的准确性等性能指标。原创 2025-01-01 22:51:45 · 1113 阅读 · 0 评论 -
Numpy数组的三种主要索引方式讲解及源码示例
当使用布尔索引访问数组时,会将数组中与布尔数组或布尔列表位置相同的元素进行匹配,并返回与布尔数组或布尔列表中True位置对应的元素。在上述代码中,通过布尔索引[True,False,True,False]会获取数组中True对应的一行数据,也就是行索引为0、2的两行数据,通过切片会获取两行数据中列索引为0、1的元素。上述代码中,通过两个花式索引[1,4]、[2,3]访问二维数组arr2d,依次从二维数组arr2d中获取行索引1、列索引2对应的元素和行索引4、列索引3对应的元素。原创 2024-12-22 21:31:35 · 1209 阅读 · 0 评论 -
精通 Numpy 数组:详解数据类型查看、转换与索引要点
从数据类型的命名方式上可以看出,NumPy的数据类型是由一个类型名和元素位长的数字组成,例如,int32的int是类型名, 32是元素位长的数字。NumPy数组支持索引和切片操作,且提供了比Python序列更丰富的索引功能,它除了可以使用基本的整数索引之外,还可以使用花式索引和布尔索引访问数组中的元素。二维数组比一维数组要复杂一些,它里面的每个元素对应行索引和列索引,其中行索引和列索引可以是正向索引,也可以是反向索引。数组是通过索引的方式标记元素的位置,数组的类型不同,索引方式也会有一些区别。原创 2024-12-21 19:56:21 · 1209 阅读 · 0 评论 -
大白话讲解Numpy中什么是一维、二维、三维数组,以及5种创建方式
NumPy中提供了多种创建数组的方式,其中最基本的方式就是通过array()函数创建数组在使用该函数时直接传入列表或元组即可。通过array()函数分别创建一维数组、二维组和三维数组,那么什么是维度呢?一维、二维、三维有什么区别?1、什么是维度?维度可以理解为描述数据的一种 “方向” 或者 “层次”。在数组中,维度的数量决定了我们需要用多少个索引来访问一个元素2、一维、二维、三维的区别?(1)一维:一维数组就像是一条直线上排列的一组数据,例如:a = np.array([1, 2原创 2024-12-20 20:44:16 · 805 阅读 · 0 评论 -
一文带你认识NumPy数组是什么
三维数组又被认为元素是二维数组的数组,而二维数组也可以认为元素是一维数组的数组。上图所示的二维数组中,上面一行内容是一个一维数组,它是数组的第一个元素,下面一行内容是一个一维数组,它是数组的第二个元素;上图所示的三维数组中,位于前面的平面是一个二维数组,它是数组的第一个元素,位于后面的平面是一个二维数组,它是数组的第二个元素。三维数组有沿着行、列方向,以及由行列组成的平面的三个轴,轴的编号分别为0、1、2。●数组中的元素可以是任意类型的,但所有元素必须是相同的类型,并且不能出现混合类型。原创 2024-12-18 21:08:53 · 268 阅读 · 0 评论 -
3分钟读懂数据分析的流程是什么
要解决什么业务问题?不同的项目对数据的要求是不一样的,使用的分析手段也是不一样的。到了这个阶段,要想驾驭数据开展数据分析,就要涉及工具和方法的使用,其一是要熟悉 常规数据分析方法及原理,其二是要熟悉专业数据分析工具的使用,比如pandas、MATLAB等, 以便进行一些专业的数据统计、数据建模等。数据处理是指对收集到的数据进行清洗、加工、整理等一些操作,以便开展数据分析,它 是数据分析前必不可少的阶段。数据收集是按照确定的数据分析思路和框架内容,有目的地收集、整合相关数据的一个过程、它是数据分析的基础。原创 2024-12-17 20:31:51 · 570 阅读 · 0 评论 -
一文带你读懂数据分析的应用场景有哪些
数据分析应用的计算能力可以让我们能够在几分钟内就可以解码整个DNA,并且让我们可 以制定出最新的治疗方案,同时可以更好地去预测疾病,就好比人们戴上智能手表等可以产生的数据一样,数据分析同样可以帮助病人及早预防和预测疾病的发生,做到早治疗、早康复。随着大数据的应用越来越广泛,应用的行业也越来越多,我们每天都可以看到一些关于数据分析的新鲜应用,从而帮助人们获取到有价值的信息。随着信息技术的不断发展,数据分析应用的领域正在日益扩大,充满了巨大的潜力和机遇,同时也带来了前所未有的挑战。原创 2024-12-16 22:11:56 · 577 阅读 · 0 评论 -
一文带你读懂什么是数据分析
规范性分析可以预测多个事件发生的可能性,同时在做出决定之前考虑每种可能的结果,这就意味着规范性分析的实施和管理更加复杂,它不仅需要依赖企业内部的历史数据,还需要依靠很多来自社交媒体的外部信息,甚至需要更加复杂的技术,如机器学习、业务规则和算法等。描述性分析是数据分析中最简单形式的分析方式,它主要是在历史数据的基础之上,利用一些核心指标(如流量、转化率、收入、成本等)对业务的现状做出准确的描述,使人们能够对业务的整体情况有个认知。,将隐藏在一大批看似杂乱无章的数据中提炼出来有用的数据,原创 2024-12-15 21:31:39 · 657 阅读 · 0 评论 -
教你使用Python库turtle绘制中国象棋
中国象棋使用方形格状棋盘,圆形棋子共有32个,红黑二色各有16个棋子,摆放和活动在交叉点上。整个棋盘由横、竖、斜、圆和文字组成。下面使用Python中的turtle库绘制中国象棋。原创 2024-12-14 22:35:43 · 475 阅读 · 0 评论 -
Python基础经典编程练习题(二),含答案
值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、描述:在我国古代的《算经》里有一个著名的不定方程问题:鸡翁一。注意:每行按照公鸡、母鸡、小鸡的顺序输出所有解;以内所有素数之和并输出。仅是输入输出格式样例,不是正确结果。示例仅是输入输出样式,不是正确结果。以内每个数是否为素数,然后求和。原创 2024-12-13 22:47:12 · 438 阅读 · 0 评论 -
Python基础经典编程练习题,含答案
Python基础经典编程练习题,含答案原创 2024-12-12 19:02:08 · 591 阅读 · 0 评论