机器算法之sklearn工具(KNN算法)

KNN算法

在这里插入图片描述
在这里插入图片描述

代码示例

电影类型分类

在这里插入图片描述

import numpy as np
from sklearn.neighbors import  KNeighborsClassifier
import pandas as pd
# 分类,电影类别
# 动作 武打镜头:碟中谍6 、杀死比尔
# 爱情 接吻镜头:泰坦尼克号
# 属性:武打镜头、接吻镜头
# 量化:数量化、数字化
movie=pd.read_excel('./movies.xlsx',sheet_name=1)
data=movie.iloc[:,1:3]
target=movie['分类情况']
# 算法,训练
knn=KNeighborsClassifier(n_neighbors=5)
# 训练,学习,算法,知道数据和目标值什么样的关系
knn.fit(data,target)
# 预测,使用,应用

X_test=pd.DataFrame({
   '武打镜头':[100,67,1],'接吻镜头':[3,2,15]})
Y_test=knn.predict(X_test)
print (Y_test)

#结果
['动作片' '动作片' '爱情片']

鸢尾花数据分类


import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris=load_iris()
x=iris['data']
y=iris['target']
# 150代表着150个样本,4代表着4个属性:花萼长、宽,花瓣长、宽;
print(x.shape)
# 将数据划分,一分为二,一部分用于训练,一部分用于测试
#x_train,x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)
index=np.arange(150)
np.random.shuffle(index)
x_train,x_test=x[index[:100]],x[index[100:]]
y_train,y_test=y[index[:100]],y[index[100:]]
#n_neighbors为选取最近的邻居个数,
# weights表示每个邻居所占的权重,uniform表示每个邻居所占权重相同,distance表示距离越近权重越大
#p=1表示按照曼哈顿距离公式进行计算,p=2表示按照欧氏距离公式进行计算,默认=2
knn=KNeighborsClassifier(n_neighbors=5,weights='distance',p=2)
knn.fit(x_train,y_train)
y_=knn.predict(x_test
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值