基于TF-IDF与卡方检验的SVM文本分类系统
项目介绍
本项目是一个完整的文本分类解决方案,通过MATLAB实现文本预处理、特征提取、特征选择与机器学习分类功能。系统支持用户导入已分词的文本数据,自动计算TF-IDF特征矩阵并应用卡方检验进行特征筛选,使用LIBSVM库的SVM分类器进行模型训练与预测。用户可自定义卡方检验阈值优化特征选择效果,系统最终输出分类准确率和预测结果。
功能特性
- 文本预处理:支持已分词的文本数据导入,词语间用空格分隔
- TF-IDF特征提取:自动计算文档的词频-逆文档频率特征矩阵
- 卡方检验特征选择:用户可调节阈值参数进行特征筛选优化
- SVM分类模型:基于LIBSVM库实现高效的文本分类
- 性能评估:提供混淆矩阵可视化及详细的分类指标分析
- 灵活配置:支持用户自定义特征选择阈值和模型参数
使用方法
数据准备
- 训练数据:准备已分词的文本数据集(.txt或.mat格式),每行代表一个文档,词语间用空格分隔
- 标签文件:准备对应的数值型标签向量
- 测试数据:准备格式与训练集一致的测试集数据
参数设置
运行系统
运行主程序文件,系统将自动完成以下流程:
- 数据导入与预处理
- TF-IDF特征矩阵计算
- 基于卡方检验的特征筛选
- SVM模型训练与优化
- 测试集预测与性能评估
结果输出
系统将生成:
- 模型训练结果(SVM参数、特征维度、训练准确率)
- 预测结果(测试集标签、混淆矩阵、分类指标)
- 中间结果(TF-IDF矩阵、特征索引)
系统要求
- MATLAB R2018a或更高版本
- LIBSVM for MATLAB工具箱
- 文本数据需预先完成分词处理
文件说明
主程序文件实现了系统的核心功能流程,包括数据读取与解析、TF-IDF特征计算、卡方检验特征选择、SVM模型训练与参数优化、分类预测执行以及结果可视化与输出。该文件整合了所有关键模块,提供完整的文本分类流水线处理能力。