#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 ...