国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】

這篇具有很好參考價(jià)值的文章主要介紹了【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

機(jī)器學(xué)習(xí)(算法篇)完整教程(附代碼資料)主要內(nèi)容講述:機(jī)器學(xué)習(xí)算法課程定位、目標(biāo),K-近鄰算法定位,目標(biāo),學(xué)習(xí)目標(biāo),1 什么是K-近鄰算法,1 Scikit-learn工具介紹,2 K-近鄰算法API。K-近鄰算法,1.4 k值的選擇學(xué)習(xí)目標(biāo),學(xué)習(xí)目標(biāo),1 kd樹簡(jiǎn)介,2 構(gòu)造方法,3 案例分析,4 總結(jié)。K-近鄰算法,1.6 案例:鳶尾花種類預(yù)測(cè)--數(shù)據(jù)集介紹學(xué)習(xí)目標(biāo),1 案例:鳶尾花種類預(yù)測(cè),2 scikit-learn中數(shù)據(jù)集介紹,1 什么是特征預(yù)處理,2 歸一化,3 標(biāo)準(zhǔn)化。K-近鄰算法,1.8 案例:鳶尾花種類預(yù)測(cè)—流程實(shí)現(xiàn)學(xué)習(xí)目標(biāo),1 再識(shí)K-近鄰算法API,2 案例:鳶尾花種類預(yù)測(cè),總結(jié),1 什么是交叉驗(yàn)證(cross validation),2 什么是網(wǎng)格搜索(Grid Search)。線性回歸,2.1 線性回歸簡(jiǎn)介學(xué)習(xí)目標(biāo),1 線性回歸應(yīng)用場(chǎng)景,2 什么是線性回歸,1 線性回歸API,2 舉例,1 常見函數(shù)的導(dǎo)數(shù)。線性回歸,2.6 梯度下降法介紹學(xué)習(xí)目標(biāo),1 全梯度下降算法(FG),2 隨機(jī)梯度下降算法(SG),3 小批量梯度下降算法(mini-bantch),4 隨機(jī)平均梯度下降算法(SAG),5 算法比較。線性回歸,2.8 欠擬合和過擬合學(xué)習(xí)目標(biāo),1 定義,2 原因以及解決辦法,3 正則化,4 維災(zāi)難【拓展知識(shí)】。線性回歸,2.9 正則化線性模型學(xué)習(xí)目標(biāo),1 Ridge Regression (嶺回歸,又名 Tikhonov regularization),2 Lasso Regression(Lasso 回歸),3 Elastic Net (彈性網(wǎng)絡(luò)),4 Early Stopping [了解],1 API。邏輯回歸,3.4 分類評(píng)估方法學(xué)習(xí)目標(biāo),1.分類評(píng)估方法,2 ROC曲線與AUC指標(biāo),3 總結(jié),1 曲線繪制,2 意義解釋。決策樹算法,4.4 特征工程-特征提取學(xué)習(xí)目標(biāo),1 特征提取,2 字典特征提取,3 文本特征提取。決策樹算法,4.5 決策樹算法api學(xué)習(xí)目標(biāo),1 泰坦尼克號(hào)數(shù)據(jù),2 步驟分析,3 代碼過程,3 決策樹可視化,學(xué)習(xí)目標(biāo)。集成學(xué)習(xí),5.3 Boosting學(xué)習(xí)目標(biāo),1.boosting集成原理,2 GBDT(了解),3.XGBoost【了解】,4 什么是泰勒展開式【拓展】,學(xué)習(xí)目標(biāo)。聚類算法,6.4 模型評(píng)估學(xué)習(xí)目標(biāo),1 誤差平方和(SSE \The sum of squares due to error):,2 “肘”方法 (Elbow method) — K值確定,3 輪廓系數(shù)法(Silhouette Coefficient),4 CH系數(shù)(Calinski-Harabasz Index),5 總結(jié)。聚類算法,6.6 特征降維學(xué)習(xí)目標(biāo),1 降維,2 特征選擇,3 主成分分析,1 需求,2 分析。

