• kNN(从文本文件中解析数据)


    # 准备数据:从文本文件中解析数据
    # 在kNN.py中创建名为file2matrix的函数,处理输入格式问题
    # 该函数的输入为文件名字符串,输出为训练样本矩阵和类标签向量
    # 将文本记录到转换Numpy的解析程序
     1 def file2matrix(filename):
     2     fr = open(filename)
     3     arrayOLines = fr.readlines()
     4     numberOfLines = len(arrayOLines)    #得到文件行数
     5     returnMat = zeros((numberOfLines,3))    #创建返回的Numpy矩阵
     6     classLabelVector = []
     7     index = 0
     8     for line in arrayOLines:    #解析文件数据列表
     9         line = line.strip()     #使用line.strip()截取掉所有的回车字符
    10         listFromLine = line.split('	')     #使用tab字符	将上一步得到的整行数据分割成一个元素列表
    11         returnMat[index,:] = listFromLine[0:3]      #选取前三个元素,存储到特征矩阵中
    12         classLabelVector.append(int(listFromLine[-1]))      #-1表示列表中的最后一列元素,存储到向量classLabelVector中
    13         index += 1
    14         return returnMat,classLabelVector
    1 出现的错误
    2 >>>reload(kNN)
    3 Traceback (most recent call last):
    4   File "<input>", line 1, in <module>
    5 NameError: name 'reload' is not defined
     1 如果你的python版本是Python 2.X:
     2 import sys
     3 reload(sys)
     4 sys.setdefaultencoding("utf-8")
     5 
     6 如果你的python版本是python 3.3 7 import imp
     8 imp.reload(sys)
     9 
    10 注意:
    11 1.Python 3与Python 2有很大的区别,其中Python 3系统默认使用的就是utf-8编码。
    12 2. 所以,对于使用的是Python 3的情况,就不需要sys.setdefaultencoding("utf-8")这段代码。
    13 3.最重要的是,Python 3的sys库里面已经没有setdefaultencoding()函数了。
    14 
    15 如果你的python版本是python 3.4以及3.4以上:
    16 import importlib
    17 import sys
    18 importlib.reload(sys))

  • 相关阅读:
    performance benchmark : memcached vs Kyoto Tycoon
    Adhesive框架系列文章应用程序信息中心模块实现
    神奇的Redis
    使用代码测试ASP.NET MVC2执行流程
    linq2sql代码大全
    7/17博客园活动浅谈网站架构中缓存的应用所有资料
    浅谈.NET下的多线程和并行计算(十四)并行计算前言
    公司.NET 3.5培训资料分享
    mongodb分片集群(sharding with replica set)配置
    mongodb有关的研究
  • 原文地址:https://www.cnblogs.com/fd-682012/p/11564795.html
Copyright © 2020-2023  润新知