在Python中,使用支持向量机(SVM)进行分类通常涉及以下步骤:
数据预处理
清洗数据,排除异常值。
数据归一化,确保所有特征数值范围一致。
特征选择,选择最具信息量的特征。
导入库
```python
import numpy as np
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
加载数据
```python
data = np.loadtxt('data.txt', delimiter=',')
X = data[:, :-1]
y = data[:, -1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
建立模型
```python
clf = svm.SVC()
clf.fit(X_train, y_train)
模型预测
```python
y_pred = clf.predict(X_test)
print(accuracy_score(y_test, y_pred))
可视化结果(可选):
```python
import matplotlib.pyplot as plt
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, s=30, cmap=plt.cm.Paired)
ax = plt.gca()
xlim = ax.get_xlim()
ylim = ax.get_ylim()
xx = np.linspace(xlim, xlim, 30)
yy = np.linspace(ylim, ylim, 30)
YY, XX = np.meshgrid(yy, xx)
xy = np.vstack([XX.ravel(), YY.ravel()]).T
Z = clf.decision_function(xy).reshape(XX.shape)
ax.contourf(XX, YY, Z, alpha=0.8)
plt.show()
以上步骤展示了如何在Python中使用`scikit-learn`库进行SVM分类。根据数据集的不同,可能需要对数据进行不同的预处理步骤,并调整模型参数以获得最佳分类效果。