机器学习实战 一书中第20页数据预处理,从文本中解析数据的程序。
 import numpy as np
def dataPreProcessing(fileName):
with open(fileName) as op:
lines=op.readlines()
# 返回值是list
lineNumer=len(lines)
# list长度即文件中的行数
dataMatrix=np.zeros((lineNumer,3))
# 初始化lineNumer行,3列的全0矩阵,注意双层括号
labelVector=[]
# 标记向量初始化,它在目前是一个空的list
index=0
# 索引,为了后面给数据矩阵和标记向量初始化用的
for line in lines:
line=line.strip()
# 去空格
temp=line.split('\t')
# 按换行符分割数据,返回list
dataMatrix[index,:]=temp[0:3]
# 切片操作,dataMatrix[a,b:c]后的方括号中第一个值表示矩阵行号(从0开始)
# 第二、三个参数代表从b开始,c结束,前开后闭,包含b不包含c的元素
# temp中的两个参数同理
# 将temp中的前3个值赋给dataMatrix
labelVector.append(int(temp[-1]))
# 将temp中的最后一个值赋给labelVector,注意强转类型,不强转取到的类型为string
index=index+1
return dataMatrix,labelVector
# arr=np.array([[0,1,2],[3,4,5],[6,7,8]])
# print(arr[2,:])
fileName='./datingTestSet2.txt'
# “/”:表示根目录,在windows系统下表示某个盘的根目录,如“E:\”;
# “./”:表示当前目录;(表示当前目录时,也可以去掉“./”,直接写文件名或者下级目录)
# “../”:表示上级目录。
a,b=dataPreProcessing(fileName)
print(a,b)

附:今晚很郁闷,pycharm启动慢得要死,Numpy又用不了,好不容易才用清华镜像把numpy升级到可用状态,期间pycharm卡死了好几次,ukylin的虚拟机更卡,气得我想把电脑砸了,以后有替代的ide了再也不用pycharm了

---------------------------------------------------------------------------------------
2020-02-15更新
读取txt文件中的数据
testArray=genfromtxt(fileName,delimiter="\t",dtype=str)
# 文件名、分隔符、读取的数据以什么类型返回
# print('testArray=\n',testArray)
# print(testArray.shape)
# print(testArray.dtype)
testLabels=testArray[:,3]
testLabels=testLabels.astype(int)
# 矩阵切片,取出所有行第3列,其中:表示所有行
print('testLabels\n',testLabels)
print(testLabels.shape)
testInfo=testArray[:,0:3]
# 读取每一行的前3列,这里的0:3是左闭右开区间
testInfo=testInfo.astype(float)
print('testInfo:\n',testInfo)

  今晚又重温了 “唐宇迪\1章Python科学计算库—numpy”课程系列中的 05-07三节内容,其中《课时07.Numpy矩阵基础》只看到了3'12''

python数据预处理for knn的更多相关文章

  1. Python数据预处理:机器学习、人工智能通用技术(1)

    Python数据预处理:机器学习.人工智能通用技术 白宁超  2018年12月24日17:28:26 摘要:大数据技术与我们日常生活越来越紧密,要做大数据,首要解决数据问题.原始数据存在大量不完整.不 ...

  2. python data analysis | python数据预处理(基于scikit-learn模块)

    原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...

  3. Python数据预处理—归一化,标准化,正则化

    关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常用的 ...

  4. Python数据预处理之清及

    使用Pandas进行数据预处理 数据清洗中不是每一步都是必须的,按实际需求操作. 内容目录 1.数据的生成与导入 2.数据信息查看 2.1.查看整体数据信息 2.2.查看数据维度.列名称.数据格式 2 ...

  5. Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)

      关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常 ...

  6. python数据预处理和特性选择后列的映射

    我们在用python进行机器学习建模时,首先需要对数据进行预处理然后进行特征工程,在这些过程中,数据的格式可能会发生变化,前几天我遇到过的问题就是: 对数据进行标准化.归一化.方差过滤的时候数据都从D ...

  7. Python数据预处理:使用Dask和Numba并行化加速

    如果你善于使用Pandas变换数据.创建特征以及清洗数据等,那么你就能够轻松地使用Dask和Numba并行加速你的工作.单纯从速度上比较,Dask完胜Python,而Numba打败Dask,那么Num ...

  8. Python数据预处理—训练集和测试集数据划分

    使用sklearn中的函数可以很方便的将数据划分为trainset 和 testset 该函数为sklearn.cross_validation.train_test_split,用法如下: > ...

  9. 关系网络数据可视化:2. Python数据预处理

    将数据中导演与演员的关系整理出来,得到导演与演员的关系数据,并统计合作次数 import numpy as np import pandas as pd import matplotlib.pyplo ...

随机推荐

  1. 113-PHP使用instanceof判断变量是否为某个类对象

    <?php class ren{ //定义人类 } class mao{ //定义猫类 } $ren=new ren(); //实例化一个人类的对象 $mao=new mao(); //实例化一 ...

  2. 好记性不如烂笔头--shell参数及shell判断if系列

    $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2$# 传递给脚本或函数的参数个数$* 传递给脚本或函数的所有参数$@ 传递给 ...

  3. Meeloun教你如何正式切入Essay写作话题

    很多同学在Essay写作过程中会发现:如果题目问到解决办法,写来写去,都是政府要颁布政策,人们要提高意识,感觉一点新意也没有.怎么样更好地切合不同的话题,想到最合适的解决办法呢?今天小编为你奉上更多处 ...

  4. 【Python】【Django】查询所有学生信息

    要做到以下效果: 改代码后效果: 从0开始顺序计数: 倒叙计数到0

  5. 学习spring第6天(aop获取目标方法参数)

    关于<aop:around>中的方法,需要第一个参数为ProceedJoinPoint,在方法体中通过该参数调用proceed()才能使目标方法得到调用. 当一个切面中有多个<aop ...

  6. 在Mac上如何运行jar文件

    操作一:编译,打包. 操作二: 运行jar文件,提示:jar中没有主清单属性. 解决办法: 使用解压工具解压HelloWorld.jar文件,往MANIFEST.MF中添加Main-Class. 1. ...

  7. PHP基础(9.27 第十三天)

    什么是PHP,为什么要学习PHP:  (1)php是嵌入html页面中的脚本语言   (2)目前最流行的网站开发语言  (3)在几乎所有平台中都可以运行  (4)很多企业都在使用PHP作为开发语言 P ...

  8. EUI库 - 9 - 数据集合 - 列表

      List 和DataGroup的区别 1 选中一项 会触发 eui.ItemEvent.ITEM_TAP 事件, 2 有选中项的概念,可以设置 List 里的默认选中项    selectedIn ...

  9. 【pwnable.kr】random

    pwnable从入门到放弃第七题. ssh random@pwnable.kr -p2222 (pw:guest) 目前为止做的最快的一道题... #include <stdio.h> i ...

  10. 春节前“摸鱼”指南——SCA命令行工具助你快速构建FaaS服务

    春节将至,身在公司的你是不是已经完全丧失了工作的斗志? 但俗话说得好:"只要心中有沙,办公室也能是马尔代夫." 职场人如何才能做到最大效能地带薪"摸鱼",成为了 ...