逻辑回归、决策树、支持向量机算法三巨头 如何使用Java Weka开源项目,实现J48决策树、支持向...

作者&投稿:伊忽 (若有异议请与网页底部的电邮联系)
逻辑回归、决策树、支持向量机算法三巨头
1 逻辑回归
首先逻辑回归是线性回归衍生过来的,假设在二维空间上,本质上还是一条线,那么在三维空间,他就是一个平面。把数据分成两边,就是直的不能再直的一条线或者一个平面。那么假设现在我们有两个变量,就是图中这两个变量,为什么假设y=1是坏客户的话,根据图中可以看到,单个变量的划分并不可以把两种类型的客户分的很好,要两个变量相互作用,假设x1为查询次数,x2为在还贷款笔数,那可以看到当x1小以及x2比较小的时候,那么客户肯定在左下角的地方,那么当他其中一项比较高的时候就会趋于右上角,x1 x2都高的时候,就是越过分割线,落于分割线的上方了。这里我们可以看到,x1 x2是两个有趋势性的变量才可以达到这种这么好的一个分类效果。

那么现在假设数据是以下这种:

可以看到变量的趋势跟y的分类没有什么关系的时候,这时候逻辑回归就显得很鸡肋,分的效果一点都不好。
2 决策树
决策树。刚才说的是逻辑回归是一条直到不能再直的直线或者平面,那么决策树就是一条会拐弯,但是不能有角度的,永远直行或者90度拐的直线或者面,看下图,你可以理解为决策树就是一条贪吃蛇,他的目标就是把好坏客户分的很清晰明了,要是贪吃蛇过分的贪吃就会造成过拟合,那么过拟合是啥,就是你问你喜欢的妹纸,妹纸你喜欢什么样的男生,妹纸说,我喜欢长的好看的,帅气,温柔体贴,会做饭的,巴拉巴拉一大堆,足足100多条,然后你实在太喜欢妹纸,所以按照她的要求,到头来你真的跟妹纸在一起了,妹纸说,其实我只要你长得好看就可以了,其他的100多条都是无所谓的。拉回来决策树,决策树适应的数据假设像逻辑回归那种数据的话,其实按照决策树的这种贪吃蛇的方式其实还是很难分的,所以决策树适用的数据是变量与因变量呈现一个u型分布的数据,就是两头是一类,单峰聚集了另外一类数据。你在变量特征分析的,看到变量都是呈现这种趋势的,你就要暗喜了,老子要用决策树立功了!!!

3 支持向量机
支持向量机,要是没有数学基础的人看支持向量机的把低维的数据转化成高维可以在高维空间分类的算法这句话时候估计是一脸懵逼,我以前也是很懵逼,这到底是啥,我们以只有两个变量的举个例子,譬如你现在相区分一群客户的好坏,这时候就给出这群人的两个变量,查询次数和贷款次数,然后这时候你通过某些什么开方啊,幂次数,取对数的方式啊,你刚好拟合除了三元方程,这条方程你把身高体重的数据输进去,算出来的第三个未知数在这条方程里面的,就是男的,在这方程里面就算女的,这样子可能你不是很清楚,请看下图

刚才我们把数据丢进入,支持向量机帮我们这份数据拟合了这个圆,把这两类数据分的像图中的这样子很好,那么这时候我们需要这条圆的方程,产生变量的运用口径,这条方程是:
25=(x-5)2+(y-5)2那么这时候当贷款次数和查询次数分别减5再2次幂的时候如果数小于25那么就是好客户,假设大于25就是坏客户。支持向量机是在除了变量所有的维度之外又给了他一个维度之后,把拟合的方程再投放在原来的维度空间。支持向量机可以适用的数据那么就是在你用决策树和逻辑回归走投无路的时候就可以用支持向量机了,但是就像我们刚才得出这道方程一样,出来的变量口径是没有逻辑的,他可能要变量开方,取对数,假设你这模型要跟业务去解释的时候,我就不知道你要想多少套路了。

支持向量机和决策树哪个好?各有什么优势?~

方法是死的,人是活的。你可以两种方法都做一下,用软件也很方便,看看那个结果好,在专业上比较好解释的,就用那个。
统计方法只是一种工具,目的是得到最好的结果。
支持向量机在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
决策树将N维空间便被划分成了若干个小区域,用树型结构图的形式展现决策树,它往往向人们展示的是各因素之间的交互作用。

