【机器学习 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)使用算法
• 略

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