首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于alglib的线性判别分析

基于alglib的线性判别分析
EN

Stack Overflow用户
提问于 2015-07-27 16:25:35
回答 1查看 794关注 0票数 0

我被要求对我的一个项目的一组数据执行线性判别分析。我使用的是ALGLIB (C++版本),它有一个which _ how函数,但是我需要一些帮助来理解如何使用它。

用户回答了一组6个问题(答案是1-7中的一个数字),这给了我一个示例数据集,例如{1,2,3,4,5,6}。然后我有5个类,每个类有6个值,例如{0.765,0.895,1.345,2.456,0.789,5.678}。fisher lda函数接受一个二维数组的值,并返回另一个一维数组(我不知道它们是什么意思)。

据我所知,我需要看看用户的答案最适合哪一类?

任何帮助理解LDA和/或如何使用此功能的人都将不胜感激。

编辑:

下面是我尝试使用的函数的定义:

代码语言:javascript
复制
/*************************************************************************
Multiclass Fisher LDA

Subroutine finds coefficients of linear combination which optimally separates
training set on classes.

INPUT PARAMETERS:
    XY          -   training set, array[0..NPoints-1,0..NVars].
                    First NVars columns store values of independent
                    variables, next column stores number of class (from 0
                    to NClasses-1) which dataset element belongs to. Fractional
                    values are rounded to nearest integer.
    NPoints     -   training set size, NPoints>=0
    NVars       -   number of independent variables, NVars>=1
    NClasses    -   number of classes, NClasses>=2


OUTPUT PARAMETERS:
    Info        -   return code:
                    * -4, if internal EVD subroutine hasn't converged
                    * -2, if there is a point with class number
                          outside of [0..NClasses-1].
                    * -1, if incorrect parameters was passed (NPoints<0,
                          NVars<1, NClasses<2)
                    *  1, if task has been solved
                    *  2, if there was a multicollinearity in training set,
                          but task has been solved.
    W           -   linear combination coefficients, array[0..NVars-1]

  -- ALGLIB --
     Copyright 31.05.2008 by Bochkanov Sergey
*************************************************************************/
void fisherlda(const real_2d_array &xy, const ae_int_t npoints, const ae_int_t nvars, const ae_int_t nclasses, ae_int_t &info, real_1d_array &w);
EN

回答 1

Stack Overflow用户

发布于 2016-06-16 22:29:28

您正在使用fisherlda函数,它是LDA算法的一个实现。

LDA(线性判别分析)的目标是找到特征的线性组合,以最好地表征或区分两类或更多类对象或事件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31648223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档