数据分析概念总结

17 篇文章 3 订阅
16 篇文章 2 订阅

数据分析概念总结

  • APrirori算法: 通过分析购物篮中的商品集合,找出商品之间的关联关系。利用这种隐性关联关系,商家就可以强化这类购买行为,从而提升销售额。

  • 商业智能 BI、数据仓库 DW、数据挖掘 DM 三者之间的关系

    • 预测用户购物行为属于商业智能,即Business Intelligence,缩写是 BI
    • 他们积累的顾客的消费行为习惯会存储在数据仓库中,即Data Warehouse,缩写DW
    • 通过对个体进行消费行为分析总结出来的规律属于数据挖掘,即Data Mining,缩写是 DM
  • 元数据 VS 数据元

    • 元数据(MetaData):描述其它数据的数据,也称为“中介数据”。
      • 举个例子,比如一本图书的信息包括了书名、作者、出版社、ISBN、出版时间、页数和定价等多个属性的信息,我们就可以把这些属性定义成一套图书的元数据。
    • 数据元(Data Element):就是最小数据单元。
      • 在图书这个元数据中,书名、作者、出版社就是数据元
  • 数据挖掘的流程

    • Knowledge Discovery in Database,简称 KDD,也就是数据库中的知识发现
    • 分类 聚类 预测 关联分析
    • 数据预处理
      • 数据清洗 去除重复数据,去噪声(即干扰数据)以及填充缺失值。
      • 数据集成 数据存放在一个统一的数据存储中
      • 数据变换 归一化等
  • 用户画像的准则

    • 第一 就是用户从哪里来(统一化),这里我们需要统一标识用户 ID,方便我们对用户后续行为进行跟踪。他们是为了聚餐,还是自己吃宵夜,这些场景我们都要做统计分析
    • 第二这些用户是谁(标签化)我们需要对这些用户进行标签化,方便我们对用户行为进行理解
    • 第三 用户要到哪里去(业务化)我们要将这些用户画像与我们的业务相关联,提升我们的转化率,或者降低我们的流失率
  • 用户唯一标识是整个用户画像的核心

    • 设计唯一标识可以从这些项中选择:用户名、注册手机号、联系人手机号、邮箱、设备号、CookieID 等
  • 用户消费行为分析

    • 用户标签:它包括了性别、年龄、地域、收入、学历、职业等。这些包括了用户的基础属性
    • 消费标签:消费习惯、购买意向、是否对促销敏感。这些统计分析用户的消费习惯
    • 行为标签:时间段、频次、时长、访问路径。这些是通过分析用户行为,来得到他们使用 App 的习惯
    • 内容分析:对用户平时浏览的内容,尤其是停留时间长、浏览次数多的内容进行分析,分析出用户对哪些内容感兴趣,比如,金融、娱乐、教育、体育、时尚、科技等
  • 用户生命周期的三个阶段来划分业务价值

    • 获客:如何进行拉新,通过更精准的营销获取客户
    • 粘客个性化推荐,搜索排序,场景运营
    • 留客:流失率预测,分析关键节点降低流失率
  • 数据流处理的阶段来划分用户画像建模的过程

    • 数据层指的是用户消费行为里的标签。我们可以打上“事实标签”,作为数据客观的记录
    • 算法层指的是透过这些行为算出的用户建模。我们可以打上“模型标签”,作为用户画像的分类标识
    • 业务层指的是获客、粘客、留客的手段。我们可以打上“预测标签”,作为业务关联的结果
  • 数据采集

    • 我们需要通过多源的数据采集,收集到尽可能多的数据维度,同时保证数据的质量,这样才能得到高质量的数据挖掘结果
    • **开放数据源 ** 爬虫抓取 日志采集 传感器
  • 数据爬虫

    • 使用 Requests 爬取内容
    • 使用 XPath 解析内容
    • 使用 Pandas 保存数据
  • 数据抓取工具

  • 日志采集

    • 通过 Web 服务器采集,例如 httpd、Nginx、Tomcat 都自带日志记录功能。多用于系统日志采集,如 Hadoop 的 Chukwa、Cloudera 的 Flume、Facebook 的 Scribe 等,这些工具均采用分布式架构,能够满足每秒数百 MB 的日志数据采集和传输需求。
    • 自定义采集用户行为,例如用 JavaScript 代码监听用户的行为、AJAX 异步请求后台记录日志等。
    • 埋点就是在有需要的位置采集相应的信息,进行上报。
  • 数据清洗规则(完全合一)

    • 完整性:单条数据是否存在空值,统计的字段是否完善。
    • 全面性:观察某一列的全部数值,比如在 Excel 表中,我们选中一列,可以看到该列的平均值、最大值、最小值。我们可以通过常识来判断该列是否有问题,比如:数据定义、单位标识、数值本身。
    • 合法性:数据的类型、内容、大小的合法性。比如数据中存在非 ASCII 字符,性别存在了未知,年龄超过了 150 岁等。
    • 唯一性:数据是否存在重复记录,因为数据通常来自不同渠道的汇总,重复的情况是常见的。行数据、列数据都需要是唯一的,比如一个人不能重复记录多次,且一个人的体重也不能在列指标中重复记录多次。
  • 数据

    • 在这里插入图片描述
  • 完整性

    • 缺失值

      • 删除 均值 高频

      • # 均值填充
        df['age'].fillna(df['age'].mean(),inplace=True)
        # 高频填充
        age_maxf = df['age'].value_counts().index[0]
        df['age'].fillna(age_maxf,inplace=True)
        
    • 空行

      • # 整行是空值才需要被删除
        df.dropna(how = 'all',inplace=True)
        
  • 全面性

    • 单位不统一

      • # 获取 weight 数据列中单位为 lbs 的数据
        row_with_lbs = df['weight'].str.contains('lbs').fillna(False)
        # 将 lbs转换为 kgs, 2.2lbs=1kgs
        for i,lbs_row in df[row_with_lb].iterrow():
          weight = int(float(lbs_row['weight'][:-3]/2.2))
          df.at[i,'weight'] = '{}kgs'.format(weight)
        
  • 合理性

    • 非ASCII字符

      • # 删除非 ASCII 字符 regex 正则替换
        df['first_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)
        df['last_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)
        
  • 唯一性

    • 拆分name列

      • '''
        str.spilt()
        第一个参数: 分列依据 空格等
        参数 expand=true 这个参数直接将分列后的结果转换成DataFrame
        参数 n=数字 限制分列的次数
        '''
        df[['fisrt_name','last_name']] = df['name'].str.spilt(' ',expand=True)
        df.drop('name',axis=1,inplace=True)
        
    • 重复数据

      • df.drop_duplicates(['first_name','last_name'],inplace=True)
        
  • 数据集成

    • 多个数据源合并存放在一个数据存储中(如数据仓库),从而方便后续的数据挖掘工作。
  • ETL(Extract、Transform 、Load )

    • 抽取 数据从已有的数据源中提取出来
    • 转换 几张表连接形成新的表
    • 加载
    • Kettle工具
  • ELT

    • 抽取 加载 转换
    • 重抽取和加载 轻转换
    • 更加省时 提供更大的灵活性
  • 数据变换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值