Python全系列 教程
3567个小节阅读:5930.4k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
交叉验证使用sklearn.model_selection.cross_val_score来完成
xxxxxxxxxx
'''
参数解释:
estimator: 需要使用交叉验证的算法
X: 样本特征
y: 样本标签
cv: 交叉验证折数
'''
cross_val_score(estimator, X, y=None,cv=None)
xxxxxxxxxx
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 数据加载,展示图像
digits = datasets.load_digits()
images = digits.images # 所有图像数据
plt.gray() # 灰色图像
plt.matshow(images[0]) # 显示第一个图像
plt.show()
X = digits.data # 样本特征
y = digits.target # 样本标签
# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=666)
# 交叉验证调参开始
from sklearn.model_selection import cross_val_score
best_k,best_p,best_score = 0,0,0
for k in range(2,11): # 外层循环搜索k
for p in range(1,6): # 内层循环搜索p
knn = KNeighborsClassifier(weights="distance",
n_neighbors=k,p=p)
scores = cross_val_score(knn,X_train,y_train,cv=3) # 3折交叉验证
score = np.mean(scores) # 当前这一组超参数在验证集上的平均分
if score > best_score:
best_k,best_p,best_score = k,p,score
print("best_k=",best_k)
print("best_p=",best_p)
print("验证最好成绩:best_score=",best_score)
# 使用调好的超参数进行训练与测试
best_knn = KNeighborsClassifier(weights="distance",n_neighbors=2,p=2)
best_knn.fit(X_train,y_train)
best_knn.score(X_test,y_test) # 测试集上最终的分数
1.实现交叉验证,使用sklearn中的:
A train_test_split
B StandardScaler
C cross_val_score
D 以上均不正确
2.实现拆分数据集,使用sklearn中的:
A KNeighborsClassifier
B train_test_split
C StandardScaler
D 以上均不正确
1=>C 2=>B