zoukankan      html  css  js  c++  java
  • 机器学习——超参数和网格搜索

    Q:什么叫做超参数?

    A:在算法开始执行之前就需要指定的参数叫做超参数,如KNN算法中的k值

    Q:什么叫做模型参数?

    A:在算法执行过程中需要指定的参数叫做模型参数

    Q:网格搜索是什么,有什么作用?

    A:网格搜索是指通过循环方式不断的搜索能使得机器学习算法效果最好的各类参数,sklearn中提供了GridSearchCV类进行网格搜索,作用是找到使得机器学习算法效果达到最好的各类参数的集合。


    下面是使用网格搜索找到对于iris最好的超参数集合

    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.model_selection import train_test_split
    from sklearn import datasets
    
    iris=datasets.load_iris()
    x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0
    parms=[
        {
            'weights':['uniform'],
            'n_neighbors':[i for i in range(1,11)]
        },
        {
            'weights':['distance'],
            'n_neighbors': [i for i in range(1, 11)],
            'p':[i for i in range(1,6)]
        },
    
    ]
    from sklearn.model_selection import GridSearchCV
    knn_clf=KNeighborsClassifier()
    gridsearch=GridSearchCV(knn_clf,param_grid=parms)
    gridsearch.fit(x_train,y_train)
    print(gridsearch.best_estimator_)
    print(gridsearch.best_params_)
    print(gridsearch.best_score_)
    
  • 相关阅读:
    文件读写和进度条
    复选框选择变化(可以演化成简单的字符串拼接)
    读取文本方式的简单登录
    计算字符出现次数
    判断系统版本号
    DataTable合并
    获取单元格值的数据类型
    struts2 日期标签
    jsp获取枚举的值
    java web项目修改项目名称
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309459.html
Copyright © 2011-2022 走看看