Fisher线性判别分类系统(Fisher Linear Discriminator)
项目介绍
本项目基于经典的Fisher判别准则,实现了一个高效的线性判别分类器。通过最大化类间散度与最小化类内散度的比值,确定数据在高维空间中的最优投影方向,从而实现对样本的线性分类。本程序能够对已知两个类别(A、B)的样本进行学习,并在此基础上对未知类别的样本进行分类预测,输出判别系数向量及详细的分类结果评价。
功能特性
- 判别向量计算:自动计算最优投影方向(判别系数向量),确保最大类间区分度。
- 样本分类:对输入的待分类样本进行自动分类预测,输出类别标签。
- 结果评价:提供判别函数值,直观反映样本与判别超平面的相对位置关系。
- 高效计算:包含类内散度矩阵计算、逆矩阵求解等核心数值运算模块。
使用方法
- 准备输入数据:
- 矩阵
A:已知类别1的样本数据(m×n)
- 矩阵
B:已知类别2的样本数据(p×n)
- 矩阵
data:待分类样本数据(k×n)
- 运行主程序
main.m。 - 获取输出结果:
-
clusters:待分类样本的预测类别标签(k×1),取值为1或2。
-
c:Fisher判别系数向量(n×1),用于构建判别函数。
-
F:判别函数值(k×1),反映样本与判别超平面的相对位置。
系统要求
- 操作系统:Windows / Linux / macOS
- 运行环境:MATLAB R2018a 或更高版本
文件说明
主程序文件封装了完整的Fisher线性判别分析流程,其主要功能包括:数据准备与预处理、类内与类间散度矩阵计算、基于Fisher准则的最优投影向量求解、判别阈值确定、未知样本分类预测以及分类结果的整合输出。程序逻辑清晰,模块化设计,确保各功能步骤的有序执行。