美文网首页
11.数据降维--CV交叉验证

11.数据降维--CV交叉验证

作者: 羽天驿 | 来源:发表于2020-04-06 16:09 被阅读0次

代码:

# cross validation 验证检验模型 变现
import numpy as np

from sklearn import datasets

from sklearn.model_selection import cross_val_score

from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import KNeighborsClassifier

# train_test_split 经常用,将数据划分为,训练和测试两部分
# 验证模型好坏?
# modelA X_train 预测 X_test accuracy = 0.98
# modelB X_train 预测 X_test accuracy = 0.76
# 得到结论,modelA适合数据,更好的选择
from sklearn.model_selection import train_test_split
X,y = datasets.load_wine(True)
X.shape
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.15,random_state = 112567)
knn = KNeighborsClassifier(n_neighbors=1)
# cv = 5意味着,将数据分成5份
cross_val_score(estimator=knn,X = X_train,y = y_train,scoring = 'accuracy',cv = 5)
array([0.61290323, 0.66666667, 0.73333333, 0.86666667, 0.83333333])
knn = KNeighborsClassifier(n_neighbors=5)
# cv = 5意味着,将数据分成5份
cross_val_score(estimator=knn,X = X_train,y = y_train,scoring = 'accuracy',cv = 5)
array([0.58064516, 0.7       , 0.73333333, 0.7       , 0.73333333])
knn = KNeighborsClassifier(n_neighbors=3)
# cv = 5意味着,将数据分成5份
cross_val_score(estimator=knn,X = X_train,y = y_train,scoring = 'accuracy',cv = 5)
array([0.64516129, 0.7       , 0.76666667, 0.73333333, 0.73333333])
import matplotlib.pyplot as plt
scores = []
for k in np.arange(1,15):
    knn = KNeighborsClassifier(n_neighbors=k)
#     平均值
    scores.append(cross_val_score(estimator=knn,X = X_train,y = y_train,scoring = 'accuracy',cv = 5).mean())
scores = np.asarray(scores) 
plt.plot(np.arange(1,15),scores)
[<matplotlib.lines.Line2D at 0x257f2873c48>]
output_6_1.png

根据交叉验证,KNN算法,对于鸢尾花这个数据,邻居数量给 1个的时候,最优的!

knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train,y_train)
knn.score(X_test,y_test)
0.8888888888888888
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train,y_train)
knn.score(X_test,y_test)
0.8148148148148148
knn = KNeighborsClassifier(n_neighbors=10)
knn.fit(X_train,y_train)
knn.score(X_test,y_test)
0.7777777777777778

相关文章

  • 11.数据降维--CV交叉验证

    代码: 根据交叉验证,KNN算法,对于鸢尾花这个数据,邻居数量给 1个的时候,最优的!

  • 交叉验证

    K-折交叉验证(K-fold Cross Validation,记为K-CV)将原始数据分成K组(一般是均分),将...

  • 机器学习入门-模型验证

    混肴矩阵 交叉验证 Holdout验证 随机选取大部分数据作训练数据集,剩余数据做验证数据集 交叉验证 将数据随机...

  • Excel数据清洗

    一、数据降维-二维表转一维表 方法一:数据透视表法 此方法仅适用于单行,单列的交叉二维表 1.Alt+D+P,打开...

  • 十一、交叉验证和网格搜索

    1交叉验证 1)评估方法一般有留出法,交叉验证法,自助法,这里我们介绍交叉验证法。2)k折交叉验证法:将数据集D划...

  • 机器学习(十二)交叉验证实例

    1 交叉验证简介 1.1 交叉验证是什么 交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,...

  • 应用机器学习的建议

    一、模型选择和交叉验证集 使用 60%的数据作为训练集,使用 20%的数据作为交叉验证集,使用 20%的数据作为测...

  • 如何进行变量筛选和特征选择(三)?交叉验证

    01 模型简介 交叉验证是机器学习中常用的一种验证和选择模型的方法,常用的交叉验证方法是K折交叉验证。将原始数据...

  • 2022-04-25 机器学习模型训练

    引入包 读取数据 训练和测试数据 训练集分割 交叉验证 指定f1 score 支持的scoring有 手动交叉验证...

  • 交叉验证

    交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进...

网友评论

      本文标题:11.数据降维--CV交叉验证

      本文链接:https://www.haomeiwen.com/subject/lrebphtx.html