数据挖掘逻辑回归算法(数据挖掘逻辑回归例题)

虚拟屋 2022-12-23 01:09 编辑:admin 242阅读

1. 数据挖掘逻辑回归例题

logit回归1.打开数据,依次点击:analyse--regression--binarylogistic,打开二分回归对话框。

2.将因变量和自变量放入格子的列表里,上面的是因变量,下面的是自变量(单变量拉入一个,多因素拉入多个)。

3.设置回归方法,这里选择最简单的方法:enter,它指的是将所有的变量一次纳入到方程。其他方法都是逐步进入的方法。

4.等级资料,连续资料不需要设置虚拟变量。多分类变量需要设置虚拟变量。

5.选项里面至少选择95%CI。点击ok。统计专业研究生工作室原创,请勿复杂粘贴

2. 数据挖掘回归模型

  数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多种,按功能可以分为两大类:预测性(Predictive)模式和描述性(Descriptive)模式。在应用中往往根据模式的实际作用细分为以下几种:分类,估值,预测,相关性分析,序列,时间序列,描述和可视化等。

  数据挖掘涉及的学科领域和技术很多,有多种分类法。

  (1)根据挖掘任务分,可分为分类或预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等;根据挖掘对象分,有关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及环球网Web。

  (2)根据挖掘方法分,可粗分为:机器学习方法、统计方法、神经网络方法和数据库方法。机器学习中,可细分为:归纳学习方法(决策树、规则归纳等)、基于范例学习、遗传算法等。统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)等。神经网络方法中,可细分为:前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。数据库方法主要是多维数据分析或OLAP方法,另外还有面向属性的归纳方法等等。

3. 逻辑回归分析案例

打开SPSS,

输入数据,

工具栏选择分析,再选择回归,再选择曲线估计,

弹出窗口,填入因变量与自变量,然后在模型选择Logistic。

如果你是想做曲线拟合,那你就把所有模型都选上,只做Logistic,就只选其。

希望能够帮助您,虽然这答案有点晚叻。

4. 逻辑回归算法案例

(1)收集数据:采用各种方法收集数据,比如爬虫等;

(2)准备数据:因为需要计算距离,所以数据类型应该是数值型,最好是结构化数据格式;

(3)分析数据:通过业务的角度或者其他的方法分析数据;

(4)训练算法:这是关键的一步,训练的目的是找到最佳的分类回归系数,可以使用随机梯度上升法;

(5)测试算法:训练完成,将数据投入模型进行测试;

(6)使用算法:将需要的数据进行处理成适合模型的结构化数据,输出的是类别,只有0,1两类。

5. 逻辑回归应用实例

1,构建所需的数据集,根据实验的窗口,构建逻辑回归数据结构,例如 用过去12个月数据 做购买率的模型训练,这部分包含训练数据集与测试数据集,

2.变量的转化与预处理。

其中去掉缺失值较多的变量,购买率分布较集中的变量,即购买概率的变化不随自变量变化而变化的变量,即数值集中程度较高的变量。与Y不相关的变量。

3.变量的删选(特征工程)(caret包)

将高维即数量太庞大的自变量群,降维致较少的变量组合,(例如降至80以下 或者20左右),这部分步骤主要来降维的同时,期望消去变量之间的共线性,相关性等因素

4.模型的构建(glm 包/step() )

根据实际商业的目的,挑选第三步后剩下的变量,并调参,找到是整个系统平滑稳定的变量组合,例如10个变量,其中每个变量权重期望分布均匀,且满足模型其他各项基本指标,如C值 AUC等。

5.模型的评估 与描述

将构建完成的模型,将所有客户的购买率给出,并从高到低排序,总人群均分为10类 。输出模型结果 其中理想效果是 :购买率高的客户群为总体平均购买率人群的两倍既两倍以上,即高的购买率是总体平均购买率的两倍。

6. 数据挖掘逻辑回归例题及解析

我做数据挖掘相关的工作很多了。简单来谈一下个人对这个问题的看法。有说的不对的地方,欢迎各位同行批评指正:

数据挖掘大概可以分成四类问题,问题不一样,对应的处理方法也不同

