激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - OpenCV python sklearn隨機超參數搜索的實現

OpenCV python sklearn隨機超參數搜索的實現

2020-04-18 10:48廷益--飛鳥 Python

這篇文章主要介紹了OpenCV python sklearn隨機超參數搜索的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文介紹了OpenCV python sklearn隨機超參數搜索的實現,分享給大家,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
"""
房價預測數據集 使用sklearn執行超參數搜索
"""
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import sklearn
import pandas as pd
import os
import sys
import tensorflow as tf
from tensorflow_core.python.keras.api._v2 import keras # 不能使用 python
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split, RandomizedSearchCV
from scipy.stats import reciprocal
 
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
assert tf.__version__.startswith('2.')
 
# 0.打印導入模塊的版本
print(tf.__version__)
print(sys.version_info)
for module in mpl, np, sklearn, pd, tf, keras:
  print("%s version:%s" % (module.__name__, module.__version__))
 
 
# 顯示學習曲線
def plot_learning_curves(his):
  pd.DataFrame(his.history).plot(figsize=(8, 5))
  plt.grid(True)
  plt.gca().set_ylim(0, 1)
  plt.show()
 
 
# 1.加載數據集 california 房價
housing = fetch_california_housing()
 
print(housing.DESCR)
print(housing.data.shape)
print(housing.target.shape)
 
# 2.拆分數據集 訓練集 驗證集 測試集
x_train_all, x_test, y_train_all, y_test = train_test_split(
  housing.data, housing.target, random_state=7)
x_train, x_valid, y_train, y_valid = train_test_split(
  x_train_all, y_train_all, random_state=11)
 
print(x_train.shape, y_train.shape)
print(x_valid.shape, y_valid.shape)
print(x_test.shape, y_test.shape)
 
# 3.數據集歸一化
scaler = StandardScaler()
x_train_scaled = scaler.fit_transform(x_train)
x_valid_scaled = scaler.fit_transform(x_valid)
x_test_scaled = scaler.fit_transform(x_test)
 
 
# 創建keras模型
def build_model(hidden_layers=1, # 中間層的參數
        layer_size=30,
        learning_rate=3e-3):
  # 創建網絡層
  model = keras.models.Sequential()
  model.add(keras.layers.Dense(layer_size, activation="relu",
                 input_shape=x_train.shape[1:]))
 # 隱藏層設置
  for _ in range(hidden_layers - 1):
    model.add(keras.layers.Dense(layer_size,
                   activation="relu"))
  model.add(keras.layers.Dense(1))
 
  # 優化器學習率
  optimizer = keras.optimizers.SGD(lr=learning_rate)
  model.compile(loss="mse", optimizer=optimizer)
 
  return model
 
 
def main():
  # RandomizedSearchCV
 
  # 1.轉化為sklearn的model
  sk_learn_model = keras.wrappers.scikit_learn.KerasRegressor(build_model)
 
  callbacks = [keras.callbacks.EarlyStopping(patience=5, min_delta=1e-2)]
 
  history = sk_learn_model.fit(x_train_scaled, y_train, epochs=100,
                 validation_data=(x_valid_scaled, y_valid),
                 callbacks=callbacks)
  # 2.定義超參數集合
  # f(x) = 1/(x*log(b/a)) a <= x <= b
  param_distribution = {
    "hidden_layers": [1, 2, 3, 4],
    "layer_size": np.arange(1, 100),
    "learning_rate": reciprocal(1e-4, 1e-2),
  }
 
  # 3.執行超搜索參數
  # cross_validation:訓練集分成n份, n-1訓練, 最后一份驗證.
  random_search_cv = RandomizedSearchCV(sk_learn_model, param_distribution,
                     n_iter=10,
                     cv=3,
                     n_jobs=1)
  random_search_cv.fit(x_train_scaled, y_train, epochs=100,
             validation_data=(x_valid_scaled, y_valid),
             callbacks=callbacks)
  # 4.顯示超參數
  print(random_search_cv.best_params_)
  print(random_search_cv.best_score_)
  print(random_search_cv.best_estimator_)
 
  model = random_search_cv.best_estimator_.model
  print(model.evaluate(x_test_scaled, y_test))
 
  # 5.打印模型訓練過程
  plot_learning_curves(history)
 
 
if __name__ == '__main__':
  main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/weixin_45875105/article/details/104008975

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 成人av一区二区免费播放 | 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 国产精品久久久久久久久久 | 91热久久免费频精品黑人99 | 国产成人精品一区在线播放 | 黄色特级视频 | 日韩在线欧美在线 | 婷婷久久综合九色综合色多多蜜臀 | 在线观看免费精品 | 在线播放视频一区二区 | 久久久www视频 | 奇米888一区二区三区 | 久久久精品视频在线观看 | 毛片大全 | 成人羞羞国产免费游戏 | 久久久久久片 | 在线a毛片免费视频观看 | 日韩黄色片在线观看 | 一级大片在线观看 | 精国品产一区二区三区有限公司 | 国产噜噜噜 | 免费a视频在线观看 | 日本在线不卡一区二区 | 中文字幕在线观看视频www | 亚洲一区二区三区日本久久九 | 看av网址 | 精品影视一区二区 | 黄色网址免费进入 | 国产一区视频在线观看免费 | 色屁屁xxxxⅹ免费视频 | 成人一区二区三区在线 | 亚洲成人在线免费观看 | 日韩在线播放中文字幕 | 国产免费高清在线视频 | 国产精品欧美日韩一区二区 | 久久亚洲美女视频 | 精品一区二区在线播放 | 在线成人免费观看www | 亚洲精品aⅴ中文字幕乱码 中文字幕欧美在线 | 美女av在线免费观看 | 亚洲电影免费观看国语版 |