k折交叉验证python代码
时间: 2023-07-22 12:27:20 浏览: 90
以下是在Python中实现K折交叉验证的示例代码:
``` python
from sklearn.model_selection import KFold
from sklearn import datasets
from sklearn import svm
# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 创建SVM分类器
clf = svm.SVC(kernel='linear', C=1, random_state=42)
# 使用K折交叉验证
kf = KFold(n_splits=5, shuffle=True, random_state=42)
for train_index, test_index in kf.split(X):
print("TRAIN:", train_index, "TEST:", test_index)
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
clf.fit(X_train, y_train)
print("Accuracy:", clf.score(X_test, y_test))
```
在上面的代码中,我们首先加载了Iris数据集,然后创建了一个SVM分类器。接下来,我们使用`KFold`函数来创建一个K折交叉验证对象,将`n_splits`参数设置为5,表示我们将数据集分成5个子集。然后我们使用`split`函数来生成训练集和测试集的索引,然后使用这些索引来将数据集分成训练集和测试集。最后,我们拟合模型并计算模型的准确性得分。重复这个过程K次,并将结果打印出来。
阅读全文