【機器學習 3】KNN算法實現梳理- Be based on“約會對象”、“手寫識別”

• (1)收集數據
• 提供的文本文件
• (2)準備數據
• 格式轉換
• 將源文件格式化處理爲可處理的向量,如:手寫識別系統
• 處理源文件格式,比如存在大量空格、雜亂符號等,需要進行去除、重新排序
• 例:strip()-刪除空格,並在刪除點處進行標記;split(“\t”),在刪除點處用空格進行劃分
• 文件讀取
• int/float等數字格式的文本文件
• 創建同形狀的返回矩陣(0矩陣……),readlines逐行逐元素填充
• pandas庫,pd.read_*(filename)函數
• table, txt, csv, excel, sql, json……etc
• str文本文件
• Pandas讀取
• 讀取方法(假設有特徵和index,table格式)
• df=pd.read_table(‘gini_disitionTree.txt’) # 讀取
• data=df.values[:,1:].tolist() #.tolist() 將DataFram轉化爲List
• labels=df.columns.values[1:-1].tolist() # 掐頭去尾,保留中部標籤
• (3)分析數據
• 檢查數據是否符合我們的要求
• 當數據量極大時,剔除那些顯而易見的無用特徵值
• (4)訓練算法
• 此步驟不適用與k-鄰近算法
• (5)測試算法
• classify(datingTest,dataSet,labels,k),選取數據集中的部分數據用來測試或是尋找其他測試集
• 測試算法的正確率
• (6)使用算法
• 略

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章