一直以来,对于机器学习领域,
Python 是人们喜欢谈论的话题。你知道我们在使用python学习机器技术的时候,使用的方法和内容都和一般的一样吗?想必了解过的朋友一定知道是什么,不知道的朋友也不必担心。如果你正好是学习机器技术的,那么看看下面的内容,一定会对大家有所帮助~
一、
KNN算法
二、算法过程
1.读取数据集
2.处理数据集数据清洗,使用hold-out方法拆分数据集:训练集,测试集
三、
实现
KNN算法类:
1)遍历训练数据集,通过偏差平方和计算点与点之间的距离
2)对每个点的距离数组进行排序,根据输入的k值取对应的k个点
3)在k个点中,统计每个点出现的次数,权重是距离的导数,得到值。值的指标就是我们计算的判断类别
四、
kNN的python实现
import numpy as np
#一个最简单的KNN
class KNN():
def __init__(self):
self.model = {}#存储各个类别的训练样本的特征,key为类别标签,value是一个list,元素为样本的特征向量
self.training_sample_num = {}#存储训练数据中,各个类别的数量
#训练模型,输入是标签列表,和对应的输入数据列表
def fit(self, X, Y):
for i in range(len(Y)):
#将训练数据按照类别分组
if Y[i] in self.model:
self.model[Y[i]].append(X[i])
else:
self.model[Y[i]] = [X[i]]
#各个类别的样本总数
self.training_sample_num[Y[i]] = self.training_sample_num.get(Y[i], 0) + 1
#预测/判断一个样本的类别。这里模仿sklearn的风格,允许输入单个样本,也允许输入多个样本
嗯,这是关于分类算法的使用。如果你对机器学习很感兴趣,可以好好了解一下这些内容。
~
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中dev安装失败怎么办11/12
- ♥ python析构函数的底层机制11/02
- ♥ 如何理解Python的构造方法11/03
- ♥ MySQL为什么提示没有安装Python11/03
- ♥ Python中cProfile分析工具的使用12/03
- ♥ python3.6print的使用方法01/08
内容反馈