全套筆記資料代碼移步: 前往gitee倉庫查看

感興趣的小伙伴可以自取哦,歡迎大家點(diǎn)贊轉(zhuǎn)發(fā)~


全套教程部分目錄:

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python


部分文件圖片:

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

K-近鄰算法

學(xué)習(xí)目標(biāo)

  • 掌握K-近鄰算法實(shí)現(xiàn)過程
  • 知道K-近鄰算法的距離公式
  • 知道K-近鄰算法的超參數(shù)K值以及取值問題
  • 知道kd樹實(shí)現(xiàn)搜索的過程
  • 應(yīng)用KNeighborsClassifier實(shí)現(xiàn)分類
  • 知道K-近鄰算法的優(yōu)缺點(diǎn)
  • 知道交叉驗(yàn)證實(shí)現(xiàn)過程
  • 知道超參數(shù)搜索過程
  • 應(yīng)用GridSearchCV實(shí)現(xiàn)算法參數(shù)的調(diào)優(yōu)

1.8 案例:鳶尾花種類預(yù)測(cè)—流程實(shí)現(xiàn)

1 再識(shí)K-近鄰算法API

  • sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')

  • n_neighbors:

    • int,可選(默認(rèn)= 5),k_neighbors查詢默認(rèn)使用的鄰居數(shù)
  • algorithm:{‘a(chǎn)uto’,‘ball_tree’,‘kd_tree’,‘brute’}

    • 快速k近鄰搜索算法,默認(rèn)參數(shù)為auto,可以理解為算法自己決定合適的搜索算法。除此之外,用戶也可以自己指定搜索算法ball_tree、kd_tree、brute方法進(jìn)行搜索,

      • brute是蠻力搜索,也就是線性掃描,當(dāng)訓(xùn)練集很大時(shí),計(jì)算非常耗時(shí)。
      • kd_tree,構(gòu)造kd樹存儲(chǔ)數(shù)據(jù)以便對(duì)其進(jìn)行快速檢索的樹形數(shù)據(jù)結(jié)構(gòu),kd樹也就是數(shù)據(jù)結(jié)構(gòu)中的二叉樹。以中值切分構(gòu)造的樹,每個(gè)結(jié)點(diǎn)是一個(gè)超矩形,在維數(shù)小于20時(shí)效率高。
      • ball tree是為了克服kd樹高緯失效而發(fā)明的,其構(gòu)造過程是以質(zhì)心C和半徑r分割樣本空間,每個(gè)節(jié)點(diǎn)是一個(gè)超球體。

2 案例:鳶尾花種類預(yù)測(cè)

2.1 數(shù)據(jù)集介紹

Iris數(shù)據(jù)集是常用的分類實(shí)驗(yàn)數(shù)據(jù)集,由Fisher, 1936收集整理。Iris也稱鳶尾花卉數(shù)據(jù)集,是一類多重變量分析的數(shù)據(jù)集。關(guān)于數(shù)據(jù)集的具體介紹:

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

2.2 步驟分析

  • 1.獲取數(shù)據(jù)集
  • 2.數(shù)據(jù)基本處理
  • 3.特征工程
  • 4.機(jī)器學(xué)習(xí)(模型訓(xùn)練)
  • 5.模型評(píng)估

2.3 代碼過程

  • 導(dǎo)入模塊
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
  • 先從sklearn當(dāng)中獲取數(shù)據(jù)集,然后進(jìn)行數(shù)據(jù)集的分割
# 1.獲取數(shù)據(jù)集


iris = load_iris()



# 2.數(shù)據(jù)基本處理




# x_train,x_test,y_train,y_test為訓(xùn)練集特征值、測(cè)試集特征值、訓(xùn)練集目標(biāo)值、測(cè)試集目標(biāo)值


