如何在Python中实现SVM分类?

2025-09-28 02:13:16

1、输入数据集,分析数据维度,可以看到共有0,1,2,3四个类别。

import pandas as pddf=pd.DataFrame({'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 plt

plt.figure()

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分类?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