""" 网格搜索 通过不同参数组合尝试训练网络 获得最优参数、最优模型 """ import numpy as np import sklearn.naive_bayes as nb import matplotlib.pyplot as mp import sklearn.svm as svm import sklearn.model_selection as ms import sklearn.metrics as sm # 加载数据 data = np.loadtxt("./multiple2.txt", delimiter=",") x = data[:, :2].astype("float") y = data[:, -1].astype("float") print(x.shape, x.dtype) print(y.shape, y.dtype) train_x, test_x, train_y, test_y = \ ms.train_test_split(x, y, test_size=0.25, random_state=7) # SVC probability 是否保存置信概率 model = svm.SVC(probability=True) # 设置网格参数 params = [{
'kernel': ['linear'], 'C': [1, 10, 100, 1000]}, {
'kernel': ['poly'], 'C': [1], 'degree': [2, 3]}, {
'kernel': ['rbf'], 'C': [1, 10, 100, 1000], 'gamma': [1, 0.1, 0.01, 0.001]}] # 网格搜索 确定最优超参数 model = ms.GridSearchCV(model, params, cv=5) model.fit(train_x, train_y) print(model.best_params_) # 最优参数 print(model.best_score_) # 最好得分 print(model.best_estimator_)
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177162.html原文链接:https://javaforall.net
