使用支持向量机(SVM)对sklearn.datasets import load_digits的数据集进行分类
时间: 2024-10-01 10:02:27 浏览: 46
SVM.zip_clb_svm python实现_svm数据集_支持向量机
使用支持向量机(SVM)对`sklearn.datasets.load_digits`数据集进行分类的基本步骤如下:
1. 导入所需的库和数据集:
```python
import matplotlib.pyplot as plt
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 classification_report, confusion_matrix
```
2. 加载数据并预处理:
```python
digits = load_digits()
X = digits.data
y = digits.target
# 数据标准化(对于SVM很重要)
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)
```
3. 创建SVM分类器并训练:
```python
svm = SVC(kernel='linear') # 或者可以尝试其他内核,如'rbf', 'poly'
svm.fit(X_train, y_train)
```
4. 进行预测:
```python
y_pred = svm.predict(X_test)
```
5. 评估模型性能:
```python
print("Classification Report:")
print(classification_report(y_test, y_pred))
conf_mat = confusion_matrix(y_test, y_pred)
print("\nConfusion Matrix:")
print(conf_mat)
```
这里假设了一个线性核(默认情况下)。对于非线性问题,可以更改`kernel`参数,如`'rbf'`(径向基函数)或自定义核函数。
阅读全文