x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
  • 進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化

  • 特征值的標(biāo)準(zhǔn)化

# 3、特征工程:標(biāo)準(zhǔn)化


transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
  • 模型進(jìn)行訓(xùn)練預(yù)測(cè)
# 4、機(jī)器學(xué)習(xí)(模型訓(xùn)練)


estimator = KNeighborsClassifier(n_neighbors=9)
estimator.fit(x_train, y_train)


# 5、模型評(píng)估




# 方法1:比對(duì)真實(shí)值和預(yù)測(cè)值


y_predict = estimator.predict(x_test)
print("預(yù)測(cè)結(jié)果為:\n", y_predict)
print("比對(duì)真實(shí)值和預(yù)測(cè)值:\n", y_predict == y_test)


# 方法2:直接計(jì)算準(zhǔn)確率


score = estimator.score(x_test, y_test)
print("準(zhǔn)確率為:\n", score)

1.9 練一練

同學(xué)之間討論剛才完成的機(jī)器學(xué)習(xí)代碼,并且確保在自己的電腦是哪個(gè)運(yùn)行成功

總結(jié)

  • 在本案例中,具體完成內(nèi)容有:
  • 使用可視化加載和探索數(shù)據(jù),以確定特征是否能將不同類別分開。

  • 通過標(biāo)準(zhǔn)化數(shù)字特征并隨機(jī)抽樣到訓(xùn)練集和測(cè)試集來準(zhǔn)備數(shù)據(jù)。
  • 通過統(tǒng)計(jì)學(xué),精確度度量進(jìn)行構(gòu)建和評(píng)估機(jī)器學(xué)習(xí)模型。

  • k近鄰算法總結(jié)
  • 優(yōu)點(diǎn):
    • 簡(jiǎn)單有效
    • 重新訓(xùn)練的代價(jià)低
    • 適合類域交叉樣本

      • KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對(duì)于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
    • 適合大樣本自動(dòng)分類

      • 該算法比較適用于樣本容量比較大的類域的自動(dòng)分類,而那些樣本容量較小的類域采用這種算法比較容易產(chǎn)生誤分。
  • 缺點(diǎn):
    • 惰性學(xué)習(xí)

      • KNN算法是懶散學(xué)習(xí)方法(lazy learning,基本上不學(xué)習(xí)),一些積極學(xué)習(xí)的算法要快很多
    • 類別評(píng)分不是規(guī)格化

      • 不像一些通過概率評(píng)分的分類
    • 輸出可解釋性不強(qiáng)

      • 例如決策樹的輸出可解釋性就較強(qiáng)
    • 對(duì)不均衡的樣本不擅長

      • 當(dāng)樣本不平衡時(shí),如一個(gè)類的樣本容量很大,而其他類樣本容量很小時(shí),有可能導(dǎo)致當(dāng)輸入一個(gè)新樣本時(shí),該樣本的K個(gè)鄰居中大容量類的樣本占多數(shù)。該算法只計(jì)算“最近的”鄰居樣本,某一類的樣本數(shù)量很大,那么或者這類樣本并不接近目標(biāo)樣本,或者這類樣本很靠近目標(biāo)樣本。無論怎樣,數(shù)量并不能影響運(yùn)行結(jié)果??梢圆捎脵?quán)值的方法(和該樣本距離小的鄰居權(quán)值大)來改進(jìn)。
    • 計(jì)算量較大

      • 目前常用的解決方法是事先對(duì)已知樣本點(diǎn)進(jìn)行剪輯,事先去除對(duì)分類作用不大的樣本。

1.10 交叉驗(yàn)證,網(wǎng)格搜索

1 什么是交叉驗(yàn)證(cross validation)

