问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

自定义模块kNN.py中定义了一个函数classify0,但主程序调用时总提示...

发布网友 发布时间:2022-05-02 03:50

我来回答

3个回答

热心网友 时间:2022-04-18 18:42

蛋疼的公司网络,看不到图片。 首先确认下是否import成功了 比如你 import kNN那你调用的时候要写 kNN.classify0不然就写 from kNN import *然后就可以直接调用了 (默认你放在同个目录下)

热心网友 时间:2022-04-18 20:00

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/1/19 14:33
# @Author : GanZiB
# @Email : ganzib4fun@163.com
# @Site :
# @File : kNN.py
# @Software: PyCharm
from numpy import *
import operator
import matplotlib
import matplotlib.pylab as plt

def createDataSet():
group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]])
labels = ['A', 'A', 'B', 'B']
return group, labels

def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0]
diffMat = tile(inX, (dataSetSize, 1)) - dataSet
sqDiffMat = diffMat ** 2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances ** 0.5
sortedDisIndicies = distances.argsort()
classCount = {}
for i in range(k):
voteIlabel = labels[sortedDisIndicies[i]]
classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1
sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
return sortedClassCount[0][0]

def file2matrix(filename):
fr = open(filename)
arrayOLines = fr.readlines()
numberOfLines = len(arrayOLines)
returnMat = zeros((numberOfLines, 3))
classLabelVector = []
index = 0
for line in arrayOLines:
line = line.strip()
listFromLine = line.split('\t')
try:
returnMat[index, :] = listFromLine[0:3]
except BaseException as e:
pass
classLabelVector.append(int(listFromLine[-1]))
index += 1
return returnMat, classLabelVector

def autoNum(dataSet):
minVals = dataSet.min(0)
maxVals = dataSet.max(0)
ranges = maxVals - minVals
# normDataSet = zeros(shape(dataSet))
m = dataSet.shape[0]
normDataSet = dataSet - tile(minVals, (m, 1))
normDataSet = normDataSet / tile(ranges, (m, 1))
return normDataSet, ranges, minVals

def datingClassTest():
hoRatio = 0.10
datingDataMat, datingLabels = file2matrix("datingTestSet2.txt")
normMat, ranges, minVals = autoNum(datingDataMat)
m = normMat.shape[0]
numTestVecs = int(m * hoRatio)
errorCount = 0.0
for i in range(numTestVecs):
classifierResult = classify0(normMat[i, :], normMat[numTestVecs:m, :], datingLabels[numTestVecs:m], 3)
print "the classifier came back with: %d the real answer is: %d" % (classifierResult, datingLabels[i])
if (classifierResult != datingLabels[i]): errorCount += 1.0
print "the total erro rate is: %f" % (errorCount / float(numTestVecs))

if __name__ == '__main__':
# returnMat, classLabelVector = file2matrix("datingTestSet2.txt")
# fig = plt.figure()
# ax = fig.add_subplot(111)
# ax.scatter(returnMat[:, 0], returnMat[:, 1], 15.0 * array(classLabelVector), 15.0 * array(classLabelVector))
# plt.show()
datingClassTest()

热心网友 时间:2022-04-18 21:35

你调用classfy0()试一下。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
珍珠粉可以天天敷脸吗 教你自制珍珠粉面膜 中超什么时候成立 交通刷卡金是什么 哪吒V上市进入倒计时,车身超4米,轴距为2420mm,续航里程401km. 关于倩女幽魂爆鬼问题 倩女幽魂什么是大宝队 关于倩女幽魂爆鬼分红的问题 泰国绿咖喱中的咖喱酱是如何制作的,它的独特口味来源于哪些香料?_百度... 好看电视剧,推荐个,现代都市剧,古装剧,战争爱情剧都可以,要经典,确确 ... 去北京上大学转户口好不好 matlab gui中按下按钮就在axis1上作一个三维图的代码怎么写? 7如果ndarray.shape执行的结果为(1,2),则表示创建的是(?)维数组_百度问一问 opengl画正方体并旋转 Python中b=a.apply(lambda x: a.columns[x][0],axis=1)是什么意思呢,a是一个DataFrame,求详解 python中删除数据框某个行时,语法df.drop('列名',axis=1)中,使用axis=1,axis=1不是表示行么? axis=1是行还是列? 虾米配什么包饺子好吃 萝卜丝虾皮饺子馅的做法大全 梦见差点被狗咬,狗尿撒在我头上脸上身上 企业名下的房产是否可以抵押给其他公司做担保措施 梦见黑狗尿了 我一头 借款人或借款担保人,在未能偿还借款时,其名下个人未设定抵押的房产是否会被查封,如又是个人唯一房产 梦见黑狗尿了 我(男)一头 万物皆出于机 下一句 寻问个人创业贷款条件 庄子一些故事的简介 银行或信用社的招聘考试 庄子·外篇.至乐的主旨句 怎么贷款,我前年刚毕业,可以贷款吗? 庄子传中有什么好词? joytokey 怎么设置 真三国无双4 在Premiere中,如何使视频的局部进行变化?就是说使视频的某一特定区域进行颜色的渐变? 大红浙醋是什么东西啊? 北京哪里可以买到大红浙醋? 这张图片的颜色渐变用PR怎么弄出来? pr字幕制作中如何使用三色或以上的线性渐变颜色 我在premiere中编辑,我只想要红蓝色两种色,应该怎么操作? 广东餐厅里的那种红色透明的“酸醋”为什么是红色的?对人体有害么? 为什么热带沙漠气候昼夜温差大,热带草原气候 大红浙醋好用吗? 为什么沙漠地区昼夜温差大,沿海地区昼夜温差不大. 急急急!!!视频颜色偏蓝在PR里怎么调 为什么沙漠的日夜温差很大? Ps制作的动效在pr 中显示不一样 沙漠的昼夜温差为什么那么大﹖ 室内设计师工作描述怎么写? 地理题!非洲撒哈拉沙漠地区昼夜温差大的原因? 沿海地区昼夜温差小,而沙漠地区昼夜温差大,请你解释产生这种现象的原因. 为什么赤道地区昼夜温差小,而沙漠地区昼夜温差大呢? 为什么沙漠的昼夜温差很大?愿因是什么