1.预测问题:建模数据集合中有X和Y,Y是连续变量。通常用线性模型、随机森林、xgboost算法来解决。评估主要基于测试集上的均方误差或者相对误差。或者计算cross-validation的平均均方误差或者相对误差

2.分类为题:建模数据集合中有X和Y,Y是类别变量。通常用logistic回归、cart、随机森林、xgboost来解决。评估主要基于测试集合上的准确率和召回率或者计算cross-validation的平均准确率或召回率

3.聚类问题:建模数据集合只有X,没有Y。需要把X里面的样本分成多个群组。一般采用K-MEANS算法。不过业界没有统一的评估标准

4.异常检测问题:建模数据集合只有X,没有Y。需要把X数据里面的异常点找出来。这个相对而言比较麻烦。一般用Isolation Forest。业界似乎也没有统一的评价标注。

7. 数据分析逻辑回归

这个简单,尽管Python的scikit-learn库提供了易于使用和高效的LogisticRegression类,但我们自己使用NumPy创建自己的实现,可以更好地理解逻辑回归算法。

资料集

我们将使用Iris数据集,它包含3个类别,每个类别有50个实例,其中每个类别都表示一种鸢尾花植物。为简化目标,我们仅介绍前两个特征,而且我们简单使用其中两个分类,所以这是个二分类模型。

算法

给定一组输入X,我们希望将它们分配给两个可能的类别(0或1)之一。Logistic回归模型对每个输入属于特定类别的概率进行建模。

假设

一个函数接受输入并返回输出。为了生成概率,逻辑回归使用的函数为X的所有值提供0到1之间的输出。有许多满足此描述的函数,但是在这种情况下使用的是逻辑函数。在这里,我们将其称为sigmoid函数。

梯度下降

我们的目标是最小化损失函数,而我们必须达到的方法是通过增加/减少权重,即拟合权重。问题是,我们如何知道哪些参数应该更大,哪些参数应该更小?答案是相对于每个权重的损失函数的导数。它告诉我们如果修改参数,loss将如何变化。

然后,我们通过将它们减去导数乘以学习率来更新权重。

我们应该重复几次此步骤,直到获得最佳解决方案。

预测

通过调用sigmoid函数,我们可以得出某些输入x属于类别1的概率。让我们假设所有概率≥0.5 =类别1,所有概率<0 =类别0,应根据我们正在处理的业务问题来定义此阈值。

那现在我们把代码全部放在一起。

评估

以上代码如果我们以较小的学习率和更多的迭代来训练实现,我们将发现跟sklearn其中逻辑回归的权重大致相等。所以我们把上面的代码整合一下,就可以得到我们想要的逻辑回归算法,包括梯度下降法。

8. 数据挖掘逻辑回归例题解析

logistic命令

logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断等领域。

9. 逻辑回归数据集

