SVM的使用

1 篇文章 0 订阅

Machine learning code

S V M 的 使 用 \color{BLUE}{SVM的使用} SVM使

        我是机器学习的初学者,最近在师兄的指导下,进行数据的SVM分类,因为对这些问题不是很透彻,为方便自己和大家,我写的尽量详细
        首先说明,数据格式data.shape= [5,24,10,10] ,数据共分为5类,每类数据有10个样本数据。

设输入的初始机器学习数为data
(1)导入SVM的相关库

from sklearn import svm
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import GridSearchCV, train_test_split

(2)准备数据标签,我的数据是按照顺序排列的,因此使用以下语句进行
其排列方式为10个0,10个1,10个2,10个3,10个4.

arr1 = np.full(10,0)
arr2 = np.full(10,1)
arr3 = np.full(10,2)
arr4 = np.full(10,3)
arr5 = np.full(10,4)

label = np.concatenate( (arr1, arr2,arr3,arr4,arr5))

(3)将数据分为测试集与训练集,6、4分;并且将数据集归一化

x = data
y = label
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=1, train_size=0.6)
scaler = StandardScaler().fit(x_train)
x_train = pd.DataFrame(scaler.transform(x_train))
x_test = pd.DataFrame(scaler.transform(x_test))

(4)使用SVM训练分类器,再在测试数据中对数据进行测试,使用线性核进行分类

clf = svm.SVC(C=0.8, kernel='linear', gamma=20, decision_function_shape='ovr')
clf.fit(x_train, y_train.ravel())

(5)输出SVM分类器的分类准确率

print (clf.score(x_train, y_train) ) # 精度
print (clf.score(x_test, y_test))

(6)效果展示
分类结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值