k折交叉验证 python
时间: 2023-08-14 07:11:08 浏览: 130
python实现交叉验证
K折交叉验证(k-fold cross-validation)是一种常用的模型评估方法,特别适用于样本数据较少的情况。在Python中,可以使用scikit-learn库来实现K折交叉验证。
以下是一个简单的K折交叉验证的示例代码:
```python
from sklearn.model_selection import cross_val_score
from sklearn import datasets
from sklearn import svm
# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 创建支持向量机分类器
clf = svm.SVC(kernel='linear', C=1, random_state=42)
# 进行K折交叉验证
scores = cross_val_score(clf, X, y, cv=5)
# 打印每一折的准确率
print("准确率:", scores)
# 打印平均准确率
print("平均准确率:", scores.mean())
```
在上面的代码中,我们使用了鸢尾花(iris)数据集作为示例数据。首先,我们加载数据集并将其分为特征矩阵(X)和目标向量(y)。然后,我们创建了一个支持向量机(SVM)分类器,并使用`cross_val_score`函数进行K折交叉验证。参数`cv=5`表示将数据集分成5个折(即5倍交叉验证)。最后,我们打印出每一折的准确率和平均准确率。
希望这个示例能够帮助你理解如何在Python中使用K折交叉验证。如有任何疑问,请随时提问!
阅读全文