如何在Python中实现SVM分类

时间:2024-10-13 11:30:48

1、输入数据集,分析数据维度,可以看到共有0,1,2,3四个类别。import pandas as pddf=pd.DataFrame({&#泌驾台佐39;math':[98,78,54,89,24,60,98,44,96,90],'english':[92,56,90,57,46,75,76,87,91,88],'chinese':[95,69,91,52,60,80,78,81,96,82],'rank':[0,3,2,3,1,1,2,2,0,0]})

如何在Python中实现SVM分类

2、导入svm工具包。没有安装sklearn的要先安装svm。from sklearn import svm

如何在Python中实现SVM分类

3、数据准备。本例中数据都是数值型变量,且没有空值,直接取X,y变量。X=df.ix[:,['math','english','chinese']]y=df['rank']

如何在Python中实现SVM分类

4、建立模型,并进行训练。clf = svm.SVC()clf.fit(X, y)

如何在Python中实现SVM分类

5、模型预测。有一组新的数据,根据模型预测它的分类,结果为rank=2。new=[[60,51,98]]clf.predict(new)

如何在Python中实现SVM分类

6、绘制预测效果图。y_pred=clf.predict(X)import matplotlib.pyplot as pltplt.figur髫潋啜缅e()plt.scatter(range(len(y)),y, color='darkorange', label='real rank')plt.plot(y_pred, color='navy', label='svm predicted')plt.legend()plt.show()

如何在Python中实现SVM分类

7、也可以预测数据属于每个类别的概率值。重新建立模型。clf = svm.SVC(probability=True)clf.fit(X,y)clf.predict_proba(X)

如何在Python中实现SVM分类
如何在Python中实现SVM分类
© 手抄报圈