
回复
背景
通过模型验证结果,根据结果来选择最合适的模型。特别是对于监督学习而言,会希望好的模型对未知数据处理有很强的泛化能力。目前模型常用的几种方式。
原理
注意:
适用场景
在模型选择、参数选择、交叉验证的场景下可以使用交叉验证。
案例说明
使用鸢尾花数据集,KNN 和 logistic 回归模型进行模型的比较和选择。
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
# 鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# K近邻和逻辑回归对比,交叉验证取10折
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=20)
print(cross_val_score(knn, X, y, cv=10, scoring='accuracy').mean())
# 交叉验证同样取10折
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
print(cross_val_score(logreg, X, y, cv=10, scoring='accuracy').mean())
0.9800000000000001
0.9733333333333334