Logistic回归主要分为三类,一种是因变量为二分类得logistic回归,这种回归叫做二项logistic回归,一种是因变量为无序多分类得logistic回归,比如倾向于选择哪种产品,这种回归叫做多项logistic回归。还有一种是因变量为有序多分类的logistic回归,比如病重的程度是高,中,低呀等等,这种回归也叫累积logistic回归,或者序次logistic回归。

  二值logistic回归:

  选择分析——回归——二元logistic,打开主面板,因变量勾选你的二分类变量,这个没有什么疑问,然后看下边写着一个协变量。有没有很奇怪什么叫做协变量?在二元logistic回归里边可以认为协变量类似于自变量,或者就是自变量。把你的自变量选到协变量的框框里边。

  细心的朋友会发现,在指向协变量的那个箭头下边,还有一个小小的按钮,标着a*b,这个按钮的作用是用来选择交互项的。我们知道,有时候两个变量合在一起会产生新的效应,比如年龄和结婚次数综合在一起,会对健康程度有一个新的影响,这时候,我们就认为两者有交互效应。那么我们为了模型的准确,就把这个交互效应也选到模型里去。我们在右边的那个框框里选择变量a,按住ctrl,在选择变量b,那么我们就同时选住这两个变量了,然后点那个a*b的按钮,这样,一个新的名字很长的变量就出现在协变量的框框里了,就是我们的交互作用的变量。

  然后在下边有一个方法的下拉菜单。默认的是进入,就是强迫所有选择的变量都进入到模型里边。除去进入法以外,还有三种向前法,三种向后法。一般默认进入就可以了,如果做出来的模型有变量的p值不合格,就用其他方法在做。再下边的选择变量则是用来选择你的个案的。一般也不用管它。

  选好主面板以后,单击分类(右上角),打开分类对话框。在这个对话框里边,左边的协变量的框框里边有你选好的自变量,右边写着分类协变量的框框则是空白的。你要把协变量里边的字符型变量和分类变量选到分类协变量里边去(系统会自动生成哑变量来方便分析,什么事哑变量具体参照前文)。这里的字符型变量指的是用值标签标注过得变量,不然光文字,系统也没法给你分析啊。选好以后,分类协变量下边还有一个更改对比的框框,我们知道,对于分类变量,spss需要有一个参照,每个分类都通过和这个参照进行比较来得到结果,更改对比这个框框就是用来选择参照的。默认的对比是指示符,也就是每个分类都和总体进行比较,除了指示符以外还有简单,差值等。这个框框不是很重要,默认就可以了。

  点击继续。然后打开保存对话框,勾选概率,组成员,包含协方差矩阵。点击继续,打开选项对话框,勾选分类图,估计值的相关性,迭代历史,exp(B)的CI,在模型中包含常数,输出——在每个步骤中。如果你的协变量有连续型的,或者小样本,那还要勾选Hosmer-Lemeshow拟合度,这个拟合度表现的会较好一些。

  继续,确定。

  然后,就会输出结果了。主要会输出六个表。

  第一个表是模型系数综合检验表,要看他模型的p值是不是小于0.05,判断我们这个logistic回归方程有没有意义。

  第二个表示模型汇总表。这个表里有两个R^2,叫做广义决定系数,也叫伪R^2,作用类似于线性回归里的决定系数,也是表示这个方程能够解释模型的百分之多少。由于计算方法不同,这两个广义决定系数的值往往不一样,但是出入并不会很大。

  在下边的分类表则表述了模型的稳定性。这个表最后一行百分比校正下边的三个数据列出来在实际值为0或者1时,模型预测正确的百分比,以及模型总的预测正确率。一般认为预测正确概率达到百分之五十就是良好(标准真够低的),当然正确率越高越好。

  在然后就是最重要的表了,方程中的变量表。第一行那个B下边是每个变量的系数。第五行的p值会告诉你每个变量是否适合留在方程里。如果有某个变量不适合,那就要从新去掉这个变量做回归。根据这个表就可以写出logistic方程了:P=Exp(常量+a1*变量1+a2*变量2.。。。)/(1+Exp(常量+a1*变量1+a2*变量2.。。。))。如果大家学过一点统计,那就应该对这个形式的方程不陌生。提供变量,它最后算出来会是一个介于0和1的数,也就是你的模型里设定的值比较大的情况发生的概率,比如你想推算会不会治愈,你设0治愈,1为没有治愈。那你的模型算出来就是没有治愈的概率。如果你想直接计算治愈的概率,那就需要更改一下设定,用1去代表治愈。

  此外倒数后两列有一个EXP(B),也就是OR值,哦,这个可不是或者的意思,OR值是优势比。在线性回归里边我们用标准化系数来对比两个自变量对于因变量的影响力的强弱,在logistic回归里边我们用优势比来比较不同的情况对于因变量的影响。举个例子。比如我想看性别对于某种病是否好转的影响,假设0代表女,1代表男,0代表不好转,1代表好转。发现这个变量的OR值为2.9,那么也就是说男人的好转的可能是女人好转的2.9倍。注意,这里都是以数值较大的那个情况为基准的。而且OR值可以直接给出这个倍数。如果是0,1,2各代表一类情况的时候,那就是2是1的2.9倍,1是0的2.9倍,以此类推。OR值对于方程没什么贡献,但是有助于直观的理解模型。在使用OR值得时候一定要结合它95%的置信区间来进行判断。