机器学习实战之knn算法pandas


Posted in Python onJune 22, 2019

机器学习实战之knn算法pandas,供大家参考,具体内容如下

开始学习机器学习实战这本书,打算看完了再回头看 周志华的 机器学习。机器学习实战的代码都是用numpy写的,有些麻烦,所以考虑用pandas来实现代码,也能回顾之前学的 用python进行数据分析。感觉目前章节的测试方法太渣,留着以后学了更多再回头写。

# coding: gbk
import pandas as pd
import numpy as np


def getdata(path):
 data = pd.read_csv(path, header=None, sep='\t')
 character = data.iloc[:, :-1]
 label = data.iloc[:, -1]
 chara_max = character.max()
 chara_min = character.min()
 chara_range = chara_max - chara_min
 normal_chara = (character - chara_min) / chara_range
 return normal_chara, label # 获得归一化特征值和标记


def knn(inX, normal_chara, label, k):
 data_sub = normal_chara - inX
 data_square = data_sub.applymap(np.square)
 data_sum = data_square.sum(axis=1)
 data_sqrt = data_sum.map(np.sqrt)
 dis_sort = data_sqrt.argsort()
 k_label = label[dis_sort[:k]]
 label_sort = k_label.value_counts()
 res_label = label_sort.index[0]
 return res_label # knn算法分类

小编为大家分享一段代码:机器学习--KNN基本实现

# _*_ coding _*_
import numpy as np
import math
import operator
 
def get_data(dataset):
 x = dataset[:,:-1].astype(np.float)
 y = dataset[:,-1]
 return x,y
# def cal_dis(a,b):
# x1,y1 = a[:]
# x2,y2 = b[:]
# dist = math.sqrt(math.pow(2,x2)-math.pow(2,x1))
 
def knnclassifer(dataset,predict,k=3):
 x,y = get_data(dataset)
 dic = {}
 distince = np.sum((predict-x)**2,axis=1)**0.5
 sorted_dict = np.argsort(distince)#[2 1 0 3 4]
 countLabel = {}
 for i in range(k):
 label = y[sorted_dict[i]]
 # print(i,sorted_dict[i],label)
 countLabel[label] = countLabel.get(label,0)+1
 new_dic = sorted(countLabel,key=operator.itemgetter(0),reverse=True)
 return new_dic[0][0]
 
if __name__ == '__main__':
 dataset = np.loadtxt("dataset.txt",dtype=np.str,delimiter=",")
 
 predict = [2,2]
 label = knnclassifer(dataset,predict,3)
 print(label)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取当前运行函数名称的方法实例代码
Apr 06 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
python3之模块psutil系统性能信息使用
May 30 Python
python最小生成树kruskal与prim算法详解
Jan 17 Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
Python如何输出警告信息
Jul 30 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
Pygame Rect区域位置的使用(图文)
Nov 17 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 #Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 #Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 #Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 #Python
十行代码使用Python写一个USB病毒
Jun 21 #Python
Python pandas DataFrame操作的实现代码
Jun 21 #Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 #Python
You might like
PHPCMS的使用小结
2010/09/20 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
python 求10个数的平均数实例
2019/12/16 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
小学信息技术教学反思
2014/02/10 职场文书
公证书标准格式
2014/04/10 职场文书
应届毕业生自荐信
2014/05/28 职场文书
给客户的检讨书
2014/12/21 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python