public static void Regular() throws Exception { File inputfile = new File("F:\\weka\\eucalyptus_Train.arff"); ArffLoader loader = new ArffLoader(); loader.setFile(inputfile); Instances insTrain = loader.getDataSet(); insTrain.setClassIndex(insTrain.numAttributes()-1); inputfile = new File("F:\\weka\\eucalyptus_Test.arff"); loader.setFile(inputfile); Instances insTest = loader.getDataSet(); insTest.setClassIndex(insTest.numAttributes()-1); double sum = insTest.numInstances(); int right = 0; Classifier clas = new J48(); //Classifier clas = new weka.classifiers.bayes.BayesNet(); clas.buildClassifier(insTrain); for(int i = 0; i < sum; i++) { if(clas.classifyInstance(insTest.instance(i)) == insTest.instance(i).classValue()) { right++; } System.out.println(clas.classifyInstance(insTest.instance(i))+" : "+insTest.instance(i).classValue()); } System.out.println("分类准确率:"+right/sum); }svm的话,要用一个wlsvm的包。 代码是一样的,就是Classifier class= new J48()这里要用svm的实例

哪些是常见的分类器算法?
答:常用的分类器算法包括决策树、K近邻算法、支持向量机、逻辑回归和朴素贝叶斯分类器等。详细解释:1. 决策树:决策树是一种基于树形结构的分类器算法。它通过对特征进行一系列的问题判断,将数据逐步划分到不同的类别中。决策树的优点是直观易懂,可以直接呈现决策逻辑;缺点是容易过拟合,对连续性的数据...

逻辑回归、决策树、支持向量机算法三巨头
答:支持向量机可以适用的数据那么就是在你用决策树和逻辑回归走投无路的时候就可以用支持向量机了,但是就像我们刚才得出这道方程一样,出来的变量口径是没有逻辑的,他可能要变量开方,取对数,假设你这模型要跟业务去解释的时候,我就不知道你要想多少套路了。

人工智能训练常用的方法有哪些
答:人工智能常用的算法包括线性回归、逻辑回归、决策树、朴素贝叶斯和支持向量机。以下是这些算法的详细介绍:1. 线性回归:线性回归是一种简单但有效的机器学习算法,主要用于回归任务。它的目标是找到一条最佳拟合线,能够尽可能地接近数据点。这条直线可以通过最小化误差平方和来确定,用于预测自变量和因变量...

监督学习的经典算法
答:监督学习是机器学习中的一种常见范式,经典的监督学习算法包括以下几种:线性回归(Linear Regression)、逻辑回归(Logistic Regression)、决策树(Decision Trees)、支持向量机(Support Vector Machines,SVM)、K最近邻算法(K-Nearest Neighbors,KNN)。1、线性回归(Linear Regression):线性回归是一种...

人工智能常用的算法有哪些
答:人工智能常用的算法有:线性回归、逻辑回归、决策树、朴素贝叶斯、支持向量机等。1、线性回归 线性回归(Linear Regression)可能是最流行的机器学习算法。线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。它试图通过将直线方程与该数据拟合来表示自变量(x值)和数值结果(y值)...

列举2个监督学习的经典算法
答:监督学习的经典算法如下:朴素贝叶斯、决策树、支持向量机、逻辑回归、线性回归、回归树、K邻近、AdaBoost、神经网络。1、朴素贝叶斯(NaiveBayesClassifier)朴素贝叶斯算法(NBC)是应用最为广泛的分类算法之一。NBC假设了数据集属性之间是相独立的,常用于文本分类。2、决策树(DecisionTree)决策树算法采用...

分类算法有哪些
答:分类算法有很多种,包括但不限于逻辑回归、决策树、随机森林、支持向量机(SVM)和神经网络等。首先,逻辑回归是一个二分类算法,它使用逻辑函数将线性回归的输出映射到(0,1)之间,以得到样本点属于某一类别的概率。逻辑回归简单高效,常用于处理大规模高维数据,如广告点击率预测等。其次,决策树是一...

机器学习中常用的算法有哪些
答:该算法是最简单和最常用的机器学习算法之一。3.逻辑回归逻辑回归算法基于一个概率模型,用于预测给定数据集的类别。该算法通过计算每个类别的概率,并将概率最高的类别作为预测结果。4.支持向量机(SVM)支持向量机算法是一种分类器,它试图在不同的类别之间找到最优的决策边界。该算法建立在一系列向量之...

常见的机器学习的相关算法包括
答:以下是一些常见的机器学习算法:监督学习算法:线性回归(Linear Regression)逻辑回归(Logistic Regression)决策树(Decision Trees)随机森林(Random Forests)支持向量机(Support Vector Machines)朴素贝叶斯(Naive Bayes)K近邻算法(K-Nearest Neighbors)深度学习(Deep Learning)算法,如神经网络(Neural...

人工智能的十大算法是什么啊?
答:人工智能十大算法是朴素贝叶斯算法、K近邻算法、决策树算法、支持向量机算法、神经网络算法、遗传算法、粒子群算法、蚁群算法、随机森林算法、协同过滤算法,具体如下:1、朴素贝叶斯算法(Naive Bayes):是一种基于贝叶斯定理的分类算法,常用于文本分类、垃圾邮件过滤等领域。2、K近邻算法(K-Nearest ...