svm模型二分类代码
时间: 2023-07-05 20:18:12 浏览: 55
以下是使用sklearn库中的SVM模型进行二分类的代码示例:
```python
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载数据
X, y = load_data()
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建SVM模型
clf = svm.SVC(kernel='linear')
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 评估模型
acc = accuracy_score(y_test, y_pred)
print("Accuracy:", acc)
```
其中,load_data()函数用于加载数据,可以根据具体情况自行实现。在创建SVM模型时,kernel参数指定使用线性核函数。训练模型后,使用predict()方法对测试集进行预测,并使用accuracy_score()函数计算模型的准确率。
相关问题
R语言SVM模型二分类预测结果绘制列线图代码
在 R 语言中,可以使用 `ggplot2` 包绘制列线图(Column Line Chart)来可视化 SVM 模型的二分类预测结果。下面是一个简单的示例代码:
```R
library(e1071) # 加载 SVM 模型
library(ggplot2) # 加载 ggplot2 包
# 加载数据
data(iris)
x <- iris[, 1:4]
y <- iris[, 5]
# 训练 SVM 模型
model <- svm(x, y)
# 预测测试集结果
test <- iris[20:30, 1:4]
test$pred <- predict(model, test)
# 统计预测结果
result <- aggregate(test$pred, by = list(test$Species), FUN = length)
colnames(result) <- c("Species", "Count")
# 绘制列线图
ggplot(result, aes(x = Species, y = Count, fill = Species)) +
geom_col() +
geom_line(aes(y = max(Count)), color = "red") +
scale_fill_manual(values = c("#0072B2", "#F0E442", "#D55E00")) +
labs(title = "SVM Model Prediction Result") +
theme_minimal()
```
在上面的代码中,我们首先加载了 `e1071` 包中的 SVM 模型,然后使用该模型对测试集进行预测,并统计了预测结果。接下来,我们使用 `ggplot2` 包绘制了一个列线图,其中每个物种的预测结果用不同的颜色表示,并且添加了一条红色的线表示预测结果的最大值。最后,我们给图表添加了一个标题,并使用 `theme_minimal()` 函数设置了图表的主题风格。
需要注意的是,该示例代码仅适用于三个物种的情况,并且需要调整颜色值和标题等参数来适应不同的数据集和需求。
svm数据二分类python代码
以下是一个简单的SVM数据二分类Python代码示例:
```python
from sklearn import svm
import numpy as np
# 生成训练数据
X = np.array([[0, 0], [1, 1]])
y = np.array([0, 1])
# 训练模型
clf = svm.SVC(kernel='linear')
clf.fit(X, y)
# 预测新数据
print(clf.predict([[2., 2.]])) # 输出:[1]
```
该代码使用了scikit-learn库中的SVM分类器,首先生成了一个包含两个样本的训练数据集X和标签y,然后使用SVC类进行模型训练,其中kernel参数指定了使用线性核函数,最后使用训练好的模型对新数据进行预测并输出预测结果。