"""用knn演算法對鳶尾花進行分類---網格搜尋交叉驗證
:return:
"""#1 獲取資料
iris=load_iris()
#2 劃分資料集
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,random_state=5)
#3 特徵抽取 :標準化
transfer=standardscaler()
x_train=transfer.fit_transform(x_train)
#跟測試集做一樣的處理
x_test=transfer.transform(x_test)
#4 knn演算法預估器
estimator=kneighborsclassifier()
#加入網格搜尋與交叉驗證
param_dit=
estimator=gridsearchcv(estimator,param_grid=param_dit,cv=10)
estimator.fit(x_train,y_train)
#5 模型評估
# 方法1 直接比對真實值和**值
y_predict=estimator.predict(x_test)
print("y_predict:\n",y_predict)
print("直接比對真實值和**值:\n",y_test==y_predict)
# 方法2 計算準確率
score=estimator.score(x_test,y_test)
print("準確率:\n",score)
print("最佳引數:\n",estimator.best_params_)
print("最佳結果:\n", estimator.best_score_)
print("最佳估計器:\n", estimator.best_estimator_)
if __name__ == '__main__':
know_iris()
機器學習之模型選擇與調優
交叉驗證 將拿到的訓練資料,分為訓練和驗證集。以下圖為例 將資料分成5份,其中乙份作為驗證集。然後經過5次 組 的測試,每次都更換不同的驗證集。即得到5組模型的結果,取平均值作為最終結果。又稱5折交叉驗證。五折交叉驗證,就是分成5份,三份訓練,乙份驗證,乙份測試 我們之前知道資料分為訓練集和測試集,...
機器學習之模型的選擇與調優
交叉驗證 將拿到的資料,分為訓練和驗證集。以下圖為例 將資料分成4份,其中乙份作為驗證集。然後經過4次 組 的測試,每次都更換不同的驗證集。即得到4組模型的結果,取平均值作為最終結果。又稱4折交叉驗證。通常情況下,有很多引數是需要手動指定的 如k 近鄰演算法中的k值 這種叫超引數。但是手動過程繁雜,...
Spark機器學習 模型選擇與引數調優之交叉驗證
機器學習可以簡單的歸納為 通過資料訓練y f x 的過程,因此定義完訓練模型之後,就需要考慮如何選擇最終我們認為最優的模型。如何選擇最優的模型,就是本篇的主要內容 在 統計學習方法 這本書中,曾經講過模型驗證的方法有三種,分別是簡單的交叉驗證,s折交叉驗證,留一交叉驗證 即把全部資料按照比例分割成兩...