直奔主题:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/032decbbc2d3aa7912cd3596a5b31698.jpeg)
import numpy as np
import pandas as pd
data = pd.read_csv(r"iris.csv")
data["class"] = data["class"].map({
"Iris-virginica" : 0, "Iris-setosa" : 1,"Iris-versicolor" : 2})
datas = data.drop("sepallength",axis=1)
data.duplicated().any()
data.drop_duplicates(inplace=True)
data["class"].value_counts()
data
class KNN:
"""使用python语言实现k紧邻算法(实现分类)"""
def __init__(self,k):
"""初始化方法
-----
k : int
邻居的个数
"""
self.k = k
def fit(self,X,y):
"""训练方法
Parameters
-----
X:类型数据类型,形状为:[样本数量,特征数量]
待训练的样本特征(属性)
y:类数组类型:形状为:[样本数量] X的样本数量和y样本的数量要保持一致
每个样本的目标值(标签)
"""
self.X = np.asarray(X)
se