使用paddle库写一个支持向量机的代码
时间: 2024-10-15 22:30:08 浏览: 30
在PaddlePaddle(简称Paddle)这个深度学习框架中,我们可以利用其内置的SVM(Support Vector Machine)模块来构建和支持向量机模型。下面是一个简单的示例,展示如何使用Paddle的`sklearn`接口来创建并训练一个线性SVM分类器:
```python
# 首先,需要安装paddle-sklearn包(如果尚未安装)
# !pip install paddlepaddle-gpu paddle_sklearn
import paddle
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from paddle_sklearn.linear_model import LinearSVC
# 加载数据集
iris = load_iris()
X = iris.data
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.2, random_state=42)
# 创建LinearSVC模型
svm = LinearSVC()
# 将sklearn模型转换为Paddle模型
svm_paddle = paddle.Model(svm)
# 定义损失函数和优化器
svm_paddle.prepare(loss=paddle.nn.CrossEntropyLoss(), optimizer=paddle.optimizer.Adam(learning_rate=0.01))
# 训练模型
num_epochs = 10
history = svm_paddle.fit(X_train, y_train, batch_size=32, epochs=num_epochs, verbose=1)
# 测试模型
test_loss, test_acc = svm_paddle.evaluate(X_test, y_test)
print(f"Test Accuracy: {test_acc.item()}")
阅读全文