使用numpy自定义数据集,使用scikit-learn中SVM的包实现SVM分类

概述: 支持向量机(SVM)是一种强大的分类算法,适用于线性和非线性分类问题。本博客将展示如何使用numpy自定义一个数据集,并利用scikit-learn中的SVM实现分类。

1. 导入必要的库
import numpy as np
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
2. 自定义数据集

我们使用numpy生成一个简单的二维数据集,其中包含两个类别。

# 自定义数据集
X = np.array([[1, 2], [2, 3], [3, 3], [6, 6], [7, 7], [8, 8]])  # 特征
y = np.array([0, 0, 0, 1, 1, 1])  # 标签
3. 数据集分割

我们将数据集分割为训练集和测试集。

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
4. 构建SVM分类器

使用scikit-learnSVC类构建SVM模型并进行训练。

svm = SVC(kernel='linear')  # 使用线性核
svm.fit(X_train, y_train)
5. 预测与评估

使用训练好的模型进行预测,并评估模型的准确度。

y_pred = svm.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f'准确度: {accuracy:.2f}')
6. 结果分析

输出的准确度表示模型对测试集的分类效果。你可以通过更改数据集或调整SVM参数(如核函数、C值等)来优化模型性能。

你可能感兴趣的:(numpy,scikit-learn,支持向量机)