精华内容
下载资源
问答
  • 线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题.上因为最早由[Fisher, 1936]提出,亦称“Fisher判别分析”。 LDA的基本思想:给定训练样例集,设法将样例投影到一条直线上...
  • Fisher算法python实现含训练集和测试集,Fisher算法也叫Fisher判别分析,或线性判别分析(LDA)
  • 简化PLDA(概率线性判别分析)的开源实现 PLDA 是线性判别分析 (LDA) 的概率版本。 这种技术将输入数据投影到一个低得多的维空间中,而判别能力的损失最小,因为类间和类内变化的比率最大化。 消息 14/11/2014:第一...
  • LDA线性判别分析.ipynb

    2020-03-04 21:19:22
    本代码提供了基于python sklearn库的LDA线性判别分析算法: 1.利用伪随机数生成测试数据,无需添加新样本 2.较详细地介绍了库函数各参数的含义
  • 线性判别分析LDA.m

    2019-07-02 20:45:50
    西瓜书 lda(matlab)代码,数据集3.0
  • 经典监督式学习降维方法线性判别分析LDA算法的MATLAB代码,具有降维性能好的特点,同时可以用于分类,是一种具有代表性的降维算法
  • 贝叶斯判别分析,用于降维和分类,包含多个程序,亲测可以有实例
  • 通过虚拟仪器同时采集桡侧腕屈肌和肱桡肌两路表面肌电信号,取其平均绝对值(MAV)和均方根(RMS)作为特征参数,并应用线性判别分析(LDA)方法对采集的样本进行模式识别。与其它特征识别方式的实验对比表明,所提的识别方法...
  • 文章目录一、线性分类的数学基础与应用1、Fisher基本介绍2、Fisher判别思想3、举例二、Fisher判别的推导(python)1、代码2、代码结果三、Fisher分类器1、定义2、scikit-learn中LDA的函数的代码测试3、监督降维技术...
  • 此为LDA(线性判别分系的matlab代码)有兴趣的可以下,共同学习啊。还是免费的好,大家可以交流一下。
  • 线性判别分析分类器和二次判别分析分类器包括代码、纸张、电源点
  • 线性判别分析(linear discriminant analysis),LDA。也称为Fisher线性判别(FLD)是模式识别的经典算法。 (1)中心思想:将高维的样本投影到最佳鉴别矢量空间,来达到抽取分类信息和压缩特种空间维数的效果,投影...
  • 这种 LDA 实现的特点: - 允许 >2 类- 允许用户指定的先验概率- 只需要基础 MATLAB(不需要工具...注意:此例程始终包括对线性评分函数的先验概率调整。 (当用户指定相等的先验概率时,其他一些 LDA 软件会删除它。)
  • 详细介绍了线性判别分析及相关的R语言code,课件形式。
  • Matlab线性判别分析.zip

    2019-12-05 22:34:06
    Matlab代码 LDA分析,可以用作特征提取或者分类器
  • 使用matlab实现的线性判别分析代码,输入、输出、关键代码注释以及示例都有详细的说明。代码正确性已经得到验证!
  • 这是线性判别分析的一个matlab code,有具体实例的运行结果,还有关于LDA 算法的详细讲解,通俗易懂,希望对大家有用.
  • 线性判别分析.zip

    2019-11-04 22:40:12
    《机器学习》学习笔记二程序代码,对数据集实现线性判别分析,并将结果进行可视化展示。留日后备用。
  • 6.1线性判别分析02.mp4

    2020-07-22 16:10:27
    基于王斌会《多元统计分析及R语言建模》第6章第1,2节判别分析的概念和线性判别。主要介绍判别分析概念和Fisher线性判别,以及算例。
  • 原创,测试识别率0.99,重构图像完全比不上PCA,但能满足分类要求。可下载后直接运行,并保存特征向量数据
  • 线性判别分析

    2015-05-15 13:06:05
    matlab程序,用于对提取的各种特征值进行线性判别分析,进而分析分类器用于分类的有效性
  • 基于线性判别分析的跨媒体检索
  • 提出了一种改进的线性判别分析(LDA)算法,能有效地解决传统LDA算法的两个局限,即小样本问题及在多类情况下传统的Fisher准则非最优.该算法还能提高某一(几)个指定类别的分类率.这种算法的关键在于使用不损失“有...
  • 一个简单的示例,使用奇异值分解和线性判别分析进行图像识别,该示例基于Nathan Kutz教授的Coursera上出色的计算数据方法方法课程中的示例。 用法 抓取(如果您使用Matlab而不是Octave的话,或者切换到Matlab分支)...
  • 基于加权线性判别分析的语音情感特征降维
  • lda 线性判别分析 分类器,基于不同镜头的电影分类
  • Matlab关于多目标分类的算法实现有代码及详细注释-类依赖的线性判别分析.rar 按照文献“类依赖的线性判别分析”给出的CSLDA算法思路,我编写出相应代码,然后用UCI实验室测试数据测试,效果不太好,那点错了吗?该...
  • from scipy import linalg import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib import colors from sklearn.discriminant_analysis import LinearDiscriminantAnalysis...
    from scipy import linalg
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    from matplotlib import colors
    
    from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
    from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
    
    # #############################################################################
    # Colormap
    cmap = colors.LinearSegmentedColormap(
        'red_blue_classes',
        {'red': [(0, 1, 1), (1, 0.7, 0.7)],
         'green': [(0, 0.7, 0.7), (1, 0.7, 0.7)],
         'blue': [(0, 0.7, 0.7), (1, 1, 1)]})
    plt.cm.register_cmap(cmap=cmap)
    
    
    # #############################################################################
    # Generate datasets
    def dataset_fixed_cov():
        '''Generate 2 Gaussians samples with the same covariance matrix'''
        n, dim = 300, 2
        np.random.seed(0)
        C = np.array([[0., -0.23], [0.83, .23]])
        X = np.r_[np.dot(np.random.randn(n, dim), C),
                  np.dot(np.random.randn(n, dim), C) + np.array([1, 1])]
        y = np.hstack((np.zeros(n), np.ones(n)))
        return X, y
    
    
    def dataset_cov():
        '''Generate 2 Gaussians samples with different covariance matrices'''
        n, dim = 300, 2
        np.random.seed(0)
        C = np.array([[0., -1.], [2.5, .7]]) * 2.
        X = np.r_[np.dot(np.random.randn(n, dim), C),
                  np.dot(np.random.randn(n, dim), C.T) + np.array([1, 4])]
        y = np.hstack((np.zeros(n), np.ones(n)))
        return X, y
    
    
    # #############################################################################
    # Plot functions
    def plot_data(lda, X, y, y_pred, fig_index):
        splot = plt.subplot(2, 2, fig_index)
        if fig_index == 1:
            plt.title('Linear Discriminant Analysis')
            plt.ylabel('Data with\n fixed covariance')
        elif fig_index == 2:
            plt.title('Quadratic Discriminant Analysis')
        elif fig_index == 3:
            plt.ylabel('Data with\n varying covariances')
    
        tp = (y == y_pred)  # True Positive
        tp0, tp1 = tp[y == 0], tp[y == 1]
        X0, X1 = X[y == 0], X[y == 1]
        X0_tp, X0_fp = X0[tp0], X0[~tp0]
        X1_tp, X1_fp = X1[tp1], X1[~tp1]
    
        # class 0: dots
        plt.scatter(X0_tp[:, 0], X0_tp[:, 1], marker='.', color='red')
        plt.scatter(X0_fp[:, 0], X0_fp[:, 1], marker='x',
                    s=20, color='#990000')  # dark red
    
        # class 1: dots
        plt.scatter(X1_tp[:, 0], X1_tp[:, 1], marker='.', color='blue')
        plt.scatter(X1_fp[:, 0], X1_fp[:, 1], marker='x',
                    s=20, color='#000099')  # dark blue
    
        # class 0 and 1 : areas
        nx, ny = 200, 100
        x_min, x_max = plt.xlim()
        y_min, y_max = plt.ylim()
        xx, yy = np.meshgrid(np.linspace(x_min, x_max, nx),
                             np.linspace(y_min, y_max, ny))
        Z = lda.predict_proba(np.c_[xx.ravel(), yy.ravel()])
        Z = Z[:, 1].reshape(xx.shape)
        plt.pcolormesh(xx, yy, Z, cmap='red_blue_classes',
                       norm=colors.Normalize(0., 1.), zorder=0)
        plt.contour(xx, yy, Z, [0.5], linewidths=2., colors='white')
    
        # means
        plt.plot(lda.means_[0][0], lda.means_[0][1],
                 '*', color='yellow', markersize=15, markeredgecolor='grey')
        plt.plot(lda.means_[1][0], lda.means_[1][1],
                 '*', color='yellow', markersize=15, markeredgecolor='grey')
    
        return splot
    
    
    def plot_ellipse(splot, mean, cov, color):
        v, w = linalg.eigh(cov)
        u = w[0] / linalg.norm(w[0])
        angle = np.arctan(u[1] / u[0])
        angle = 180 * angle / np.pi  # convert to degrees
        # filled Gaussian at 2 standard deviation
        ell = mpl.patches.Ellipse(mean, 2 * v[0] ** 0.5, 2 * v[1] ** 0.5,
                                  180 + angle, facecolor=color,
                                  edgecolor='black', linewidth=2)
        ell.set_clip_box(splot.bbox)
        ell.set_alpha(0.2)
        splot.add_artist(ell)
        splot.set_xticks(())
        splot.set_yticks(())
    
    
    def plot_lda_cov(lda, splot):
        plot_ellipse(splot, lda.means_[0], lda.covariance_, 'red')
        plot_ellipse(splot, lda.means_[1], lda.covariance_, 'blue')
    
    
    def plot_qda_cov(qda, splot):
        plot_ellipse(splot, qda.means_[0], qda.covariance_[0], 'red')
        plot_ellipse(splot, qda.means_[1], qda.covariance_[1], 'blue')
    
    
    plt.figure(figsize=(10, 8), facecolor='white')
    plt.suptitle('Linear Discriminant Analysis vs Quadratic Discriminant Analysis',
                 y=0.98, fontsize=15)
    for i, (X, y) in enumerate([dataset_fixed_cov(), dataset_cov()]):
        # Linear Discriminant Analysis
        lda = LinearDiscriminantAnalysis(solver="svd", store_covariance=True)
        y_pred = lda.fit(X, y).predict(X)
        splot = plot_data(lda, X, y, y_pred, fig_index=2 * i + 1)
        plot_lda_cov(lda, splot)
        plt.axis('tight')
    
        # Quadratic Discriminant Analysis
        qda = QuadraticDiscriminantAnalysis(store_covariance=True)
        y_pred = qda.fit(X, y).predict(X)
        splot = plot_data(qda, X, y, y_pred, fig_index=2 * i + 2)
        plot_qda_cov(qda, splot)
        plt.axis('tight')
    plt.tight_layout()
    plt.subplots_adjust(top=0.92)
    plt.show()
    
    展开全文
  • 关于线性判别分析,非参数判别分类方法的介绍PPT 文档。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,873
精华内容 10,749
关键字:

线性判别分析