首先在这里就不介绍支持向量机和高光谱图像数据集了,本文将着重用实验代码结果来分析数据集的预处理部分和支持向量机的核函数选择。
这里的数据预处理有三种,分别是PCA;LDA;PCA+LDA。支持向量机的核函数也是选择了三种,分别是线性核函数;多项式核函数;高斯核函数。
这里先将.mat的数据转化为python后续算法处理的csv文件。
import matplotlib.pyplot as plt
import numpy as np
from scipy.io import loadmat
import spectral
from sklearn import preprocessing
import scipy.io as sio
input_image=sio.loadmat(r'F:\Python+AI_ML_DL全套\高光谱数据集\数据集\Salinas.mat')['salinas']
output_image=sio.loadmat(r'F:\Python+AI_ML_DL全套\高光谱数据集\数据集\Salinas_gt.mat')['salinas_gt']
# 除掉 0 这个非分类的类,把所有需要分类的元素提取出来
need_label = np.zeros([output_image.shape[0],output_image.shape[1]])
for i in range(output_image.shape[0]):
for j in range(output_image.shape[1]):
if output_image[i][j] != 0: