精华内容
下载资源
问答
  • 逻辑回归 — 用来做分类模型

    千次阅读 2018-06-22 15:07:18
    某位老师想用学生上学期考试的成绩(Last Score)和本学期在学习上花费的时间(Hours Spent)预期本学期的成绩: 面对这样一个需求,我们可能首先想到的是线性回归,毕竟,要的是预测本次的成绩。那样的话,...

    某位老师想用学生上学期考试的成绩(Last Score)和本学期在学习上花费的时间(Hours Spent)来预期本学期的成绩:

    enter image description here

    面对这样一个需求,我们可能首先想到的是线性回归,毕竟,要做的是预测本次的成绩。那样的话,我们取 X = [“Last Score”, “Hours Spent”],y = “Score”。

    用线性回归实现代码如下:

        from sklearn.linear_model import LogisticRegression
        from sklearn.linear_model import LinearRegression
        import pandas as pd
    
        # Importing dataset
        data = pd.read_csv('data.csv', delimiter=',')           # decimal : str, default ‘.’字符中的小数点 (例如:欧洲数据使用’,‘).
        used_features = ["Last Score", "Hours Spent"]
        X = data[used_features].values                          
        scores = data["Score"].values
    
        X_train = X[:11]
        X_test = X[11:]
    
        # Linear Regression - Regression
        y_train = scores[:11]
        y_test = scores[11:]
    
        regr = LinearRegression()
        regr.fit(X_train, y_train)
        y_predict = regr.predict(X_test)
    
        print(y_predict)

    我们把前11个样本作为训练集,最后3个样本作为测试集。

    这样训练出来之后,得到的预测结果为:[55.33375602 54.29040467 90.76185124],也就说 id 为 12-14 的三个同学的预测分数为55,54和91。

    第一个差别比较大,id 为12的同学,明明考及格了,却被预测为不及格。

    这是为什么呢?大家注意 id 为4的同学,这是一位学霸,他只用了20小时在学习上,却考出了第一名的好成绩。

    回想一下线性回归的目标函数,我们不难发现,所有训练样本对于目标的贡献是平均的,因此,4号同学这种超常学霸的出现,在数据量本身就小的情况下,有可能影响整个模型。

    这还是幸亏我们有历史记录,知道上次考试的成绩,如果 X 只包含“Hours Spent”,学霸同学根本就会带偏大多数的预测结果(自变量只有“Hours Spent”的线性回归模型会是什么样的?这个问题留给同学们自己去实践)。

    那么我们看看用逻辑回归如何。用逻辑回归的时候,我们就不再是预测具体分数,而是预测这个学生本次能否及格了。

    这样我们就需要对数据先做一下转换,把具体分数转变成是否合格,合格标志为1,不合格为0,然后再进行逻辑回归:

        from sklearn.linear_model import LogisticRegression
        from sklearn.linear_model import LinearRegression
        import pandas as pd
    
        # Importing dataset
        data = pd.read_csv('data.csv', delimiter=',')
    
        used_features = [ "Last Score", "Hours Spent"]
        X = data[used_features].values
        scores = data["Score"].values
    
        X_train = X[:11]
        X_test = X[11:]
    
        # Logistic Regression – Binary Classification
        passed = []
    
        for i in range(len(scores)):
            if(scores[i] >= 60):
                passed.append(1)
            else:
                passed.append(0)
    
        Y_train = passed[:11]
        Y_test = passed[11:]
    
        classifier = LogisticRegression(C=1e5)
        classifier.fit(X_train, Y_train)
    
        y_predict = classifier.predict(X_test)
        print(y_predict)

    这次的输出就是[1 0 1],对12、13、14号同学能否通过本次考试的判断是正确的。

     

    LR 处理多分类问题

    LR 是用来做二分类的,但是如果我们面对的是多分类问题:样本标签的枚举值多于2个,还能用 LR 吗?

    当然是可以的。我们可以把二分类问题分成多次来做。

    假设你一共有 n 个标签(类别),也就是说可能的分类一共有 n 个。那么就构造 n 个 LR 分类模型,第一个模型用来区分 label_1和 non-label _1(即所有不属于 label_1 的都归属到一类),第二个模型用来区分 label_2 和 non-label _2……, 第 n 个模型用来区分 label_n 和 non-label _n

    使用的时候,每一个输入数据都被这 n 个模型同时预测。最后哪个模型得出了 Positive 结果,就是该数据最终的结果。

    如果有多个模型都得出了 Positive,那也没有关系。因为 LR 是一个回归模型,它直接预测的输出不仅是一个标签,还包括该标签正确的概率。那么对比几个 Positive 结果的概率,选最高的一个就是了。

    例如,有一个数据,第一和第二个模型都给出了 Positive 结果,不过 label_1 模型的预测值是0.95,而 label_2 的结果是0.78,那么当然是选高的,结果就是 label_1

    说起原理来好像挺麻烦,好在 sklearn 已经为我们处理了多分类问题,我们用 sklearn 来做多分类的时候,只是需要把 y 准备好,其他的,都和做二分类一样就可以了。

    比如还是上面的例子,现在我们需要区分:学生的本次成绩是优秀(>=85),及格,还是不及格。我们就在处理 y 的时候给它设置三个值:0 (不及格),1(及格)和2(优秀),然后再做 LR 分类就可以了。代码如下:

     

        from sklearn.linear_model import LogisticRegression
        from sklearn.linear_model import LinearRegression
        import pandas as pd
    
        # Importing dataset
        data = pd.read_csv('data.csv', delimiter=',')
    
        used_features = [ "Last Score", "Hours Spent"]
        X = data[used_features].values
        scores = data["Score"].values
    
        X_train = X[:11]
        X_test = X[11:]
    
        # Logistic Regression - Multiple Classification
        level = []
    
        for i in range(len(scores)):
            if(scores[i] >= 85):
                level.append(2)
            elif(scores[i] >= 60):
                level.append(1)
            else:
                level.append(0)
    
        y_train = level[:11]
        y_test = level[11:]
    
        classifier = LogisticRegression(C=1e5)
        classifier.fit(X_train, y_train)
    
        y_predict = classifier.predict(X_test)
        print(y_predict)

    测试集的输出是:[1 0 2] —— 12号及格,13号不及格,14号优秀,还是比较准的。

    data.csv

    Id,Last Score,Hours Spent,Score
    
    1,90,117,89
    
    2,85,109,78
    
    3,75,113,82
    
    4,98,20,95
    
    5,62,116,61
    
    6,36,34,32
    
    7,87,120,88
    
    8,89,132,92
    
    9,60,83,52
    
    10,72,92,65
    
    11,73,112,71
    
    12,56,143,62
    
    13,57,97,52
    
    14,91,119,93

     

    展开全文
  • 文本分类——常见分类模型

    万次阅读 多人点赞 2018-11-06 17:37:56
    内容提要基于规则的模型基于概率的模型基于几何的模型基于...相对于其它分类模型来说,基于规则的分类模型的优点就是时间复杂度低、运算速度快。在基于规则的分类模型中,使用许多条规则表述类别。类别规则可以...

      文本分类方法模型主要分为两个大类,一类是基于规则的分类模型;另一类是基于概率统计的模型。

    基于规则的模型

      基于规则的分类模型相对简单,易于实现。它在特定领域的分类往往能够取得较好的效果。相对于其它分类模型来说,基于规则的分类模型的优点就是时间复杂度低、运算速度快。在基于规则的分类模型中,使用许多条规则来表述类别。类别规则可以通过领域专家定义,也可以通过计算机学习获得。
      决策树就是一种基于训练学习方法获取分类规则的常见分类模型,它建立对象属性与对象值之间的一种映射。通过构造决策树来对未标注文本进行分类判别。常用的决策树方法包括CART 算法、ID3、C4.5、CHAID 等。
      在Web文本应用领域普遍存在着层级形式,这种层级形式可以通过一颗决策树来描述。决策树的根节点表示整个数据集空间,每个子节点是依据单一属性做出的分支判定,该判定将数据集分成两个或两个以上的分支区域。决策树的叶子节点就是相应类别的数据集合。
      决策树分类模型的一般构建过程:
      1.首先将训练数据分成两部分,一部分(训练集A)用于构建初始决策树,另一部分(训练集B)用来对决策树进行剪枝;
      2.以训练集A作为树的根节点,找出变异量最大的属性变量作为高层分割标准;以训练集A作为树的根节点,找出变异量最大的属性变量作为高层分割标准;
      3.通过对训练集A的学习训练构建一颗初始决策树;通过对训练集A的学习训练构建一颗初始决策树;
      4.再通过训练集B对初始决策树进行剪枝操作;再通过训练集B对初始决策树进行剪枝操作;
      5.一般还要通过递归的过程来构建一颗稳定的决策树,根据预测结果的正确率及未满足条件,则再对决策树进行分支或剪枝。
      决策树的构建过程一般是自上而下的,剪枝的方法有多种,但是具有一致目标,即对目标文本集进行最优分割。决策树可以是二叉树也可以是多叉树。

    基于概率的模型

      假设未标注文档为d,类别集合为C={c1,c2,…,cm} ,概率模型分类是对1≤i≤n 求条件概率模型P(ci|d) ,将与文档d条件概率最大的那个类别作为该文档的输出类别。其中朴素贝叶斯分类器是应用最为广泛的概率分类模型。
      朴素贝叶斯分类的基本思想是利用词组与类别的联合概率来估计给定文档的类别概率。基于贝叶斯分类器的贝叶斯规则如式:

    其中:C和D为随机变量。
      贝叶斯规则计算文档d属于每一个类别的可能性 P(ci|d),然后将文档d标注为概率最大的那一类。对文档d的贝叶斯分类如下式

      先验概率P(ci) 的估计很简单,计算如下式所示:

      其中: N(ci) 表示训练集中类别ci 的样本数量,N为训练集样本总数。 本质上表示训练集样例中类别ci 的比例。

      概率P(d|ci) 计算相对复杂,它首先基于一个贝叶斯假设:文档d为词组元素的集合,集合中词组(元素)之间相互独立。由于文档的表示简化了,所以这也就是朴素(Naïve) 的由来之一。事实上,词组之间并不是相互独立的。虽然这是一种假设独立性,但是朴素贝叶斯还是能够在分类任务中表现出很好的分类效果和鲁棒性。这一假设简化了联合概率的计算,它允许条件概率的乘机来表示联合概率。P(d|ci) 的计算式:

    其中:tk 表示含有n项词组的词组表vi 中的一个词组。因此,估计P(d|ci) 变为估计词组表v中的每一个词组在每一个类别下的概率P(tk|ci)
      概率的估计与分类结果非常依赖于事件空间的选择。下面介绍两种卡内基梅隆大学McCallum 和 Nigam 提出的事件空间模型,并说明相应的P(tk|ci) 是如何估计的。
      1) 多重伯努利模型
      多重伯努利(Multiple-Bernoulli)事件空间是一种布尔独立模型的事件空间,为每一个词组tk 建立一个二值随机变量。最简单的方式就是使用最大似然估计来估计概率,即式:

    其中: df(tk|ci) 表示类别ci 含有词组tk 的样本数量。
      虽然上式来估计概率很简单,但是存在“零概率”问题,真实应用是不可能的。这就需要采用平滑技术来克服“零概率”问题。贝叶斯平滑是一种常用的平滑估计技术。多重伯努利模型的平滑估计如下式所示:

    其中: αkβk 是依赖与词组tk 的参数。一种常见的参数选择方式是αk =1且βk* =0,得到如下概率估计公式

      多重伯努利模型仅仅考虑词组是否出现,而没有考虑出现的多少,而词频也是一个重要分类信息。下面介绍加入词频信息的多项式模型。
      2) 多项式模型
      多项式(Multinomial)时间空间与多重伯努利事件空间类似,但是多项式事件空间假设词组的出现次数是零次或多次,而不是出现与否。
      多项式模型的最大似然估计计算如式:

    其中: tf(tk|ci) 表示训练集中类别ci 中词组tk 出现的次数。 |ci|表示训练集类别ci 中的总词数。加入平滑估计的概率如式:

    这里 αk 是依赖于词组tk 的参数。对所有词组tk* 取αk =1是一种常见选择。这就导致概率估计:

    实际应用中,多项式模型已经表明优于多重伯努利模型。

    基于几何的模型

      使用向量空间模型表示文本,文本就被表示为一个多维的向量,那么它就是多维空间的一个点。通过几何学原理构建一个超平面将不属于同一个类别的文本区分开。最典型的基于几何学原理的分类器是支持向量机(SVM),最简单的SVM应用就是二值分类,就是常见的正例和反例。SVM的目标就是构建能够区分正例和反例的N维空间决策超平面。
      SVM是上世纪九十年代中期,由Vapnik等人逐渐完善的统计机器学习理论。该模型主要用来解决模式识别中的二分类问题,在文本分类、手写识别、图像处理等领域都取得了很好的分类效果。其基本思想就是在向量空间中找到一个决策超平面,该决策超平面能够最大限度地将正例和反例区分开来。在一定的范围内,决策超平面是可以平行移动的,这种平移不会造成训练集数据的分类错误。但是为了获取在未知样本的分类预测中的稳定性,要求分类超平面距离两类样本的距离尽可能大,也就是说,超平面尽可能位于边界区域的中心位置。
      SVM采用计算学习理论的结构风险最小化(Structural Risk Minimization, SRM)原则。其主要思想:以支持向量(Support Vector, SV)作为训练集的基础,在N维空间内寻找能将训练集样本分成两类,并且具有最大边缘(Margin)值的最优超平面(Optimal Separating Hyper-plane,OSH),来达到最大的分类正确率。
      SVM选择最大化边缘距离的分类决策超平面,这个选择不仅直观,而且也得到了理论的支持。对于线性可分数据的超平面以及支持向量的图形解释如图:

    线性可分数据支持向量机示意图

    其中:左上方为正例区域,右下方为反例区域,中间实线为w定义的决策超平面,箭头所示为边缘,虚线方框内的样本表示支持向量。边缘(Margin)的定义如式:

    其中:x- 是训练集距离超平面最近的反例, x+ 是训练集距离超平面最近的正例。定义边缘(Margin)为x- 到决策超平面距离与x+ 到决策超平面距离之和。
      SVM算法中超平面的概念是发现使分离数据最大边缘化的超平面w。一个等价的形式是,寻找解决下列优化问题的决策超平面,如式:

    这一优化目标容易求解,一般通过动态规划来解决。
      现实世界中的数据集很少是线性可分的。为了解决这个问题,一般需要修改SVM优化目标公式加入惩罚因子来完成不满足线性可分约束的训练实例的分类。加入了惩罚因子的SVM最优化目标如式:

    这里ζi 表示允许目标被违反的松弛变量(Stack Variable),这个松弛变量加强了关键损失函数。
      另外一个SVM关键技术是核技巧,通过核函数将线性不可分的训练数据变换或映射到更高维空间中,得到线性可分的数据集。核函数技术大多数情形下都可以提高分类的精度。常用SVM核函数如下:
      线性核:

      多项式核:

      径向基(RBF)核(也称为高斯核):

      SVM能够取得比较好的分类效果。其优点在于:
      1.SVM是一种针对有限样本条件下的分类算法,其目标是得到当前训练集下的最优解而不是样本数趋于无穷大时的最优值,该算法最终将问题转化成二次线性规划寻求最优解问题。从理论上来讲,它得到的是全局最优解,能够避免局部极值问题。
      2.该方法将实际问题通过核函数技巧将线性不可分空间映射到高维线性可分空间,在高维空间中构造线性决策函数来实现原线性不可分空间的决策函数。这保证了SVM具有较好的推广能力,计算的复杂度不再取决于空间维数,而是取决于训练集样本数量。
      3.SVM方法能够很好的处理稀疏数据,更好的捕捉了数据的内在特征,准确率较高。
      SVM虽然有许多优点,但是固有的缺点是不可避免的。其缺点包括:
      1.SVM算法时间和空间复杂度较高,随着训练样本数和类别的增加,分类时间和空间代价很高。
      2.核函数空间变换会增加训练集空间的维数,使得SVM对时间和空间需求加大,又进一步降低了分类的效率。
      3.SVM算法一般含有较多参数,并且参数随着训练样本的不同,呈现较大的差异,调整参数以获得最优分类效果相对困难。而且参数的不同对分类结果的显示出较大的差异性。

    基于统计的模型

      基于统计的机器学习方法已经成为自然语言研究领域里面的主流研究方法。事实上无论是朴素贝叶斯分类模型,还是支持向量机分类模型,也都采用了统计的方式。文本分类算法中一种最典型的基于统计的分类模型就是k近邻(k-Nearest Neighbor,kNN)模型,是比较好的文本分类算法之一。
      kNN分类模型的主要思想:通过给定一个未标注文档d,分类系统在训练集中查找与它距离最接近的k篇相邻(相似或相同)标注文档,然后根据这k篇邻近文档的分类标注来确定文档d的类别。分类实现过程:
      1) 将训练集样本转化为向量空间模型表示形式并计算每一特征的权重;
      2) 采用类似步骤1的方式转化未标注文档d并计算相应词组元素的权重;
      3) 计算文档d与训练集样本中每一样本的距离(或相似度);
      4) 找出与文档d距离最小(或相似度最大)的k篇训练集文本;
      5) 统计这个k篇训练集文本的类别属性,一般将文档d的类归为k中最多的样本类别。

      kNN 分类模型是一种“懒学习”算法,实质上它没有具体的训练学习过程。分类过程只是将未标注文本与每一篇训练集样本进行相似度计算, kNN 算法的时间和空间复杂度较高。因而随着训练集样本的增加,分类的存储资源消耗大,时间代价高。一般不适合处理训练样本较大的分类应用。

    知更鸟博文推荐
    上一篇 文本分类——特征选择概述
    下一篇 文本分类——算法性能评估
    推荐篇 基于Kubernetes、Docker的机器学习微服务系统设计——完整版
    研究篇 RS中文分词   |  MP特征选择   |  NLV文本分类   |  快速kNN
    作者简介
    兴趣爱好机器学习、云计算、自然语言处理、文本分类、深度学习
    E-mailxsd-jj@163.com (欢迎交流)

    参考文献:
    [1].McCallum,A.,Nigam,K. A comparison of event models for naive Bayes text classification [C]. In: Proc. of the AAAI ’98 Workshop on Learning for Text Categorization. 41 - 48.
    [2].宗成庆. 统计自然语言处理[M].北京:清华大学出版社,2008
    [3].王斌,潘文峰.基于内容的垃圾邮件过滤技术综述[J].中文信息学报,19(5):1-10
    [4].Yang,Y.,Liu,X. A re-examination of text categorization methods [C]. In: Proceedings of the 22nd ACM Int’l Conference on Research and Development in Information Retrieval. Berkeley: ACM Press: 42-49

    版权声明:个人原创,请勿抄袭,欢迎引用,未经许可禁止转载. © 知更鸟
    展开全文
  • python分类预测模型总结

    万次阅读 2018-08-27 14:15:57
    用来回归、预测、分类等。模型可以是线性的/非线性的 sklearn.svm 决策树 基于“分类讨论、逐步细化”思想的分类模型,直观易解释 sklearn.tree 随机森林 思想跟决策树类似...
    常见的模型评价和在Python中的实现
    模型模型特点所属库
    逻辑回归线性分类模型sklearn.linear_model
    SVM用来回归、预测、分类等。模型可以是线性的/非线性的sklearn.svm
    决策树基于“分类讨论、逐步细化”思想的分类模型,直观易解释sklearn.tree
    随机森林思想跟决策树类似,精度通常比决策树高,缺点是由于其随机性,丧失了决策树的可解释性sklearn.ensemble
    朴素贝叶斯基于概率思想的简单有效的分类模型sklearn.naive_bayes
    神经网络具有强大的拟合能力,可以用于拟合、分类等,是深度学习的模型基础Keras

    python数据挖掘建模中,

    第一个步骤是建立一个对象,这个对象是空白的,需要进一步训练的;

    然后,设置模型的参数;

    接着,通过fit()方法对模型进行训练;

    最后,通过predict()方法预测结果。也可以通过其他方法对模型评估,如score()等。

    展开全文
  • 分类模型的评估方法

    千次阅读 2017-12-14 01:30:19
    在检验集上计算出的准确率或错误率可以用来比较不同分类器在相同领域上的性能,但需要检验记录的类标号必须已知。 一、保持方法(Holdout) 将被标记的原始数据划分为两个不相交的集合,分别为训练集和检验集。在...

    在检验集上计算出的准确率或错误率可以用来比较不同分类器在相同领域上的性能,但需要检验记录的类标号必须已知。

    一、保持方法(Holdout)

    将被标记的原始数据划分为两个不相交的集合,分别为训练集和检验集。在训练集上归纳分类模型,在检验集上评估模型的性能。训练集和检验集的划分比例通常根据专家的判断,例如50-50,或者2/3作为训练集,1/3作为检验集。模型的准确率根据模型在检验集上的准确率估计。

    局限性

    1.用于训练的被标记样本较少,因此,建立的模型不如使用所有样本建立的模型好。

    2.模型可能高度依赖于训练集和检验集的构成。训练集越小,模型的方差越大;训练集太大,较小检验集给出的准确率又不太可靠。

    二、随机二次抽样(Random subsampling)

    多次重复保持方法来改进对分类器性能的估计。

    局限性

    1.训练阶段没有利用尽可能多的数据。

    2.没有控制每次记录用于训练和检验的次数,有些用于训练的记录使用的频率可能比其他记录高很多。

    三、交叉检验(Cross-validation)

    把数据集分为大小相同的k份,在每次运行时,选择一份作为检验集,其余作为训练集,该过程重复k次,使得每份数据都用于检验恰好一次。总误差是所有k次运行的误差之和。当k=N,其中N是数据集的大小,即为留一法(Leave-one-out),其中每个检验集只有一个记录。

    优点

    1.使用尽可能多的训练记录

    2.检验集之间互斥,并有效覆盖了整个数据集

    留一法的缺点

    1.整个过程重复N次,计算开销很大。

    2.每个检验集只有一个记录,性能估计度量的方差偏高。

    四、自助法(Bootstrap)

    以上方法均假设训练记录不放回抽样。在自助法中,训练记录采用有放回抽样,使其等概率地被重新抽取。可以证明,大小为N的自助样本大约包含原始数据中63%的记录,没有抽中的记录就成为检验集的一部分。

    【几个概念】

    准确率(Accuracy)=正确预测数/预测总数

    错误率(Error rate)=错误预测数/预测总数

    【参考文献】

    Pang-Ning Tan等,数据挖掘导论,中国工信出版集团

    展开全文
  • 本博客将尝试使用预训练模型进行猫狗分类。 实验所用数据集及工具 数据集 本实验使用实验数据基于kaggle Dogs vs. Cats 竞赛提供的官方数据集,数据集可在百度网盘中进行下载: 链接:https://pan.baidu.com/s/13...
  • PowerDesigner模型分类

    千次阅读 2018-04-24 18:03:32
    1、ConceptualDataModel(概念数据模型) 概念数据模型(CDM),可以帮助你分析信息系统的概念结构,识别主要的实体,及其属性,以及它们之间的关系。CDM比逻辑(LDM)或物理数据模型(PDM)更抽象。 基于需求综合...
  • 数学建模-常见模型整理及分类

    万次阅读 多人点赞 2018-03-05 20:58:11
    数学模型分类1. 按模型的数学方法分:几何模型、图论模型、微分方程模型、概率模型、最优控制模型、规划论模型、马氏链模型等。2. 按模型的特征分:静态模型和动态模型,确定性模型和随机模型,离散模型和连续性...
  • 常见的机器学习分类模型

    千次阅读 2019-06-30 17:30:17
    Spark mllib包含的分类模型有:逻辑回归,决策树,随机森林,梯度提升树,多层感知机,线性SVM,朴素贝叶斯。 回归模型有:线性回归,决策树回归,随机森林回归,梯度提升树回归,生存回归,保序回归。 在spark ...
  • 使用VGG模型自定义图像分类任务

    万次阅读 多人点赞 2018-05-27 20:36:09
    为此,这篇博客接下来围绕着如何使用VGG实现自己的图像分类任务,从数据准备到实验验证。代码基于Python与TensorFlow实现,模型结构采用VGG-16,并且将很少的出现算法和理论相关的东西。 数据准备 下载数...
  • Python分类预测模型特点

    千次阅读 2019-08-18 11:28:18
    读《Python数据分析与挖掘实战》笔记 ...强大的模型可以用来回归、预测、分类等,而根据选取不同的核函数。模型可以是线性的/非线性的 sklearn.svm 决策树 基于“分类讨论,逐步细化”思想的分...
  • 学习SVM(一) SVM模型训练与分类的OpenCV实现

    万次阅读 多人点赞 2017-03-29 21:47:52
    学习SVM(一) SVM模型训练与分类的OpenCV实现 学习SVM(二) 如何理解支持向量机的最大分类间隔 学习SVM(三)理解SVM中的对偶问题 学习SVM(四) 理解SVM中的支持向量(Support Vector)Andrew Ng 在斯坦福大学...
  • 7.7 分类模型评估

    千次阅读 2017-06-29 22:09:16
    sklearn库的metrics模块提供各种评估方法,包括分类评估、回归评估、聚类评估和交叉验证等,本节主要介绍分类模型评估方法。 评估分类是判断预测值时否很好的与实际标记值相匹配。正确的鉴别出正样本(True ...
  • 四种线性分类模型

    千次阅读 2020-08-23 21:55:55
    线性分类模型1 回归和分类的区别2 四种线性分类模型2.1 logistic模型(二分类)2.1.1logistic模型原理2.1.2怎么求参数softmax模型(多分类)感知器支持向量机 记录第三章的碎碎念。 1 回归和分类的区别 首先阐述...
  • 数据分析常见方法及模型分类

    千次阅读 2020-08-05 10:33:26
    今天跟大家分享一下比较常见的数据分析方法以及模型分类。...一般来说,我们可以将数据分析方法分为对比分析、相关分析、分类分析以及综合分析四类,其中前三类主要是以定性的数据分析方法和模型为主,而对于...
  • 评价分类模型的性能指标

    万次阅读 2018-03-28 22:52:59
    当一个模型构建完成之后,我们可以通过几个不同的性能指标衡量分类模型的相关性能,常用的分类性能指标有准确率(precision)、召回率(recall)和F1分数(F1-score)。 一、混淆矩阵 混淆矩阵(confusion matrix):是...
  • Mnist分类模型—保存训练模型并参与预测测试集这篇文档开始讲解利用mnist语料集的例子熟悉保存训练模型的参数用来做预测,首先会出贴出保存模型的案例代码,然后会贴出预测的代码。
  • 分类模型评价指标

    千次阅读 2018-09-15 20:51:19
    当使用这些算法构建模型的时候,我们需要一些指标评估这些模型的性能,这取决于应用和和其要求的性能。Spark mllib 也提供一套指标用来评估这些机器学习模型。 具体的机器学习算法归入更广泛类型的机器学习应用...
  • 建模的评估一般可以分为回归、分类和聚类的评估,本文主要介绍回归和分类模型评估: 一、回归模型的评估 主要有以下方法: 指标 描述 metrics方法 Mean Absolute Error(MAE) 平均绝对误差 from ...
  • 笔者在做模型的时候,东拼西凑,通过各种渠道(有在网上搜索下载的、有在数据堂花钱购买的)收集了两万多条中文标注语料(涉及六个领域)用来训练模型。(文末有共享) 第二步是模型阈值选取问题。 事实...
  • 岭回归和LASSO回归模型 目录一、岭回归模型1 λ 值的确定1.1 可视化方法确定 **λ** 值1.2 交叉验证法确定λ值2 模型预测 线性回归模型的参数估计得到的前提是变量构成的矩阵可逆。在实际问题中,常出现的问题: ...
  • 分类的数据模型

    千次阅读 2012-09-28 11:04:17
    1,生成模型:假设数据是由某种模型生成的。对于文本分类,假设有N类数据,每一类数据的都有一个概率,每一类数据的各个词项都会有一个分布。...可以计算文档与各个模型的余弦相似度,得分最大的模
  • XGBoost 分类模型的Python实现

    千次阅读 2018-07-19 17:33:23
    今天我们一起来学习一下如何用Python实现XGBoost分类,这个是一个监督学习的过程,首先我们需要导入两个Python库: import xgboost as xgb from sklearn.metrics import accuracy_score 这里的accuracy_score...
  • 2.二分类模型

    千次阅读 2019-05-08 22:03:57
    逻辑回归:一个用于二分类的算法 以猫的识别为例 图片(64X64像素)在计算机中的保存:三个64X64的矩阵,对应R,G,B三种像素的强度值。定义一个特征向量,线性存储所有像素值,总维度是64X64X3。 输入...
  • 分类模型的评价及比较

    万次阅读 2018-09-06 08:42:02
    评价和比较分类模型时,关注的是其泛化能力,因此不能仅关注模型在某个验证集上的表现。事实上,如果有足够多的样本作为验证集测试模型的表现是再好不过的,但即使是这样也存在一个难点,比如难界定多大的样本才能...
  • 机器学习—分类模型

    万次阅读 2018-09-25 22:14:03
    第二章 分类模型 给定训练数据 分类任务学习一个输入x到输出y的映射f: //最大后验估计 其中,y为离散值,其值范围为标签空间: 当C=2时,为两类分类问题 贝叶斯公式 先验概率 p(y=c)//根据以往的经验和分析...
  • Spark随机森林之多分类模型

    千次阅读 2017-03-07 19:24:48
    Spark随机森林之多分类模型关于随机森林随机森林算法是机器学习、计算机视觉等领域内应用极为广泛的一个算法,它不仅可以用来做分类,也可用来做回归即预测,随机森林机由多个决策树构成,相比于单个决策树算法,它...
  • 机器学习模型需要有量化的评估指标评估哪些模型的效果更好。 本文将用通俗易懂的方式讲解分类问题的混淆矩阵和各种评估指标的计算公式。将要给大家介绍的评估指标有:准确率、精准率、召回率、F1、ROC曲线、AUC...
  • 混淆矩阵,是用来表示误差,衡量模型分类效果的一种形式。该矩阵是一个方阵,矩阵的数值用来表示分类器预测的结果,包括真正例(True Positive),假正例(False Positive),真负例(True Negtive),假负例(False...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 246,276
精华内容 98,510
关键字:

哪些模型可以用来做分类