GridSearchCV交叉驗證

2022-05-06 13:21:13 字數 2231 閱讀 4361

**實現(基於邏輯回歸演算法):

1

#-*- coding: utf-8 -*-

2"""

3created on sat sep 1 11:54:48 201845

@author: zhen67

交叉驗證

8"""

9import

numpy as np

10from sklearn import

datasets

11from sklearn.linear_model import

logisticregression

12from sklearn.model_selection import

gridsearchcv

13import

matplotlib.pyplot as plt

1415 iris =datasets.load_iris()

16 x = iris['

data

'][:, 3:]

17 y = iris['

target']

1819

20def report(results, n_top=3):

21for i in range(1, n_top + 1):

22 candidates = np.flatnonzero(results['

rank_test_score

'] ==i)

23for candidate in

candidates:

24print("

model with rank:

".format(i))

25print("

mean validation score: (std: )

".format(

26 results['

mean_test_score

'][candidate],

27 results['

std_test_score

'][candidate]))

28print("

parameters:

".format(results['

params

'][candidate]))

29print("")30

3132 param_grid =

3334 log_reg = logisticregression(multi_class='

ovr', solver='

sag')35

#採用3折交叉驗證

36 grid_search = gridsearchcv(log_reg, param_grid=param_grid, cv=3)

37grid_search.fit(x, y)

3839

report(grid_search.cv_results_)

4041 x_new = np.linspace(0, 3, 1000).reshape(-1, 1)

42 y_proba =grid_search.predict_proba(x_new)

43 y_hat =grid_search.predict(x_new)

4445 plt.plot(x_new, y_proba[:, 2], '

g-', label='

iris-virginica')

46 plt.plot(x_new, y_proba[:, 1], '

r-', label='

iris-versicolour')

47 plt.plot(x_new, y_proba[:, 0], '

b-', label='

iris-setosa')

48plt.show()

4950

print(grid_search.predict([[1.7], [1.5]]))

結果:

總結:使用交叉驗證可以實現**自動對設定範圍引數的模型進行分別訓練,最後選出效果最好的引數所訓練出的模型進行**,以求達到最好的**效果!

crossvalind Matlab 交叉驗證

matlab 交叉驗證 rel noopener noreferrer crossvalind matlab 交叉驗證 lujingyang1029 今天用到crossvalind.這個適用於crossvalidation。中文應該叫做交叉驗證。我主要想說說這個函式怎麼用的。舉個簡單的例子 p tr...

Keras基礎自學四( sklearn交叉驗證)

from keras.models import sequential from keras.layers import dense import numpy as np from sklearn.model selection import cross val score from sklearn...

交叉學習驗證 西瓜書 機器學習必知必會 交叉驗證

當我們根據資料訓練出乙個機器學習模型時,我們希望它在新的資料上也保持較高的準備率,這就需要我們對學習到的不同模型有乙個模型評估準則。為了評估模型的泛化效能 指模型在未知資料上的 能力 防止模型落入 過擬合 的陷進。我們人為地將原始資料劃分為訓練集和測試集,前者用於訓練模型,後者用於評估模型的泛化效能...