svm,python代码
时间: 2024-09-23 19:04:01 浏览: 30
在Python中,我们可以使用scikit-learn库来实现支持向量机(SVM)。下面是一个简单的例子,展示如何使用SVM进行二分类:
```python
# 导入所需的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载数据集(这里假设我们使用Iris数据集作为示例)
iris = datasets.load_iris()
X = iris.data[:, :2] # 取前两维特征用于简化示例
y = iris.target
# 数据预处理,标准化数据
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42)
# 创建并训练SVM模型(默认的线性核)
svm_model = SVC(kernel='linear')
svm_model.fit(X_train, y_train)
# 预测测试集
y_pred = svm_model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")
```
这个例子中,我们选择了线性核,但也可以选择其他内核,如`kernel='rbf'`(径向基函数)来进行非线性分类。记住,在实际应用中,可能还需要调整参数(如`C`、`gamma`等)以优化模型性能。
阅读全文