美文网首页码农的世界程序员程序园
腾讯广告算法大赛随手记8——技巧汇总(持续更新)

腾讯广告算法大赛随手记8——技巧汇总(持续更新)

作者: 山东大葱哥 | 来源:发表于2019-04-29 17:12 被阅读272次

    前言

    很多小伙伴经常问道的一些技巧问题汇总如下:

    欢迎点赞(免费的)

    大葱哥不定期发布关于大赛的文章,欢迎大家关注。
    觉得喜欢就给点个赞,如果赞达到100个话,可以考虑赠送福利
    觉得赞不够表达你的喜欢,可以给大葱哥一个赏。

    大文件如何读取

    官网给到的曝光文件totalExposureLog.out,有6.4G,如果你的电脑内存是16G以上可以直接读取,很多朋友的电脑内存没有那么高,这时候直接读取的话就会卡死,这里我们可以使用pandas.read_csv中一个get_chunk功能,设置成循环读取,一次读取100万行,处理完后再读取另一批次,分多次对该文件内容进行处理,这样可以在内存不充裕的情况下完成大文件的读取处理工作。

    具体代码形如:

    pd.read_csv('totalExposureLog.out ',sep='\t',
                                  header=None,iterator=True,low_memory =False)
    for i in range(120): #共有1亿条数据,一次100万大概需要102次左右
        try:
            exposureLogdf = exposureLogfile.get_chunk(1000000)
            #你的代码逻辑 blabla.....
        except StopIteration:
            break
    

    大葱哥建议大家可以将这个大文件按照上述方式拆分成小文件,比如请求的日期按天拆分到多个文件中,后续处理会方便很多。

    文件追加写模式

    还是为了节约内存我们可以使用追加写的模式,对拆分的文件按照不同的维度写到不同的文件中,采用追加写的模式,避免后面的内容覆盖前面的内容

    dataframe.to_csv('filename.csv', sep='\t', header=False, index=False
                             ,mode='a'  # 就是这个参数
                            )
    

    数据目标分析

    • 查看某一列的数据分布情况,可以看到最大、最小、平均值、总次数等信息
      test_sampledf['曝光次数'].describe()
    image.png
    • 通过图的形式展现出分布状况,查看是否符合正态分布,这个需要安装seaborn
    import seaborn as sns
    import matplotlib.pyplot as plt
    %matplotlib inline
    

    sns.distplot(test_sampledf['曝光次数'])

    image.png
    • 查看相关性不同列对目标的相关性,需要 scipy支持
    import scipy.stats as sci
    sns.jointplot(x='出价',y='曝光次数',data=test_sampledf,stat_func=sci.pearsonr)
    
    image.png

    后续补充

    暂时更新这几个技巧,有需要其他技巧的伙伴可在下面留言,我会根据情况将关心比较的技巧更新到这个文章中。

    知乎咨询入口(收费)

    做个广告,有需要深入问题讨论的可以移步到,知乎搜索山东大葱哥,或者复制链接在浏览器打开
    大葱哥腾讯算法大赛咨询入口
    链接:
    https://www.zhihu.com/consult/people/1088941583310782464?ab_signature=CiRBRUJDM3REd1p3eExCVXIxRlFMQnlqNWlXT2tQcDhWLS1URT0SIGQxYmFlYmJjMzI3YTgzOTU1NGQ3Mjk1OWVkNmIwY2YzGhAIARIGNS40Mi4wGgQxMjM4

    相关文章

      网友评论

        本文标题:腾讯广告算法大赛随手记8——技巧汇总(持续更新)

        本文链接:https://www.haomeiwen.com/subject/kzxunqtx.html