「机器学习」写给 Python 开发者的 10 条机器学习建议( 二 )
本文插图
固定随机数种子
实验的可重复性是非常重要的 , 随机数种子是我们的敌人 。 要特别注重随机数种子的设置 , 否则会导致不同的训练 / 测试数据的分裂和神经网络中不同权重的初始化 。 这些最终会导致结果的不一致 。
1def set_seed(args):2 random.seed(args.seed)3 np.random.seed(args.seed)4 torch.manual_seed(args.seed)5 if args.n_gpu > 0:6 torch.cuda.manual_seed_all(args.seed)
先加载少量数据 如果你的数据量太大 , 并且你正在处理比如清理数据或建模等后续编码时 , 请使用 `nrows `来避免每次都加载大量数据 。 当你只想测试代码而不是想实际运行整个程序时 , 可以使用此方法 。
非常适合在你本地电脑配置不足以处理那么大的数据量 ,但你喜欢用 Jupyter/VS code/Atom 开发的场景 。
1f_train = pd.read_csv(‘train.csv’, nrows=1000)
本文插图
预测失败 (成熟开发人员的标志) 总是检查数据中的 NA(缺失值) , 因为这些数据可能会造成一些问题 。 即使你当前的数据没有 , 并不意味着它不会在未来的训练循环中出现 。 所以无论如何都要留意这个问题 。
1print(len(df))2df.isna.sum3df.dropna4print(len(df))
本文插图
显示处理进度
在处理大数据时 , 如果能知道还需要多少时间可以处理完 , 能够了解当前的进度非常重要 。
方案1:tqdm
1from tqdm import tqdm2import time34tqdm.pandas56df['col'] = df['col'].progress_apply(lambda x: x**2)78text = ""9for char in tqdm(["a", "b", "c", "d"]):10 time.sleep(0.25)11 text = text + char 方案2:fastprogress
1from fastprogress.fastprogress import master_bar, progress_bar2from time import sleep3mb = master_bar(range(10))4for i in mb:5 for j in progress_bar(range(100), parent=mb):6 sleep(0.01)7 mb.child.comment = f'second bar stat'8 mb.first_bar.comment = f'first bar stat'9 mb.write(f'Finished loop {i}.')
解决 Pandas 慢的问题 如果你用过 pandas , 你就会知道有时候它的速度有多慢ーー尤其在团队合作时 。 与其绞尽脑汁去寻找加速解决方案 , 不如通过改变一行代码来使用 modin 。
1import modin.pandas as pd
本文插图
记录函数的执行时间
并不是所有的函数都生来平等 。
即使全部代码都运行正常 , 也并不能意味着你写出了一手好代码 。 一些软错误实际上会使你的代码变慢 , 因此有必要找到它们 。 使用此装饰器记录函数的时间 。
1import time23def timing(f):4 """Decorator for timing functions5 Usage:6 @timing7 def function(a):8 pass9 """101112 @wraps(f)13 def wrapper(*args, **kwargs):14 start = time.time15 result = f(*args, **kwargs)16 end = time.time17 print('function:%r took: %2.2f sec' % (f.__name__, end - start))18 return result19 return wrapp
本文插图
推荐阅读
- 『机器人』日本一大学举行云毕业典礼:机器人替身领毕业证
- 『兄弟』兄弟DCP-T710W喷墨一体机评测:微信打作业 在线学习更简单
- 泡泡网@米兔儿童学习手表4上线!首发仅需849元
- 和鲸携手在线公益AI项目,助力学习实训一体化
- 「学习」成功人士每天都会告诉自己这 7 件事
- 「中国电信」中国电信携手海思、长虹联合开展5G机器视觉“端边云”协同创新
- 【线下】线上学习线下行动,龙潭街道各级组织召开主题党日活动
- #广州零点一度#专业全自动一次性口罩机器厂家——零点一度
- 真的会有报复性消费吗?猎豹移动机器人大数据告诉你
- 「美股研究社」谷歌将提供10万个免费热点,疫情下加州学生网络学习难度大