交叉驗(yàn)證:將拿到的訓(xùn)練數(shù)據(jù),分為訓(xùn)練和驗(yàn)證集。以下圖為例:將數(shù)據(jù)分成4份,其中一份作為驗(yàn)證集。然后經(jīng)過4次(組)的測(cè)試,每次都更換不同的驗(yàn)證集。即得到4組模型的結(jié)果,取平均值作為最終結(jié)果。又稱4折交叉驗(yàn)證。

1.1 分析

我們之前知道數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,但是為了讓從訓(xùn)練得到模型結(jié)果更加準(zhǔn)確。做以下處理

  • 訓(xùn)練集:訓(xùn)練集+驗(yàn)證集
  • 測(cè)試集:測(cè)試集

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

1.2 為什么需要交叉驗(yàn)證

交叉驗(yàn)證目的:為了讓被評(píng)估的模型更加準(zhǔn)確可信

問題:那么這個(gè)只是對(duì)于參數(shù)得出更好的結(jié)果,那么怎么選擇或者調(diào)優(yōu)參數(shù)呢?

2 什么是網(wǎng)格搜索(Grid Search)

通常情況下,有很多參數(shù)是需要手動(dòng)指定的(如k-近鄰算法中的K值),這種叫超參數(shù)。但是手動(dòng)過程繁雜,所以需要對(duì)模型預(yù)設(shè)幾種超參數(shù)組合。每組超參數(shù)都采用交叉驗(yàn)證來進(jìn)行評(píng)估。最后選出最優(yōu)參數(shù)組合建立模型。

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

3 交叉驗(yàn)證,網(wǎng)格搜索(模型選擇與調(diào)優(yōu))API:

  • sklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)

  • 對(duì)估計(jì)器的指定參數(shù)值進(jìn)行詳盡搜索

  • estimator:估計(jì)器對(duì)象
  • param_grid:估計(jì)器參數(shù)(dict){“n_neighbors”:[1,3,5]}
  • cv:指定幾折交叉驗(yàn)證
  • fit:輸入訓(xùn)練數(shù)據(jù)
  • score:準(zhǔn)確率
  • 結(jié)果分析:

    • bestscore__:在交叉驗(yàn)證中驗(yàn)證的最好結(jié)果
    • bestestimator:最好的參數(shù)模型
    • cvresults:每次交叉驗(yàn)證后的驗(yàn)證集準(zhǔn)確率結(jié)果和訓(xùn)練集準(zhǔn)確率結(jié)果

4 鳶尾花案例增加K值調(diào)優(yōu)

  • 使用GridSearchCV構(gòu)建估計(jì)器
# 1、獲取數(shù)據(jù)集


iris = load_iris()


# 2、數(shù)據(jù)基本處理 -- 劃分?jǐn)?shù)據(jù)集


x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22)


# 3、特征工程:標(biāo)準(zhǔn)化




# 實(shí)例化一個(gè)轉(zhuǎn)換器類


transfer = StandardScaler()


# 調(diào)用fit_transform


x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)


# 4、KNN預(yù)估器流程




#  4.1 實(shí)例化預(yù)估器類


estimator = KNeighborsClassifier()



# 4.2 模型選擇與調(diào)優(yōu)——網(wǎng)格搜索和交叉驗(yàn)證




# 準(zhǔn)備要調(diào)的超參數(shù)


param_dict = {"n_neighbors": [1, 3, 5]}
estimator = GridSearchCV(estimator, param_grid=param_dict, cv=3)


# 4.3 fit數(shù)據(jù)進(jìn)行訓(xùn)練


estimator.fit(x_train, y_train)


# 5、評(píng)估模型效果




# 方法a:比對(duì)預(yù)測(cè)結(jié)果和真實(shí)值


y_predict = estimator.predict(x_test)
print("比對(duì)預(yù)測(cè)結(jié)果和真實(shí)值:\n", y_predict == y_test)


# 方法b:直接計(jì)算準(zhǔn)確率


