写一个Svm的机器学习算法
时间: 2024-03-02 16:44:51 浏览: 21
```python
# 导入必要的库
import numpy as np
from sklearn import datasets
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
# 加载数据集
iris = datasets.load_iris()
X = iris["data"][:, (2, 3)] # petal length, petal width
y = (iris["target"] == 2).astype(np.float64) # Iris-Virginica
# 构建SVM模型
svm_clf = Pipeline([
("scaler", StandardScaler()),
("linear_svc", LinearSVC(C=1, loss="hinge")),
])
# 训练模型
svm_clf.fit(X, y)
# 预测新数据
new_data = [[5.5, 1.7], [4.2, 1.5]]
svm_clf.predict(new_data)
```
以上代码演示了如何使用sklearn库中的LinearSVC类构建一个SVM模型,并对新数据进行预测。在这个例子中,我们使用鸢尾花数据集作为训练数据,预测花的种类是否为Iris-Virginica。模型的训练过程包括数据标准化和线性SVM分类器的训练。最后,我们使用模型对两个新数据进行了预测。