Python學習筆記-3群18組-2017.8.18

Lesson 21 KNN

監督學習(Supervised Learning)
從給定標注的訓練數據中學習出一個函數,根據這個函數為新數據進行標注

無監督學習(Unsupervised learning)
從給定無標注的訓練數據中學習出一個函數,根據這個函數為所有數據標注

分類(Classification)
分類算法通過對一只類別訓練數據集的分析,從中發現分類規則,以此預測新數據的類別,分類算法屬于監督學習

K近鄰分類算法
KNN 算法從訓練集中找到和新數據最接近的K條記錄,然后根據他們的主要分類來決定新數據的類別

交叉驗證(cross validation)
訓練集(Training set)
用來訓練模型或確定模型參數的數據集
測試集(testing set)
用來驗證模型準確性的數據集,但不保證模型的正確性

K折交叉驗證
設置K=10, 把原來的數據集隨機分成10分,分別為{D1, D2, ..., D10}
接著,使用D1作為測試集,{D2,D3,...,D10}作為訓練集,計算得分S1
繼續,使用D2作為測試集,{D1,D3,...,D10}作為訓練集,計算得分S2
......
最后,使用D10作為測試集,{D1,D2,...D9}作為訓練集,計算得分S10

API小結
neighbors.KNeighborsClassifier KNN模型

  • knnModel = neighbors.KNeighborsClassifier(n_neighbors=5)
    n_neighbors: 分類的個數
    return: KNN模型
  • knnModel.fit(tData, tTarget) KNN訓練方法
    tData: 訓練數據的屬性數據
    tTarget: 訓練數據的目標數據
  • knnModel.score(sData, sTarget) KNN評分方法
    sData: 測試數據的屬性數據
    sTarget: 測試數據的目標數據
  • knnModel.predict(pData) KNN預測方法
    pData: 需要預測的屬性數據
    return: 模型預測結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容