利用sklearn中的SVM模型
时间: 2024-10-08 17:27:14 浏览: 34
在Scikit-Learn库中,SVM (支持向量机) 的使用非常直观。以下是一个基本步骤:
1. **导入所需库**:
```python
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
```
2. **加载数据** 和 **预处理**:
- 加载数据集,如Pandas DataFrame
- 将分类变量转换为数值(如有需要)
- 可能还需要标准化或归一化数据,以确保所有特征在同一尺度上,`StandardScaler()` 函数常用于这一步。
3. **划分训练集和测试集**:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. **初始化并创建SVM模型**:
```python
clf = svm.SVC() # 或者指定核函数,如 'linear', 'poly', 'rbf', 'sigmoid'
```
5. **拟合模型**:
```python
clf.fit(X_train, y_train)
```
6. **预测**:
```python
y_pred = clf.predict(X_test)
```
7. **评估模型**:
使用如accuracy_score、classification_report等函数查看模型性能。
8. **(可选)调整参数**:
Scikit-Learn提供GridSearchCV或RandomizedSearchCV等工具进行参数搜索,例如:
```python
param_grid = {'C': [0.1, 1, 10], 'gamma': [1, 0.1, 0.01]}
grid_search = GridSearchCV(svm.SVC(), param_grid, cv=5)
grid_search.fit(X_train, y_train)
best_params = grid_search.best_params_
```
阅读全文