score = estimator.score(x_test, y_test)
print("直接計(jì)算準(zhǔn)確率:\n", score)
  • 然后進(jìn)行評(píng)估查看最終選擇的結(jié)果和交叉驗(yàn)證的結(jié)果
print("在交叉驗(yàn)證中驗(yàn)證的最好結(jié)果:\n", estimator.best_score_)
print("最好的參數(shù)模型:\n", estimator.best_estimator_)
print("每次交叉驗(yàn)證后的準(zhǔn)確率結(jié)果:\n", estimator.cv_results_)
  • 最終結(jié)果
比對(duì)預(yù)測(cè)結(jié)果和真實(shí)值:
 [ True  True  True  True  True  True  True False  True  True  True  True
  True  True  True  True  True  True False  True  True  True  True  True
  True  True  True  True  True  True  True  True  True  True  True  True
  True  True]
直接計(jì)算準(zhǔn)確率:
 0.947368421053
在交叉驗(yàn)證中驗(yàn)證的最好結(jié)果:
 0.973214285714
最好的參數(shù)模型:
 KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=1, n_neighbors=5, p=2,
           weights='uniform')
每次交叉驗(yàn)證后的準(zhǔn)確率結(jié)果:
 {'mean_fit_time': array([ 0.00114751,  0.00027037,  0.00024462]), 'std_fit_time': array([  1.13901511e-03,   1.25300249e-05,   1.11011951e-05]), 'mean_score_time': array([ 0.00085751,  0.00048693,  0.00045625]), 'std_score_time': array([  3.52785082e-04,   2.87650037e-05,   5.29673344e-06]), 'param_n_neighbors': masked_array(data = [1 3 5],
             mask = [False False False],
       fill_value = ?)
, 'params': [{'n_neighbors': 1}, {'n_neighbors': 3}, {'n_neighbors': 5}], 'split0_test_score': array([ 0.97368421,  0.97368421,  0.97368421]), 'split1_test_score': array([ 0.97297297,  0.97297297,  0.97297297]), 'split2_test_score': array([ 0.94594595,  0.89189189,  0.97297297]), 'mean_test_score': array([ 0.96428571,  0.94642857,  0.97321429]), 'std_test_score': array([ 0.01288472,  0.03830641,  0.00033675]), 'rank_test_score': array([2, 3, 1], dtype=int32), 'split0_train_score': array([ 1.        ,  0.95945946,  0.97297297]), 'split1_train_score': array([ 1.        ,  0.96      ,  0.97333333]), 'split2_train_score': array([ 1.  ,  0.96,  0.96]), 'mean_train_score': array([ 1.        ,  0.95981982,  0.96876877]), 'std_train_score': array([ 0.        ,  0.00025481,  0.0062022 ])}

1.11 案例2:預(yù)測(cè)facebook簽到位置

1 數(shù)據(jù)集介紹

【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】,機(jī)器學(xué)習(xí),python筆記,人工智能,機(jī)器學(xué)習(xí),python,人工智能,算法,python

數(shù)據(jù)介紹:將根據(jù)用戶的位置,準(zhǔn)確性和時(shí)間戳預(yù)測(cè)用戶正在查看的業(yè)務(wù)。

train.csv,test.csv 
row_id:登記事件的ID
xy:坐標(biāo)
準(zhǔn)確性:定位準(zhǔn)確性 
時(shí)間:時(shí)間戳
place_id:業(yè)務(wù)的ID,這是您預(yù)測(cè)的目標(biāo)

