小言_互联网的博客

白给的72H

304人阅读  评论(0)

花了三天时间看了一下Numpy和Pandas,然后就

白给了

先放一下这周作业Github的链接:https://github.com/hachiri/ML_Seminar/tree/master/2019.9.28

先是一个简单的数据读取:
在线预览地址:https://nbviewer.jupyter.org/github/hachiri/ML_Seminar/blob/master/2019.9.28/data_reader.ipynb

难点在于

  1. 对不同文件调用不同函数
  2. 如何传参

解决方案

  1. 使用 eval() 从字符串激活函数
  2. 使用 **dict 进行传参

Google看一下教程基本上没啥问题

之后是一个手写数据包的读取:
在线预览地址:
https://nbviewer.jupyter.org/github/hachiri/ML_Seminar/blob/master/2019.9.28/read_Digits.ipynb

看起来挺简单的,没啥太复杂的东西。
这是我一开始的读入

def read_data(path):
	CSV = pd.read_csv(path, header=None)
    data = np.array(CSV).reshape(1, CSV.shape[0])
	return list(''.join(data[0])), CSV.shape[0]

后来用 %%timeit 试了一下速度,嗯… 🐎 🐎 🐎 🐎 🐎 You Know

对 ndarray 的处理速度表示绝望

后面是想用预分配空间做的,因为数据量是已知的,原本是觉得更快的,然而…
最快的是这个版本:524ms, 我的是它的两倍 (当然把上面的读入改掉了)
在线预览地址:https://nbviewer.jupyter.org/github/hachiri/ML_Seminar/blob/master/2019.9.28/fast_read_digits.ipynb

OK,我完全没想到 list.append() 会这么快,比预先分配空间还快,如果有大佬能解释一下的话…

我觉得我到极限了,该回去吃💊了


转载:https://blog.csdn.net/weixin_43846537/article/details/102091520
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场