zoukankan      html  css  js  c++  java
  • 莫烦python教程学习笔记——利用交叉验证计算模型得分、选择模型参数

    # View more python learning tutorial on my Youtube and Youku channel!!!
    
    # Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg
    # Youku video tutorial: http://i.youku.com/pythontutorial
    
    """
    Please note, this code is only for python 3+. If you are using python 2+, please modify the code accordingly.
    """
    from __future__ import print_function
    from sklearn.datasets import load_iris
    from sklearn.cross_validation import train_test_split
    from sklearn.neighbors import KNeighborsClassifier
    
    iris = load_iris()
    X = iris.data
    y = iris.target
    
    # test train split #
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=4)
    knn = KNeighborsClassifier(n_neighbors=5)
    knn.fit(X_train, y_train)
    y_pred = knn.predict(X_test)
    print(knn.score(X_test, y_test))
    
    # this is cross_val_score # 计算模型得分
    from sklearn.cross_validation import cross_val_score
    knn = KNeighborsClassifier(n_neighbors=5)
    scores = cross_val_score(knn, X, y, cv=5, scoring='accuracy')
    print(scores)
    
    # this is how to use cross_val_score to choose model and configs # 选择模型参数
    from sklearn.cross_validation import cross_val_score
    import matplotlib.pyplot as plt
    k_range = range(1, 31)
    k_scores = []
    for k in k_range:
        knn = KNeighborsClassifier(n_neighbors=k)
    ##    loss = -cross_val_score(knn, X, y, cv=10, scoring='mean_squared_error') # for regression
        scores = cross_val_score(knn, X, y, cv=10, scoring='accuracy') # for classification
        k_scores.append(scores.mean())
    
    plt.plot(k_range, k_scores)
    plt.xlabel('Value of K for KNN')
    plt.ylabel('Cross-Validated Accuracy')
    plt.show()
  • 相关阅读:
    storm中的Scheduler
    开启flume的远程调试功能
    修改flume源码,使其HTTPSource具备访问路径功能
    非功能测试——效率测试
    python100例
    awk命令
    shell正则表达式
    python的垃圾回收机制
    冯-诺伊曼体系结构
    jmeter读取文件内容做变量
  • 原文地址:https://www.cnblogs.com/simpleDi/p/9964228.html
Copyright © 2011-2022 走看看