官網(wǎng):[

2 步驟分析

  • 對(duì)于數(shù)據(jù)做一些基本處理(這里所做的一些處理不一定達(dá)到很好的效果,我們只是簡(jiǎn)單嘗試,有些特征我們可以根據(jù)一些特征選擇的方式去做處理)

  • 1 縮小數(shù)據(jù)集范圍 DataFrame.query()

  • 2 選取有用的時(shí)間特征

  • 3 將簽到位置少于n個(gè)用戶的刪除

  • 分割數(shù)據(jù)集

  • 標(biāo)準(zhǔn)化處理

  • k-近鄰預(yù)測(cè)文章來源地址http://www.zghlxwxcb.cn/news/detail-849078.html

3 代碼過程

  • 1.獲取數(shù)據(jù)集
# 1、獲取數(shù)據(jù)集


facebook = pd.read_csv("./data/FBlocation/train.csv")
  • 2.基本數(shù)據(jù)處理
# 2.基本數(shù)據(jù)處理




# 2.1 縮小數(shù)據(jù)范圍


facebook_data = facebook.query("x>2.0 & x<2.5 & y>2.0 & y<2.5")


# 2.2 選擇時(shí)間特征


time = pd.to_datetime(facebook_data["time"], unit="s")
time = pd.DatetimeIndex(time)
facebook_data["day"] = time.day
facebook_data["hour"] = time.hour
facebook_data["weekday"] = time.weekday


# 2.3 去掉簽到較少的地方


place_count = facebook_data.groupby("place_id").count()
place_count = place_count[place_count["row_id"]>3]
facebook_data = facebook_data[facebook_data["place_id"].isin(place_count.index)]


# 2.4 確定特征值和目標(biāo)值


x = facebook_data[["x", "y", "accuracy", "day", "hour", "weekday"]]
y = facebook_data["place_id"]


# 2.5 分割數(shù)據(jù)集


x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=22)
  • 特征工程--特征預(yù)處理(標(biāo)準(zhǔn)化)
# 3.特征工程--特征預(yù)處理(標(biāo)準(zhǔn)化)




# 3.1 實(shí)例化一個(gè)轉(zhuǎn)換器


transfer = StandardScaler()


# 3.2 調(diào)用fit_transform


x_train = transfer.fit_transform(x_train)
x_test = transfer.fit_transform(x_test)
  • 機(jī)器學(xué)習(xí)--knn+cv
# 4.機(jī)器學(xué)習(xí)--knn+cv




# 4.1 實(shí)例化一個(gè)估計(jì)器


estimator = KNeighborsClassifier()


# 4.2 調(diào)用gridsearchCV


param_grid = {"n_neighbors": [1, 3, 5, 7, 9]}
estimator = GridSearchCV(estimator, param_grid=param_grid, cv=5)


# 4.3 模型訓(xùn)練


estimator.fit(x_train, y_train)
  • 模型評(píng)估
# 5.模型評(píng)估




# 5.1 基本評(píng)估方式


score = estimator.score(x_test, y_test)
print("最后預(yù)測(cè)的準(zhǔn)確率為:\n", score)

y_predict = estimator.predict(x_test)
print("最后的預(yù)測(cè)值為:\n", y_predict)
print("預(yù)測(cè)值和真實(shí)值的對(duì)比情況:\n", y_predict == y_test)



# 5.2 使用交叉驗(yàn)證后的評(píng)估方式


print("在交叉驗(yàn)證中驗(yàn)證的最好結(jié)果:\n", estimator.best_score_)
print("最好的參數(shù)模型:\n", estimator.best_estimator_)
print("每次交叉驗(yàn)證后的驗(yàn)證集準(zhǔn)確率結(jié)果和訓(xùn)練集準(zhǔn)確率結(jié)果:\n",estimator.cv_results_)

未完待續(xù), 同學(xué)們請(qǐng)等待下一期

全套筆記資料代碼移步: 前往gitee倉庫查看

感興趣的小伙伴可以自取哦,歡迎大家點(diǎn)贊轉(zhuǎn)發(fā)~

