没有合适的资源?快使用搜索试试~ 我知道了~
首页python,sklearn,svm,遥感数据分类,代码实例
@python,sklearn,svm,遥感数据分类,代码实例 python_sklearn_svm遥感数据分类代码实例 (1)svm原理简述 支持向量机(Support Vector Machine,即SVM)是包括分类(Classification)、回归(Regression)和异常检测(Outlier Detection)等一系列监督学习算法的总称。对于分类,SVM最初用于解决二分类问题,多分类问题可通过构建多个SVM分类器解决。SVM具有两大特点:1.寻求最优分类边界,即求解出能够正确划分训练数据集并且几何间隔最大的分离超平面,这是SVM的基本思想;2.基于核函数的扩维变换,即通过核
资源详情
资源评论
资源推荐

python,sklearn,svm,遥感数据分类遥感数据分类,代码实例代码实例
@python,sklearn,svm,遥感数据分类遥感数据分类,代码实例代码实例
python_sklearn_svm遥感数据分类代码实例遥感数据分类代码实例
((1))svm原理简述原理简述
支持向量机(Support Vector Machine,即SVM)是包括分类(Classification)、回归(Regression)和异常检测(Outlier
Detection)等一系列监督学习算法的总称。对于分类,SVM最初用于解决二分类问题,多分类问题可通过构建多个SVM分类器
解决。SVM具有两大特点:1.寻求最优分类边界,即求解出能够正确划分训练数据集并且几何间隔最大的分离超平面,这是
SVM的基本思想;2.基于核函数的扩维变换,即通过核函数的特征变换对线性不可分的原始数据集进行升维变换,使其线性可
分。因此SVM最核心的过程是核函数和参数选择。
((2))svm实现环境解析实现环境解析
设置中文输出代码兼容格式及引用的库函数,用于精度评估的库函数,以及svm参数寻优等。
下面展示一些 内联代码片。
-*- coding: utf-8 -*-
#用于精度评价
from sklearn.metrics import cohen_kappa_score
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
#numpy引用
import numpy as np
#记录运行时间
import datetime
#文件路径操作
import os
#svm and best parameter select using grid search method
from sklearn import svm
from sklearn.model_selection import GridSearchCV
#scale the data to 0-1 用于数据归一化
from sklearn import preprocessing
((3))svm函数参数寻优函数参数寻优
SVM参数寻优的实现,有两种常用方法,一种是网格搜索法(本文中的),另一种是使用libsvm工具通过交叉验证实现(后面
再写,有兴趣的可以留言)。
def grid_find(train_data_x,train_data_y):
# 10 is often helpful. Using a basis of 2, a finer.tuning can be achieved but at a much higher cost.
# logspace(a,b,N),base默认=10,把10的a次方到10的b次方区间分成N份。
C_range = np.logspace(-5, 9, 8, base=2)
# 如:C_range = 1/64,1/8,1/2,2,8,32,128,512
gamma_range = np.logspace(-15, 3, 10, base=2)
# 选择linear线性核函数和rbf核函数
parameters = {'kernel': ('linear', 'rbf'), 'C': C_range, 'gamma': gamma_range}
svr = svm.SVC()
# n_jobs表示并行运算量,可加快程序运行结果。
# 此处选择5折交叉验证,10折交叉验证也是常用的。
clf = GridSearchCV(svr, parameters, cv=5, n_jobs=4)
# 进行模型训练
clf.fit(train_data_x, train_data_y)
print('最优c,g参数为:{0}'.format(clf.best_params_))
# 返回最优模型结果
svm_model = clf.best_estimator_
return svm_model
更多关于网格搜索法:
((4)数据读取函数编写(读取)数据读取函数编写(读取txt格式的训练与测试文件)格式的训练与测试文件)
首先是读取txt格式的训练数据和测试数据的函数。
数据截图如下,其中,前6列数据代表通过遥感影像感兴趣区(roi)提取出的6个波段的灰度值,最后一列代表数据类别的标
签。

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0