支持向量机做分类python实现代码
时间: 2023-05-15 22:03:03 浏览: 175
Python 支持向量机分类器的实现
5星 · 资源好评率100%
支持向量机(Support Vector Machine,SVM)是一种常见的机器学习算法,可用于分类和回归分析。在Python中实现SVM分类代码很简单,以下是一个基本的Python实现示例:
首先导入必要的库,例如numpy、pandas和sklearn中的SVM算法:
```python
import numpy as np
import pandas as pd
from sklearn.svm import SVC
```
接下来加载你的数据集,可以使用pandas.read_csv方法读取csv文件:
```python
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
dataset = pd.read_csv(url, names=names)
```
数据集中的列分别是物种类别和4个特征,其中花瓣长度和宽度更有助于区分类别:
```python
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 4].values
```
使用scikit-learn的train_test_split函数将数据集分为训练集和测试集:
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
```
接下来创建SVM分类模型并将其拟合于训练集:
```python
svclassifier = SVC(kernel='linear')
svclassifier.fit(X_train, y_train)
```
使用测试数据集来预测分类:
```python
y_pred = svclassifier.predict(X_test)
```
最后计算模型的性能指标,例如准确性、精确度、召回率和F1值:
```python
from sklearn.metrics import classification_report, confusion_matrix
print(confusion_matrix(y_test,y_pred))
print(classification_report(y_test,y_pred))
```
以上是支持向量机做分类的Python实现代码,这只是一个简单的例子。在实际应用中,需要根据具体情况设置参数和优化模型以获得更好的结果。
阅读全文