为了账号安全,请及时绑定邮箱和手机立即绑定

Python制作数据分析工具

Alex_Cen 产品经理
难度初级
时长 1小时10分
学习人数
综合评分9.17
20人评价 查看评价
9.2 内容实用
9.1 简洁易懂
9.2 逻辑清晰
  • 数据  诊断

    查看全部
  • 依赖包的导入

    查看全部
  • 数据分析依赖包

    查看全部
  • 数据诊断的目的

    查看全部
    0 采集 收起 来源:1.2 案例介绍

    2020-01-04

  • 1. 数据诊断的目的:

    1) 了解特征的分布,缺失和异常等情况。(了解了这些情况我们才能更好地做特征工程和数据预处理)

    https://img1.sycdn.imooc.com//5d54c6a600014a7505530196.jpg

    2)统计指标可直接用于数据预处理

    数据预处理就是指比如说特征缺失值的填充,缺失值的填充是建模常用的手段。填充的目的有很多。在填充的时候大家一般会采用很多种办法。比如填一个0,-1,1这种常值进去,但是更多的人可能会填一些统计值,比如说中位数、众数这样的值进去。如果要用这种方法填数的话,一般需要对特征值重新计算一遍,如果每次都计算的话,这样会影响整个模型的效率。更好的办法:就是可以从前面预处理的过程和结果中把中位数和众数取到,直接填到缺失里面去,这样可以减少运行计算时间,因为我们只需要提取,不需要计算,这样的话会减少耗时。除了这个以外,我们也有很多的判断,比如数缺失值的比例,众数的比例,也是形容特征工程的一个环节。当我们整个建模的流程形成之后,这些数据诊断的结果也可以起到判断的作用。

    https://img1.sycdn.imooc.com//5d54c6c10001616606980254.jpg


    查看全部
    0 采集 收起 来源:1.2 案例介绍

    2020-01-04

  • 数据  诊断

    查看全部
    0 采集 收起 来源:1.2 案例介绍

    2020-01-04

  • 依赖包包括:Numpy,Pandas,Scipy


    查看全部
  • 了解特征分布,缺失和异常

    统计指标可直接用于数据预处理


    查看全部
    0 采集 收起 来源:1.2 案例介绍

    2019-10-03

  • 清洗数据,是必要之必要的,准备步骤要做好

    查看全部
    0 采集 收起 来源:1.2 案例介绍

    2019-08-19

  • 为了更高效地学习,这次尝试从结果出发来学习 python,看不懂的部分,回头再查找入门课程。

    依赖包-待安装

    特殊值、描述值-待查概念

    查看全部
  • 1.缺失值不应该存在于EDA中。缺失值是通过分析得出来的。

    2.数据导入-》数据分析-》工具


    查看全部
    0 采集 收起 来源:5.1 课程总结

    2019-08-16

  • 1.# 2.Calculating Running time

    import timeit

     

    start = timeit.default_timer()

    df_eda_summary = eda_analysis(missSet=[np.nan, 9999999999, -999999], df=df.iloc[:, 0:3])

    print('EDA Running Time: {0:.2f} seconds'.format(timeit.default_timer() - start))

    上面是时间的测试示例,我们去测试每一块所用时间,由此可以判断我们的优化重点,经过测试可知,众数部分的时间较长,所以我们后期可对这一部分进行优化,优化的方法有:1)注释掉没用的代码 2)使用更好的方法去替代原有方法。


    查看全部
  • 1.整合核心代码: 

    # 12.Combine All Information

        df_eda_summary = pd.concat(

            [count_un, count_zero, df_mean, df_median, df_mode,

             df_mode_count, df_mode_perct, df_min, df_max, df_fre,

             df_miss], axis=1

        )

        # 左边是特征,上边是有多少统计描述,就拼多少


    查看全部
    0 采集 收起 来源:4.1 工具整合

    2019-08-16

  • 1.统计指标示例-缺失值

    # (12)Miss Value

    np.sum(np.in1d(df.iloc[:, 0], missSet))     # 统计缺失值

    df_miss = df.iloc[:, 0:3].apply(lambda x: np.sum(np.in1d(x, missSet)))  # 遍历每一个遍历的缺失值情况,因为返回的是一个值,所以直接用apply遍历


    查看全部
  • 1.统计指标示例-频数

    # (11)Frequent Value

    df.iloc[:, 0].value_counts().iloc[0:5, ]      # value_counts是pandas中dataframe的方法,显示指定特征按照频数由大到小排序,我们一般取前五位频繁出现的值以及它的频数

    # 至于选择0:5还是0:10,根据业务定义,一般选取前五位就已经看出一些问题了

     

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)]     # 去除缺失值

    df.iloc[:, 0][~np.in1d(df.iloc[:, 0], missSet)].value_counts()[0:5]     # 去除缺失值后进行频数的统计

     

    # 和分位点的处理方法类似,不能直接用apply

    json_fre_name = {}  # 名字

    json_fre_count = {}     # 计数

     

     

    # 如果特征不够5怎么办?剩下的置空。有两个目的:第一,定长,为了和前面的值一致;第二,留一些位置以便更好地拓展

    def fill_fre_top_5(x):

        if(len(x)) <= 5:

            new_array = np.full(5, np.nan)

            new_array[0:len(x)] = x

            return new_array

     

     

    df['ind_var1_0'].value_counts()   # 小于5

    df['imp_sal_var16_ult1'].value_counts()    # 大于5

     

    for i, name in enumerate(df[['ind_var1_0', 'imp_sal_var16_ult1']].columns):   # columns取其列名

        # 1.Index Name

        index_name = df[name][~np.in1d(df[name], missSet)].value_counts().iloc[0:5, ].index.values

        # 1.1 If the length of array is less than 5

        index_name = fill_fre_top_5(index_name)

     

        json_fre_name[name] = index_name

     

        # 2.Value Count

        values_count = df[name][~np.in1d(df[name], missSet)].value_counts().iloc[0:5, ].values

        # 2.1 If the length of array is less than 5

        values_count = fill_fre_top_5(values_count)

     

        json_fre_count[name] = values_count

     

    df_fre_name = pd.DataFrame(json_fre_name)[df[['ind_var1_0', 'imp_sal_var16_ult1']].columns].T   # 为了保证格式一致

    df_fre_count = pd.DataFrame(json_fre_count)[df[['ind_var1_0', 'imp_sal_var16_ult1']].columns].T

     

    df_fre = pd.concat([df_fre_name, df_fre_count], axis=1)     # concat合并


    查看全部

举报

0/150
提交
取消
课程须知
适合人群:希望从传统分析人员转型到数据挖掘和机器学习领域的人员;技术储备:python基本知识,统计学基本知识
老师告诉你能学到什么?
1.用Python制作一个高效的数据诊断工具; 2.数据诊断的各种指标;

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!