本人使用python进行高光谱图像分类的实验。 数据集使用的Indian Pines 。 使用的SVC分类器进行的训练和预测。 最后希望将预测的结果进行可视化,然后和GroundTruth图做个对比。 希望好心人能传授一下可视化的原理或者代码。
1条回答 默认 最新
关注 题主没有提供数据集的特征维数,也没有分类数,很难给出有针对性的建议,只能泛泛而谈。
首先,如果数据集特征维数较高,可能没有合适的数据可视化的方案。如果一定要做可视化数据,不妨用PCA降维试试看。
如果是二分类问题,可以在评估指标方面做些可视化工作,比如混淆矩阵;如果是多分类问题,基本也没啥可视化的手段。
不管题主使用LinearSVC、NuSVC或SVC的哪一种,都属于SVM二分类模型。SVM 在解决小样本、非线性及高维模式识别中表现出许 多特有的优势,并且还能够推广应用到函数拟合等其他机器学习问题中。不过,SVM 解决多元分类问题时效率较低,也难以对大规模训练样本实施训练。
下面是基于SVM的乳腺癌数据集的二分类示例代码和模型评估,摘自拙著《Python高手修炼之道》。
# -*- encoding: utf-8 -*- """ 8.4.5 支持向量机分类 """ from sklearn.datasets import load_breast_cancer from sklearn.model_selection import cross_val_score from sklearn import svm ds = load_breast_cancer() # 加载乳腺癌数据集 msvc = svm.SVC() # 实例化SVC分类器 mnusvc = svm.NuSVC()# 实例化NuSVC分类器 mlsvc = svm.LinearSVC(dual=False) # 实例化LinearSVC分类器 score_msvc = cross_val_score(msvc, ds.data, ds.target, cv=10) score_mnusvc = cross_val_score(mnusvc, ds.data, ds.target, cv=10) score_mlsvc = cross_val_score(mlsvc, ds.data, ds.target, cv=10) print(score_msvc.mean()) # SVC交叉验证10次的平均精度 print(score_mnusvc.mean()) # NuSVC交叉验证10次的平均精度 print(score_mlsvc.mean()) # LinearSVC交叉验证10次的平均精度
# -*- encoding: utf-8 -*- """ 8.8.2 交叉验证 """ from sklearn.datasets import load_breast_cancer from sklearn.svm import SVC from sklearn.metrics import confusion_matrix from sklearn.model_selection import train_test_split as tsplit from sklearn.metrics import accuracy_score from sklearn.metrics import precision_score from sklearn.metrics import recall_score from sklearn.metrics import f1_score X, y = load_breast_cancer(return_X_y=True) X_train, X_test, y_train, y_test = tsplit(X, y, test_size=0.1) svc = SVC() # 实例化支持向量机分类器 svc.fit(X_train, y_train) # 训练 y_pred = svc.predict(X_test) # 预测 print(confusion_matrix(y_test, y_pred)) # 返回混淆矩阵 print(svc.score(X_test, y_test)) # 模型精度 print(accuracy_score(y_test, y_pred)) # 模型精度 print(precision_score(y_test, y_pred)) # 模型准确率 print(recall_score(y_test, y_pred)) # 模型召回率 print(f1_score(y_test, y_pred)) # f1分值
解决评论 打赏 举报无用 1
悬赏问题
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Bug traq 数据包 大概什么价
- ¥15 在anaconda上pytorch和paddle paddle下载报错
- ¥25 自动填写QQ腾讯文档收集表