您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    数据迷信家易犯的十大编码错误,你中招了吗?(2)
    时间:2019-05-05 12:04 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    我明白你急着做剖析。于是你把代码拼凑起来失掉结果,把结果交给你的客户或许老板。一周之后他们找到你,问你「你能改掉 xyz 吗?」或「你能更新一下结果吗?」。然后你和本人的代码大眼瞪小眼,既不记得你为什么要这么做,也不记得你做过什么。如今想象一下其别人运转这段代码时的心境。

    def some_complicated_function(data): 

        datadata = data[data['column']!='wrong'] 

        datadata = data.groupby('date').apply(lambda x: complicated_stuff(x)) 

        datadata = data[data['value']<0.9

        return data 

    处置方案:即使你曾经完成了剖析,也要花时间注释一下你做过什么。你会感谢本人的,当然其别人会愈加感谢你!这样你看起来会更专业!

    9. 把数据存成 csv 或 pickle

    说回数据,毕竟我们讨论的是数据迷信。就像函数和 for 循环一样,CSV 和 pickle 文件也很常用,但它们其实并没有那么好。CSV 不包含形式(schema),所以每团体都必须重新解析数字和日期。Pickle 可以处置这一点,但只能用在 Python 中,而且不能紧缩。这两种格式都不适宜存储大型数据集。

    def process_data(data, parameter): 

        data = do_stuff(data) 

        data.to_pickle('data.pkl') 

    data = pd.read_csv('data.csv') 

    process_data(data) 

    df_train = pd.read_pickle(df_train) 

    处置方案:用 parquet 或许其他带有数据形式的二进制数据格式,最好还能紧缩数据。d6tflow 可以自动将数据输入存储为 parquet,这样你就不用途理这个成绩了。

    parquet:https://github.com/dask/fastparquet

    10. 运用 Jupyter notebook

    这个结论还有一些争议——Jupyter notebook 就像 CSV 一样常用。很多人都会用到它们。但这并不能让它们变得更好。Jupyter notebook 滋长了下面提到的许多不好的软件工程习气,特别是:

    你会把一切文件存在一个目录中;

    你写的代码是自上而下运转的,而不是 DAG;

    你不会模块化你的代码;

    代码难以调试;

    代码和输入会混合在一个文件中;

    不能很好地停止版本控制。

    Jupyter notebook 很容易上手,但规模太小。

    处置方案:用 pycharm 和/或 spyder。

    原文链接:

    https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Ftop-10-coding-mistakes-made-by-data-scientists-bb5bc82faaee

    【本文是51CTO专栏机构“机器之心”的原创译文,微信群众号“机器之心( id: almosthuman2014)”】

    戳这里,看该作者更多好文

    【编辑引荐】

    “老司机”划重点!搞定这120个真实面试成绩,杀进数据迷信圈

    数据迷信难在实际,有哪些弯路可以不走?

    数据迷信的下一个「超才能」:模型可解释性

    除Kaggle外,还有哪些顶级数据迷信竞赛平台

    14个Q&A,讲述python与数据迷信的“暗昧情事”

    (责任编辑:admin)