從多種學習演算法中選擇最佳演算法模型

2021-10-01 17:58:21 字數 3271 閱讀 4710

#12.3 selecting best models from multiple learning algorithms

# 從多種學習演算法中選擇最佳模型

import numpy as np

from sklearn import datasets

from sklearn.linear_model import logisticregression

from sklearn.ensemble import randomforestclassifier

from sklearn.model_selection import gridsearchcv

from sklearn.pipeline import pipeline

# set random seed

# 設定隨機數種子

np.random.seed(0)

# load data 載入資料

iris = datasets.load_iris(

)features = iris.data

target = iris.target

# create a pipeline 建立管道

pipe = pipeline([(

"classifier"

, randomforestclassifier())

])# create dictionary with candidate learning algorithms and their hyperparameters

# 建立候選演算法和超引數的字典

search_space =[,

]# create grid search

gridsearch = gridsearchcv(pipe, search_space, cv=

5, verbose=1)

# fit grid search 執行網格搜尋

best_model = gridsearch.fit(features, target)

# view best model 檢視最佳模型

print

(best_model.best_estimator_.get_params()[

'classifier'])

# 使用最佳模型和引數進行**

best_model.predict(features)

# 從多種學習演算法中選擇最佳模型

import numpy as np

from sklearn import datasets

from sklearn.linear_model import logisticregression

from sklearn.ensemble import randomforestclassifier

from sklearn.model_selection import gridsearchcv

from sklearn.pipeline import pipeline

​# set random seed

# 設定隨機數種子

np.random.seed(0)

​# load data 載入資料

iris = datasets.load_iris(

)features = iris.data

target = iris.target

​# create a pipeline 建立管道

pipe = pipeline([(

"classifier"

, randomforestclassifier())

])​# create dictionary with candidate learning algorithms and their hyperparameters

# 建立候選演算法和超引數的字典

search_space =[,

]​# create grid search

gridsearch = gridsearchcv(pipe, search_space, cv=

5, verbose=1)

​# fit grid search 執行網格搜尋

best_model = gridsearch.fit(features, target)

​# view best model 檢視最佳模型

print

(best_model.best_estimator_.get_params()[

'classifier'])

# 使用最佳模型和引數進行**

best_model.predict(features)

array([0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,0

,0,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,2

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,2,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,1

,1,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2,2

,2])

type markdown and latex: α2α2

從多種解決方案中選擇最優方案

如果你問我軟體開發有什麼經驗的話,那麼我的一條經驗就是 盡可能設想多種解決方案,在多種解決方案中選擇一種代價較少的最優解決方案。比如今天解決了乙個問題便是這條經驗的乙個證明。今天我將乙個vc 6的工程轉為vs 2008工程,在編譯時遇到了問題,原因是裡面用到了乙個開源字串類 cstringex 它派...

Python中選擇排序及其演算法複雜度

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到全部待排序的資料元素排完。下圖為其演示圖 選擇排序...

從遞迴演算法開始學習

1 1 2 3 5 8.用遞迴演算法求第30位數的值?首先我們可以發現從第3位數起後一位數等於前兩位數值之和,即 x x 1 x 2 x 2 這裡需要不斷的相加,第一時刻就會想到迴圈處理,我們嘗試用陣列去裝載這些數值,即 int a new int 30 a 0 1 a 1 1 for int i ...