到了這里,關(guān)于【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)創(chuàng)建算法第4篇:K-近鄰算法,學(xué)習(xí)目標(biāo)【附代碼文檔】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 用K近鄰(KNN)機(jī)器學(xué)習(xí)算法進(jìn)行股票走勢(shì)預(yù)測(cè)-Python

    用K近鄰(KNN)機(jī)器學(xué)習(xí)算法進(jìn)行股票走勢(shì)預(yù)測(cè)-Python

    K近鄰(KNN,K-Nearest Neighbors)是最簡(jiǎn)單的機(jī)器學(xué)習(xí)算法之一,可用于回歸和分類。KNN是一種“惰性”學(xué)習(xí)算法,從技術(shù)上講,它不訓(xùn)練模型來進(jìn)行預(yù)測(cè)。K近鄰的邏輯是,假設(shè)有一個(gè)觀測(cè)值,這個(gè)觀測(cè)值被預(yù)測(cè)屬于離它k個(gè)最近觀測(cè)值中所占比例最大的那一個(gè)類。KNN方法是直接嘗試

    2024年02月04日
    瀏覽(24)
  • 【機(jī)器學(xué)習(xí)】科學(xué)庫使用第2篇:機(jī)器學(xué)習(xí)概述,學(xué)習(xí)目標(biāo)【附代碼文檔】

    機(jī)器學(xué)習(xí)(科學(xué)計(jì)算庫)完整教程(附代碼資料)主要內(nèi)容講述:機(jī)器學(xué)習(xí)(常用科學(xué)計(jì)算庫的使用)基礎(chǔ)定位、目標(biāo),機(jī)器學(xué)習(xí)概述定位,目標(biāo),學(xué)習(xí)目標(biāo),學(xué)習(xí)目標(biāo)。機(jī)器學(xué)習(xí)概述,1.3 人工智能主要分支學(xué)習(xí)目標(biāo),學(xué)習(xí)目標(biāo),1 主要分支介紹,2 小結(jié)。機(jī)器學(xué)習(xí)概述,1.5 機(jī)器學(xué)習(xí)

    2024年03月20日
    瀏覽(17)
  • python機(jī)器學(xué)習(xí)——分類模型評(píng)估 & 分類算法(k近鄰,樸素貝葉斯,決策樹,隨機(jī)森林,邏輯回歸,svm)

    python機(jī)器學(xué)習(xí)——分類模型評(píng)估 & 分類算法(k近鄰,樸素貝葉斯,決策樹,隨機(jī)森林,邏輯回歸,svm)

    交叉驗(yàn)證:為了讓被評(píng)估的模型更加準(zhǔn)確可信 交叉驗(yàn)證:將拿到的數(shù)據(jù),分為訓(xùn)練和驗(yàn)證集。以下圖為例:將數(shù)據(jù)分成5份,其中一份作為驗(yàn)證集。然后經(jīng)過5次(組)的測(cè)試,每次都更換不同的驗(yàn)證集。即得到5組模型的結(jié)果,取平均值作為最終結(jié)果。又稱5折交叉驗(yàn)證。 通常情

    2024年02月03日
    瀏覽(31)
  • 機(jī)器學(xué)習(xí)-k-近鄰算法

    機(jī)器學(xué)習(xí)-k-近鄰算法

    k-近鄰算法是一種常用的監(jiān)督學(xué)習(xí)算法,用于分類和回歸任務(wù)。其思想為:如果一個(gè)樣本在特征空間中的k個(gè)最近鄰居中的大多數(shù)屬于某個(gè)類別,那么該樣本也屬于這個(gè)類別(對(duì)于分類任務(wù))或者可以通過這些最近鄰居的標(biāo)簽來估計(jì)其目標(biāo)值(對(duì)于回歸任務(wù))。 通過計(jì)算兩點(diǎn)之

    2024年02月09日
    瀏覽(15)
  • 【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】K- 近鄰算法(KNN算法)

    【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】K- 近鄰算法(KNN算法)

    K-近鄰算法 ,又稱為? KNN 算法 ,是數(shù)據(jù)挖掘技術(shù)中原理最簡(jiǎn)單的算法。 KNN ?的工作原理:給定一個(gè)已知類別標(biāo)簽的數(shù)據(jù)訓(xùn)練集,輸入沒有標(biāo)簽的新數(shù)據(jù)后,在訓(xùn)練數(shù)據(jù)集中找到與新數(shù)據(jù)最臨近的 K 個(gè)實(shí)例。如果這 K 個(gè)實(shí)例的多數(shù)屬于某個(gè)類別,那么新數(shù)據(jù)就屬于這個(gè)類別。

    2023年04月20日
    瀏覽(18)
  • 機(jī)器學(xué)習(xí)——K近鄰(KNN)算法

    機(jī)器學(xué)習(xí)——K近鄰(KNN)算法

    目錄 一、knn算法概述 1.簡(jiǎn)單介紹 2.工作原理 3.knn算法中常用的距離指標(biāo) 4.knn算法優(yōu)勢(shì) 5.knn算法一般流程 二、knn算法經(jīng)典實(shí)例——海倫約會(huì)網(wǎng)站 三、關(guān)于天氣和旅行適合度的例子 四、總結(jié) K近鄰算法(KNN)是一種用于分類和回歸的統(tǒng)計(jì)方法。k-近鄰算法采用測(cè)量不同特征值之

    2024年01月16日
    瀏覽(17)
  • 機(jī)器學(xué)習(xí)——K最近鄰算法(KNN)

    機(jī)器學(xué)習(xí)——K最近鄰算法(KNN)

    機(jī)器學(xué)習(xí)——K最近鄰算法(KNN) 在傳統(tǒng)機(jī)器學(xué)習(xí)中,KNN算法是一種基于實(shí)例的學(xué)習(xí)算法,能解決分類和回歸問題,而本文將介紹一下KNN即K最近鄰算法。 K最近鄰(KNN)算法是一種基于實(shí)例的學(xué)習(xí)算法,用于分類和回歸問題。它的原理是 根據(jù)樣本之間的距離來進(jìn)行預(yù)測(cè) 。 核

    2024年02月09日
    瀏覽(18)
  • 【機(jī)器學(xué)習(xí)】分類算法 - KNN算法(K-近鄰算法)KNeighborsClassifier

    「作者主頁」: 士別三日wyx 「作者簡(jiǎn)介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 對(duì)網(wǎng)絡(luò)安全感興趣的小伙伴可以關(guān)注專欄《網(wǎng)絡(luò)安全入門到精通》 is_array() 可以 「檢測(cè)」 變量是不是 「數(shù)組」 類型。 語法 參數(shù) $var :需要檢

    2024年02月16日
    瀏覽(27)
  • 快速了解—機(jī)器學(xué)習(xí)、K-近鄰算法及其API

    快速了解—機(jī)器學(xué)習(xí)、K-近鄰算法及其API

    一、ML機(jī)器學(xué)習(xí)(Machine Learning) 1、應(yīng)用領(lǐng)域:數(shù)據(jù)挖掘、自然語言處理 NLP、計(jì)算機(jī)視覺 CV等。 2、發(fā)展的 三要素 :數(shù)據(jù)、算法、算力 3、相關(guān)術(shù)語 機(jī)器學(xué)習(xí)模型 = 數(shù)據(jù) + 算法 數(shù)據(jù) :用于訓(xùn)練模型 ????????樣本(sample):一行數(shù)據(jù) ????????特征(feature):一列數(shù)據(jù)

    2024年01月23日
    瀏覽(14)
  • 機(jī)器學(xué)習(xí)算法:K近鄰(k-nearest neighbors)初探

    機(jī)器學(xué)習(xí)算法:K近鄰(k-nearest neighbors)初探

    KNN的介紹和應(yīng)用 KNN(K-Nearest Neighbor)算法是一種基于實(shí)例的學(xué)習(xí)算法,也是一種常見的分類算法。 如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別。 示例 :如上圖,綠色圓要被決定賦予哪個(gè)類,是紅

    2023年04月08日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包