SVM 简介和使用实践
理论部分略过。
SVM 是一种有监督的机器学习分类算法。由于一般都是调 sklearn 的包,所以 SVM 的核心在于如何设计好的特征,也就是特征工程。
特征工程的设计主要靠实验,以及总结的规律和想法。
建议做法:将 特征存为 一个 .csv 文件。csv 每一列如果是多个值,可以以 1D list 保存,然后使用 json 读取 1D list。
训练SVM 需要写一个 load 数据的函数,使用 train_test_split 划分数据。使用一些归一化方法处理数据,然后就是训练,输出测试集结果。
实际使用时候,需要把原始数据处理成输入特征的形式,然后加载归一化方法的模型,然后就是加载 SVM 模型,处理数据,SVM 分类。此外,如果输入特征过多,可以先使用 PCA 进行降维,再输入到 SVM 中。
最后是模型的保存和加载,也可以保存为 onnx 格式。
我写了一个使用教程:
https://github.com/deepConnectionism/ML_practice
参考: