构建基于数据集的SVM模型的Python代码,要区分标签和数据,将数据集划分为训练集和测试集,对数据集标准化
时间: 2023-07-09 17:44:53 浏览: 158
python 划分数据集为训练集和测试集的方法
好的,下面是一个简单的基于数据集构建SVM模型的Python代码,包括数据集的划分和标准化:
```python
# 导入必要的库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
# 读取数据集
df = pd.read_csv('data.csv')
# 将标签和数据分开
X = df.drop('label', axis=1)
y = df['label']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 对数据进行标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# 构建SVM模型
svm = SVC(kernel='linear', C=1)
svm.fit(X_train, y_train)
# 在测试集上评估模型
accuracy = svm.score(X_test, y_test)
print('测试集准确率:', accuracy)
```
其中,`data.csv` 是数据集文件,包括标签和数据;`X` 表示数据,`y` 表示标签;`train_test_split` 函数用于将数据集划分为训练集和测试集;`StandardScaler` 类用于对数据进行标准化,使得每个特征的均值为0,方差为1;`SVC` 类用于构建SVM模型,其中 `kernel='linear'` 表示使用线性核函数,`C=1` 表示正则化强度,即控制决策边界的平滑程度;`svm.score` 函数用于在测试集上评估模型的准确率。
阅读全文