数据工程全栈项目班

澳洲第一个面向企业的数据工程师培训,掌握大数据整个流程。

通过4个项目贯穿数据分析,数据工程,数据科学学习

点击报名
在澳洲,成为数据工程师需要什么技能——Leo

Course Overview

课程概况

  • 课程难度

    初级

    中级

    高级

  • 先修知识

    有一定IT相关背景,学习过python

  • 课程安排

    小班授课 + 线上直播 + 线下授课

  • 价格

    原价:$5500

    线下早鸟价:$4500

    线上早鸟价:$4500

    早鸟价截止时间请 咨询客服

    *以上价格exclude GST

适合人群

  • IT/CS毕业生、在校生
  • 数据科学在校生、毕业生
  • IS专业毕业生
video player close icon

数据工程全栈项目班视频

课程视频, 学员故事, 匠人公开课

澳洲Data Analyst数据分析师,都有特点?IS&DS专业学生的另一条热门求职方向
澳洲Data Analyst数据分析师,都有特点?IS&DS专业学生的另一条热门求职方向
澳洲UNSW学姐拿到数据工程offer, 寻找工作经验全分享!国内和澳洲工作环境有何差异,如何在澳洲工作家庭两不误?
澳洲UNSW学姐拿到数据工程offer, 寻找工作经验全分享!国内和澳洲工作环境有何差异,如何在澳洲工作家庭两不误?
数据工程班5期项目路演:Recommendation System Design & Architecture by Yan&Johnson
数据工程班5期项目路演:Recommendation System Design & Architecture by Yan&Johnson
数据工程班5期项目路演:Instacart Market Basket Analysis  by Sophie & Justin
数据工程班5期项目路演:Instacart Market Basket Analysis by Sophie & Justin
什么是数据工程?带你了解数据工程师的职能
什么是数据工程?带你了解数据工程师的职能
疫情下,拿到澳洲四大银行CBA offer,成功转行数据分析师!如何数据求职做准备?---数据工程全栈班学员Kevin采访
疫情下,拿到澳洲四大银行CBA offer,成功转行数据分析师!如何数据求职做准备?---数据工程全栈班学员Kevin采访
数据工程师如何在澳洲拿到工作经验 | 数据工程项目集训介绍,获得工作经验
数据工程师如何在澳洲拿到工作经验 | 数据工程项目集训介绍,获得工作经验
数据工程(大数据分析和机器学习+数据分析与建模+数据工程与AWS+数据仓库)
数据工程(大数据分析和机器学习+数据分析与建模+数据工程与AWS+数据仓库)
数据工程(大数据分析和机器学习+数据分析与建模+数据工程与AWS+数据仓库)
数据工程(大数据分析和机器学习+数据分析与建模+数据工程与AWS+数据仓库)
在澳洲,如何找到数据工程师工作 -- 数据工程全栈班学员分享
在澳洲,如何找到数据工程师工作 -- 数据工程全栈班学员分享
在澳洲,成为数据工程师需要什么技能——Leo
在澳洲,成为数据工程师需要什么技能——Leo
澳洲数据分析,数据工程师,数据科学家行业解析,并且有基于AWS的Data pipeline展示
澳洲数据分析,数据工程师,数据科学家行业解析,并且有基于AWS的Data pipeline展示
线上公开课之数据全栈(DA+DE+DS)入门攻略
线上公开课之数据全栈(DA+DE+DS)入门攻略
数据科学在市场营销当中的应用, 如何利用数据科学优化网络营销的资金分配
数据科学在市场营销当中的应用, 如何利用数据科学优化网络营销的资金分配
数据分析和数据科学系列公开课之数据工程方向 IT匠人圈
数据分析和数据科学系列公开课之数据工程方向 IT匠人圈
IT匠人圈数据分析和数据科学系列公开课之数据分析
IT匠人圈数据分析和数据科学系列公开课之数据分析
查看更多

你将获得

通过4个项目增添简历

  • 同时掌握数据分析、数据工程、数据科学知识
  • 学习AWS,数据可视化,Snowflake等必备技能
  • 3个个人项目+1个团队项目,增添简历项目经验
  • 深度学习云大数据技术,把握未来公司数据技术转型方向

成为新时代数据工程师

  • 获得数据工程师必备技能
  • 获得高薪以及高需求的数据工程师
  • 通过4个项目提高简历竞争力
  • 4位一线大厂老师高强度解答课程问题
  • 超多知识点技术结合完成项目,一切以公司招聘要求为目标

面向公司岗位需求培训

  • 对优秀学员提供Reference帮助
  • 老师求职辅导答疑,简历,面试等
  • 结合澳洲各主流公司真实面试题
  • 优秀学员组队打Kaggle

Course Syllabus

课程大纲

数据工程全栈项目班技术栈

数据全栈

DBMS

DBMS

ER Model

ER Model

Snowflake

Snowflake

AWS

AWS

Data Engineering Pipeline

Data Engineering Pipeline

Data Wrangling

Data Wrangling

Python

Python

Jupyter

Jupyter

Pandas

Pandas

Power BI

Power BI

SQL

SQL

Agile

Agile

Prototype

Prototype

Linux

Linux

Machine Learning

Machine Learning

Statistical Modelling

Statistical Modelling

Exploratory Data Analysis

Exploratory Data Analysis

XGBoost

XGBoost

Data Visualisation

Data Visualisation

Spark

Spark

Hadoop

Hadoop

Git

Git

Datalake

Datalake

Kaggle

Kaggle

Scikit Learn

Scikit Learn

Databricks

Databricks

Data Warehouse

Data Warehouse

Tableau

Tableau

R

R

AWS-云大数据

AWS EC2

AWS EC2

AWS S3

AWS S3

AWS RDS

AWS RDS

Redshift

Redshift

AWS Lambda

AWS Lambda

AWS VPC

AWS VPC

Cloudformation

Cloudformation

AWS Athena

AWS Athena

AWS Glue

AWS Glue

Step Functions

Step Functions

AWS Sagemaker

AWS Sagemaker

AWS SQS

AWS SQS

AWS SNS

AWS SNS

Serverless

Serverless

Course Introduction

课程介绍

What Will You Gain

课程内容

Sydney

数据工程全栈班第7期

通过商业项目贯穿数据分析、数据工程、数据科学, 面向企业数据工程师培训,结合AWS技术,提高Data Cloud能力。4位行业导师+1位全程Tutor+课代表和小组组长保障学习成功率

开课时间 2021-2-11

先修知识

  • Database Concept & DBMS - ER Model

    1. DA DE DS的 主要工作内容,涉及到的技能

    2.Data modelling

    - 步骤介绍

    - 方法

    - 实际案例讲解(怎么找entity,找relationship,做normalization)

    3. 数据仓库data warehouse的dimensional models process步骤

  • AWS IAM and S3

    1. AWS介绍, 与传统方式比较

    2. AWS 全球架构

    - AWS regions

    - AWS edge location

    - AWS availability zone

    3. IAM Overview

    4. Lab: IAM

    5. Lab: create a billing alarm

    6. S3 - Sample Storage Service Overview

    7. Lab: create an S3 bucket

    8. Lab: S3 life cycle management, S3-IA & Glacier

    9. S3 edge location

  • Tutorial 1 (1 hour)

    本次课程内容:

    1. 自我介绍

    2. 同学3句话互相认识

    3. 调查:同学希望Tutorial 课程目的?

    4. 本节课的目标:帮助来上课的同学更好的理解课程内容,疑难解答,作业讲解,复习巩固,拓展基础

    5. 课程结构介绍

    6. 数据行业发展简史:

    IOE,LAMP

    google三论文 GFS,MapReduce,BigTable

    7. OLTP vs OLAP

  • DE Introduction & DBMS - Relational Model 

    1. Big Data & Relational Database Fundamentals

    2. SQL introduction

    3. Data Warehouse: Kimball and Inmon Model

    4. Data Vault introduction

    5. Data lake vs Data Warehouse

    6. Data Industry role types: data engineer

    7. Cloud service introduction

    8. Data: definition, ACSII&UTF*&UTF16

    9. Primary Text Based Information Type

    - Unstructured data

    - Semi-structured data

    - Structured data

    10. Database

    - DBMS

    - definition,

    - characteristics

    - advantages and disadvantage

    - Components

    - Architecture

    - Type of database model

    11. Data modelling

    12. Schema

    13. ER model

    14. Big data ecosystem

  • Interview & CV

    1. 校招和社招的要求,entry level vs junior level vs mid level

    2. 职场规划,沟通能力的重要性,team match 的重要性

    3. 澳洲公司情况,产品方向 vs 咨询方向

    4. 找工作网站的区别、建议

    5. 工作类型,permanent vs contractor,薪资期待,福利待遇

    6. 获取工作的方式:meetup、猎头、内推,如何区分和利用猎头,内推的作用

    7. 如何经营 linkedin:提高 SEO 和可读性、扩大人脉、利用 open network、写好 profile

    8. 招聘流程,怎样投简历,怎样说未来计划,怎样说 notice period

    9. 怎样写简历,LMS 简历制作功能,怎样罗列自己的技能,怎样把项目经历写进简历

    10. 求职信的作用,怎样写求职信

  • AWS EC2 and AWS Cli

    1. EC2 Elastic Compute Cloud Overview

    2. Lab: launch our first EC2 instance

    3. Security groups basics

    4. Load balancer theory

    5. The AWS command line and EC2

    6. Using IAM roles with EC2

    7. S3 CLI & regions

    8. AWS EBS introduction

  • DBMS & SQL Intro

    1. 关系数据库管理系统RDBMS 的12条规则

    2.RDBMS基础概念

    - 表格table概念

    - tuple概念

    - attribute概念

    - schema

    - key图示讲解PK,FK

    - Integrity constraints : key键约束 ; Domain约束 ; Referential integrity constraints

    3. 关系代数relational algebra

    - select, project, union, intersection, set different, cartesian product, rename

    4. ER模型案例讲解

    - entity, relationship, weak entity, weak relationship, hierarchical entity

    - key键: super key, candidate key, primary key, secondary key, FK foreign key, compound key, composite key, natural key, surrogate key

    5. 数据库正则化normalization

    - 目的: 减少数据冗余resolve data redundancy, insertion/updation/deletion anomaly

    - Rule: 1NF, 2NF, 3NF, BCNF,4NF, 一般我们用到3NF

    6. SQL 基础简介

    - SQL的定义

    - SQL的组件讲解及案例演示:DDL, DML, DCL, TCL

  • Tutorial 2 (1 hour)

    本次课程内容:

    1. 复习

    2. 课前准备

    3. 一图讲清楚IAM,S3,EC2

    4. Linux命令

  • Lambda, SNS, SQS, Databases on AWS

    1. AWS Lambda introduction

    - Lambda in simple pipeline

    - Lab: create a lambda function to start/stop EC2 instance

    - Python boto3, Runtime, Trigger, Memory, Timeout, Environment variables, Input event, Log in Cloudwatch, Asynchronous invocation

    2. SNS and SQS

    - Introduction

    - SNS: pub-sub model, topic, SNS Benefits

    - SQS: Decouple Application Components, Store messages, Send/Retrieve messages, Standard queue and FIFO queue

    - Comparison between SNS and SQS

    - SNS and SQS practice through console

    - SNS and SQS practice with Lambda

    3. 数据库Databases on AWS

    - 关系数据库:定义,schema

    - 非关系型数据库:定义,如:dynamoDB

    - Data warehousing 定义,适用场景

    - OLTP vs OLAP

    - Elasticache introduction

    - RDS: 备份back ups, multi-AZ & read replicas; 加密encryption

    - Lab: AWS创建RDS instance实操; 创建MySQL, 连接MySQL Workbench

  • Tutorial 3 (1 hour)

    1 复习

    2 Boto3

    3 一图讲清楚IAM,S3,EC2, Lambda, SNS, SQS

    4 Snowflake注册, MySQL, 建库建表

  • SQL Part 1

    1. SQL基础介绍

    - 数据类型 Data Type (mysql 与Snowflake区别)

    o Numeric数字类型: decimal type等等

    o 字符串类型/ Binary数据类型

    o 逻辑数据类型: 布尔boolean 等等

    o Semi-structured数据类型

    - Join: left join, inner join, right join, full join,natural join

    - Operator

    - Alias

    - Select 等在snowflake上演示role切换,sql命令执行

    - 逻辑运算: all, and, any, between, in, not, or, is null, like

    - Aggregation group by, order by, having等snowflake 案例展示

    - Numberic function: floor(), ceil(), least(), rand(), truncate()

    - 字符串处理: length(), instr(), concat(), replace()等等

    - 多表之间union , union all, intersect等等

    - 子查询语句嵌套nested query

    2. SQL案例1讲解

  • Tutorial 4 (1 hour)

    1 Linux commands 2

    2 Fifty SQL practice1

    3 Data Warehouse Star Schema

  • Databases on AWS and Git

    1. DynamoDB理论知识,AWS上创建数据库实例

    2. RedShift

    3. 关系型数据裤Aurora及其架构

    4. AWS Aurora实操

    Git:

    1. Introduction of Git and Git bashGit

    2. Visual Studio Code introduction

    3. git实操:

    - 创建local repo, 运行 git init

    - 怎么configure

    - 查看哪些文件staged与否 : git status

    - 怎么stage文件: git add 文件名或者用.

    - 怎么Commit已经stage的文件:git commit

    - 删除一个文件: git rm --cached文件名

    - .gitignore的作用: 可以untrack此文件里写的文件

    - 查看 log,看谁何时做了什么用 'git log' and customised 'git lg'

    - 创建分支,跳转到不同分支

    - 整个流程逻辑图示讲解:本地master、 branch 之间merge,本地与remote的pull push ,以及Conflict产生原因等

    - command案例操作讲解

    - GitHub ssh setup

  • Tutorial 5 (1 hour)

    本次课程内容:

    复习 Lambda SQS交互

    复习Git本地操作命令

  • SQL Part 2

    1. SQL 案例2讲解

    2. 表与视图的比较

    3. SQL tuning

    4. 索引index: 好处; 分类; 举例讲解; 语法

    5. 窗口分析函数window analytic function介绍: rank()over(); dense_rank()over();

    6. SQL案例3讲解

    7. 窗口分析函数高阶:

    - partition by 的使用,如:rank()over(partition by XXX order by XXX)

    - lead(XXX, 1)over(partition by XXXX order by XXXX)

    - lag(XXX, 1) over(partition by XXXX order by XXXX)

    8. Snowflake上实操讲解SQL案例3

    9. Snowflake query 的json格式语法讲解

    10. Snowflake flatten function to parse arrays 语法讲解, snowflake实操演示

    11. 讲解如何用command line把本地数据导入snowflake

    12. Cumulative sum & moving average: sum(XXX)over(); avg(XXX)over()

    13. Common table expression CTE 实例讲解

    14. NTILE 案例讲解

    15. 递归CTE: 语法, 案例讲解

  • AWS VPC

    1. VPC virtual private cloud:

    - 是关于 networks安全方面的问题;

    - 举例图示讲解在AWS上的定义

    - 图示讲解VPC整个框架:都有哪些部件,部件之间的联系

    - Internal IP range: 举例图示讲解选多少个IP地址够用

    - VPC peering 概念,应用场景讲解

    2. VPC的理论相关知识

    - subnet creating

    - internet gateway creating

    - Route table creating and setting

    - Network address translation(NAT) gateway creating & Elastic IP

    - how to test if subnet’s internet works

    - VPC end points

    - VPC clean up

    3. AWS VPC实操

    4. Project initialisation

  • Tutorial 6 (1 hour)

    1. 一图讲清楚VPC

    2.SQL作业(1-5)

  • Unix/Linux Shell Basic  Data warehouse

    1. 什么是data warehouse, 图示讲解

    2. 基础概念:

    • 收集业务需求

    • 与团队各业务专家合作设计dimensional model

    • 4 steps dimensional design :

    - decide business process;

    - declare grain;

    - identify dimensions;

    - identify facts:fact table and dimensional tables, fact for measurements, star schema& OLAP cubes, dimension是data ingestion 但是fact measure是通过计算才有的数据;设计时候考adaptable,加fact or dimension尽量不用调整原来的.

    3. Dimension table技术:

    - Dimension table结构;surrogate key(使用原因);

    - Durable key

    - Drill down

    - Degenerate dimensions, denormalized flattened dimensions

    - Multiple hierarchies

    - Flags and indicators

    - Null attributes use unknown or not applicable instead of null

    - Calendar table

    - Role playing dimensions

    - Junk dimension VS cross join等

    - Snowflaked dimension(要避免出现这种)

    - Outrigger dimensions

    4. Fact table 技术:

    - Fact table结构

    - additive, semi-additive, non-additive

    - nulls in fact tables

    - conformed table

    - transaction fact tables ----period snapshot fact tables

    - accumulating snapshot fact table

    - factless fact tables

    - aggregated fact tables

    - consolidated fact tables

    5. integration dimensions via conformed dimensions

    6. SCD: slowly changing dimension(type1,type2,type3)

    7. Linux命令自学

  • Tutorial 7(1 hour)

    1. SQL作业 讲解

    2. Data warehouse复习

  • Data engineering one

    1. Batch processing 和stream processing

    - Batch processing和stream processing的定义,区别以及各自适用场景,优点;

    - Batch processing 实际应用场景示例

    - Batch processing的挑战

    - Batch processing的architecture (data存储S3,EBS;工具spark, ETL/ELT visualized tools;analytical data存储data warehouse: OLAP database, HBase, Spark SQL; analytic and reporting: PowerBI Tableau)

    - Stream/real time processing的实际应用场景示例

    - real time processing的挑战

    - real time processing的architecture,整个逻辑流程图示讲解 (producer ,数据存储message broker:一般数据在这里放24小时,consumer) 工具kafka等,analytical data存储HBase等; analytic and reporting: Tableau

    2. Data engineer的日常工作,为什么要这么做,以及其设计理念

    - Data extraction/ingestion:

    - push/pull图示讲解,landing server/landing layer 图示讲解

    - 基本信息检查:文件是否全部传完等key points图示讲解

    - Data pre-processing

    - format modification以及Linux command 操作示例

    - flattening: 定义;示例;为什么做flattening(semi structure的优缺点),怎么做snowflake PySpark

    3. Data pre-processing的validation

    - 为什要做validation

    - 怎么做validation(数据类型检查,约束constraint检查,consistency检查,crosse-reference检查)

    4. 数据变形转换transformation

    - 为什要做transformation

    - 一般的转换流程

    - 用ELT工具Matillion案例

  • Tutorial 8(1 hours)

    1,AWS自动搭建Hadoop集群环境

  • Data warehouse & Snowflake Python

    1.SCD(Slow changing dimension): type1, type2, 和type3、4、5、6 一定要掌握type2

    2.图示讲解颗粒度grain

    3.讲解dimension hierarchy技术:

    - 固定层级技术Fixed depth positional hierarchies,

    - 可变层级技术variable depth hierarchies

    4.Fact table 高阶技术:

    - Surrogate key( 好处)-----工业上不推荐使用

    - 蜈蚣表 centipede fact table ----工业上不常用

    - Numeric value as attribute: 化成区间banding,另生成一个attribute,而不是只记离散数字

    - Accumulating snapshot fact table

    - Header/line fact table ------零售业经常使用: 举例图示讲解应该怎么使用

    - Allocated facts----应用:把header table放到line table;profit fact table 和 loss fact table

    - Multiple currency facts: 不仅仅包括当地汇率,而是需要的各地区汇率都在fact table里(currency conversion fact是ingestion的,不是自己定义的)

    - Multiple units of measure: 一个fact table里有很多的measurement,原因是需要给很多部门看(via view),尤其相同层级上,会把dimension measure转到fact table measure里

    - Year-to-date facts

    - Multipass SQL 为了避免多个fact table join; 如果需要实现连接多个fact表,要通过dimension去连接

    - Timespan tracking: 三个颗粒度:transaction(主要是之前讲的SCD); periodic snapshot, accumulating snapshot

    - Late arriving facts: 比如header/line

    5.Dimension table高阶技术:

    - Dimension-to-dimension 表的join: 用Snowflake, ourtrigger

    - Multivalued dimension: 比如,对于一个病人来说,一个treatment是一个dimension,但是treatment又会有多个值

    - Bridge table

    - Behaviour tag time series:比如,依赖accumulating fact table分析客户啥时买啥

    - Dynamic value banding: 举例图示讲解

    - Text comments:类似一个字典,因为建立fact table会尽量用缩写

    - Multiple time zones:类似 multiple currency; 一般用UTC

    - Step dimension:因为online shop有的会分类客户的动作,方便客户行为推断分析; 或者做remarking offer

    - Hot swappable dimension: 把generalization反向处理

    - Abstract generic dimensions

    - Audit dimension: 比如,某条records是从哪里过来的,是insert, update等辅助信息,用来说明此条records怎么生成的

    - Late arriving: 类似fact table 技术里的那个

    - Supertype and subtype schemas for heterogeneous products : 举例图示讲解,一般录入的时候已经定义好了,我们要做的是理解下supertype与subtype关系

    - Real time fact table

    - Error event schemas

    6.作业:实际table设计

    7.Snowflake操作

    - 下载安装python, pip, snowflake connector

    - 测试snowflake connector 能不能连接: 用snowflake官网上的validation.py

    https://docs.snowflake.com/en/user-guide/python-connector-install.html

    - 讲解ingest data 的python script: snow_sample.py

  • Data engineering two

    1. 数据loading

    - 为什么要做load data

    - Loading的类型(insert, update, append, truncate, overwrite)

    - Loading destination(.csv .txt. parquet等文件, OLTP数据库, OLAP数据库, indexing service)

    2. 数据可视化

    - 为什要做数据可视化

    - 可视化工具tableau介绍

    - Tableau案例讲解

    - Tableau Public introduction

    3. Data pipeline以及automation

    - 图示讲解data pipeline

    - Automation的好处

    - Automation的工具之一 Crontab讲解

    4. Snowpipe demo(从S3上导入数据到snowflake)

    5. Databricks讲解以及内部架构

    6. Project题目要求讲解

  • Tutorial 9(1.5 hours)

    1. hadoop on AWS

    2. 复习data pipeline

    3. 分享一个 take home challenge:Json导入数据到SQLite并分析

  • Big Data

    1.大数据主要概念:分布式存储 HDFS, HBase ; 资源管理 yarn ; 计算引擎:spark core; 服务API

    2.HDFS概念

    - Name node: 像一个列表,把每个节点的metadata都存下来

    - Data node:存储data block信息,有物理储存

    - Blocks :文件的区块大小,取决于系统在设计的时候取的值,文件会根据block大小,分成多个block,然后实现分布式存储,一般用128MB。注意:如果系统生成的文件太过小于block size,我们要合并

    - 架构:图示讲解流程组件,缺点:name node挂了,就整个崩溃了,所以name node一定有个standby

    3.Yarn概念

    - 是一种scheduling 技术,排序接受到的task,决定系统用哪种策略去跑query

    o 先进先出first in first out;

    o Capacity scheduler,系统预判需要资源多少,要的多就多分配; 这个方法常用;

    o Fair scheduler,一个动态操作方式,一个query执行后,剩余的资源就释放给别的query使用

    o 公有云:docker, kernerses 私有云:yarn

    4.Hive metastore

    - 一定要存储在关系型数据库

    - 对小文件非常敏感,如果小文件数量太多,超过上限,系统会崩溃,所以要合并或者删

    - 伪数据库存储,可以读,可以写,但是不可以删,不可以更新

    - 更系统化的操作instead of coding 底层代码操作

    o Management/Internal table 存储地址和表是一起的

    o Unmanagement/External table

    o Spark core 内存,分析;MapReduce 专注硬盘上计算处理

    5.GCP google cloud platform实际案例操作

  • Cloudformation and Serverless Framework

    1. Introduction of AWS Cloudformation

    1. Serverless的定义,好处

    2. 用terminal安装serverless

    3. 运行serverless

    4. 创建第一个serverless 项目

    5. 讲解初始项目的默认defualt代码:handler.py 和severless.yml

    6. 实施deploy方法:Serverless deploy –aws-profile profileName

    7. 案例讲解

    - AWS实际案例实施:

    -方法一:创建一个dynamodb表格(选择on demand); 在lambda创建一个函数,用来给上面的表格从某处load数据给它创建一个S3 bucket folder,并event去trigger上面的lambda函数; 给刚刚创建的s3 folder 里上传csv文件.

    Note:有时候上述操作可能实现不了,很可能是permission的问题给lambda访问s3, dynamodb的权限等;此案例这种方式有很多手动的操作,缺点:更改权限,hard code一些参数,麻烦且容易错.

    另外,如有有external的package没有在lambda的server中安装,例如pytz在lambda函数中手动import pytz时,导入不了,导致Lambda无法deploy。上述问题解决方法:本地配置好环境,打包好所有文件,上传到lambda

    -方法二:用serverless来deploy lambda:Create serverless项目,进到这个项目里,打开默认文件做version control:本地操git init/add/commit;在github创建一个repos,remote add连接远程与本地上传本地代码到远程git push;

    - 讲解Makefile代码:使用AWS_PROFILE来指定在多个aws账户下,使用的账户;以及对serverless command的wrap up等;对serverless.yml的讲解:指定deployment bucket,设定provider,指定runtime等等;创建requirements.txt,指定需要的python package;讲解handler.py

  • Tutorial 10(1.5 hour)

    serverless项目上机实操

  • Resume and Interview

    1. 澳洲就业行情介绍

    - Permanent/contract role介绍

    - 澳洲获取工作的方式结束

    - 招聘信息解读

    2. Glassdoor: https://www.glassdoor.com.au(怎么看别人对各个公司的评价;也会有面试的问题分享)

    3. LinkedIn:招聘者,应聘者怎么用

    4. 职场规划

    5. 老师自身投简历经历介绍

    6. 面试

    - 澳洲的面试流程介绍

    - 面试官的视角(会从哪些方面问应聘者,实际是在考核应聘者哪个方面等)

    - 应聘者的视角(从哪些方面去突出自己,如何使用STAR方法)

    7. 简历撰写讲解

    8. 课后作业

  • Data Analytics & Modelling Intro & Python Intro

    1.What is data analytics?

    - Non modelling analysis

    - Modelling analysis

    2.What’s modelling?

    - Problem analysis

    - Get data and data cleaning

    - Feature selection & engineering

    - Build model

    - Test & optimise model performance

    - Output visualisation & reporting

    3.Python introduction

    - Basic functions

    - Loop

    - If statement

    - Function

    - Module import

    - Tuple, list, dictionary

    4.Assignment: Register Kaggle account

  • Linear regression & Kaggle linear regression 

    1.复习并继续上节课的python基础

    - 变量命名、定义,赋值规则

    - 数据结构介绍:container(列表,元组,集合)

    - 流程控制:if, for, while

    - 函数

    - 文件操作OS简介; pandas简介

    - 异常Exception处理

    2.线性回归

    - 线性回归定义:

    o 用于处理连续型数据分类问题

    o 用‘一条线’去表明输入输出之间的关系

    o 假设assumption: 线性和线性可加性(每个x都是和y有线性关系,x都加起来仍然和y有线性关系)等(详细见讲义). Assumption很重要,面试会用来考核对回归的理解。

    o 3种估计方法estimation methods:

    • 最小二乘法ordinary least squares OLS

    • 最大似然估计

    • 梯度下降

    - Kaggle竞赛介绍,网页上各模块的使用

    - House Prices项目实际操作:

    o 分析问题

    o 数据清理:读取数据;初步探索数据

    3.逻辑回归

    - 用于处理非连续型数据分类问题

  • Tutorial 11 (1 hour)

    1.模型

    -学习(理解问题=喂数据,也就做习题)

    -应用实际预测(期末考试)

    2. 有标签学习 = 有监督学习 = 有答案 (用人工做出来打上去

    - 无标签学习 = 无监督学习 = 没有答案

    - 半监督学习 = 有一点点答案

    - 用人学习微积分,做练习题为例

    - 数据集 (1000图片,数字手写,答案0-9,打标签)

    3.7个模型训练演示(LR,3个贝叶斯分类器,决策树与随机森林,SVM支持向量机)

  • Data Engineering Practice
  • Kaggle linear regression2

    1.复习并继续上节课的python基础

    - 变量命名、定义,赋值规则

    2.数据清洗

    - 重复值

    - 错误的数据类型更正

    - 标准化Standardization:统一大小写等; 为了数据的可比性

    - 缩放Scale/transformation:数据本身的分布不变,做这个操作的原因(为了模型的稳定性)

    - 归一化/正则化normalization:为了满足某些模型的假设:eg. 用log 等方式

    - 缺失值

    - 异常值

    3.特征选择和特征工程

    - 初步看下每个变量的分布

    - 根据数据分布,对变量做分箱bin,合并merge…

    - 看哪些变量有多重共线性(就是看变量是independent与否):用 .corr() eg. corr > 0.7就是有共线性 note:支持向量机,神经网络 不用看变量共线性与否,但是线性模型,决策树等就需要

  • Kaggle logistic regression1

    1.复习数据分析流程

    2.建模型

    - 模型选择

    • Performance不是唯一影响,比如:公司关注可解释性,则不宜选择解释性差的模型,如神经网络

    • Visual studio代码讲解运行模型

    • 模型衡量metrics

    - 训练模型,预测结果,存结果,递交结果到Kaggle

    - 模型调优,防止过拟合,可以加正则化L1(Lasso) 或L2(ridge)

    3.分析结果报告

    - 重点不是展示为了这个结果,我花了多少时间,努力做了什么

    重点是要展示achievement,这个结果会怎样帮助公司(决策or省钱or降低多少risk等等),用这个模型对公司有什么好处

    4.Docker

    - 介绍

    • 是一个平台,包含docker image 把application或小系统装在docker container,然后可以通过docker engine打开 这个container,可以保证在统一的环境里。

    把所有文件都打包到一个container里,把开发环境直接封装转移给运维https://www.zhihu.com/question/28300645

    作用:怎么保证在测试环境里没问题,那么在商用环境也没有问题;测试环境里使用的版本,和商用环境的版本不同

    • Docker image是一个文件, container与image的关系

    • 什么时候使用docker:比如 developer 与IT operation之间的桥梁

    • Docker与VM的区别:

    a. 虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”,在“子电脑”里,你可以和正常电脑一样运行程序;

    b. 虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,可能还要花钱

    c. 容器技术恰好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境,占的空间很小

    - Get现有的image 比如: docker pull ubuntu:16.04

    - Create container

    • 命令 docker image ls可以看有哪些image以及id

    • 命令 docker run -it imageID首3位数字 bash

    • 命令 docker container ls -a 用-a是看全部的container

    • 命令 docker container start id前三位

    - 分享container给别人

    • 先退出container, docker export id前三位 -o XXX.tar

    - 删除image:

    • 先停止container,再删除;docker container stop ‘id’ ;docker container rm ‘id’

    • 再docker image rm ‘id’

    - 打开别人的container

    • Docker import XXX.tar

    - 要再次运行一个已经stop的container:run是新建,用start加exec打开

    - 自动化以上手动操作:写docker file,文件名必须是 Dockerfile

    Note:工作中也是都用 Dockerfile 互相分享文件,而不会传压缩文件

    - Docker hub和GitHub类似: push, pull

    5.Docker协作使用案例讲解

  • Tutorial 12(1 hour)

    Docker复习和应用

    https://github.com/AlexYibeiOu/Hadoop-Docker

  • Kaggle logistic regression2

    1.逻辑回归

    - 算法介绍:公式,输出是一个0~1的小数,大于阀值即为1,反之为0

    - Estimation估计方法, error函数不是凸函数,不能求导;所以它用最大似然估计

    2.实际项目讲解 Kaggle竞赛titanic项目(分类)

    - 代码code sample实例讲解建模

    o 数据导入

    o 数据探索

    o 数据清洗:

    • 缺失值: 看各列有多少值缺失 .isnull().sum(), 讨论用什么填充缺失值

    • Categoric的dummy encoding, 原理及使用

    o 数据的correlation:

    • 不能用df_train.corr() 去看,单独画柱状图看每个数据和Y的关系

    • 单独画柱状图看每2个数据features之间的关系

  • Model monitoring & Summarising

    1.继续上节课Kaggle竞赛titanic代码讲解

    - 划分train数据里的label y,合并train test的x,一起做数据清洗

    - 模型performance:混淆矩阵

    - 可视化:AUC,ROC

    - 模型优化,上传kaggle

    - 模型monitoring: Gini PSI CSI等

    2. DA求职简历,面试讲解

    3. DA 求职类型实例讲解:搜索linkin具体的工作job description解读

  • Tutorial 13(1 hour)

    1. 课程结构复习

    2. Leo老师课程预告和提前准备

    3. Spark local模式

  • Statistical modelling for data analysis

    1. 数据科学

    - 是需求的来源

    - 一个典型的数据项目流程(是迭代的,不是做一次就结束)

    • 了解商业需求business

    • 拿到数据 acquisition

    • 了解探索拿到的数据 exploration

    • 对数据建模 modelling

    • 各方面对模型都满意之后, deploy模型

    2. DA DE DS职位的技能需求

    3. DS课程大纲介绍

    4. Data lake + Data warehouse的初步讲解

    - 数据仓储DW

    • Implement一个数据库(可以随机选择),是multi-dimension且user-friendly,让business更好的explore和use数据,数据是denormalized,所以不用太多query, DW更好query,它是informative的

    • 但是,DW不容易实施, 它的迭代很慢

    • 是做historical data analysis

    - Data lake

    • 直接放数据,不用做太多transformation,因为没有schema

    • 直接access,做analytics,不用再从DW里拿,这样就可以快速deliver value

    • 可以做in-memory model,要支持Multi-structured数据 NoSQL

    5. R编程语言

    - 是一种解释性语言

    - 语法,基础函数等介绍

    • Numeric, Boolean, string

    • Vector向量!!

    o 生成一个向量c() rep(1,10)重复1重复10次 seq(2,6)生成2,3,4,5,6

    o [index]去获取一个向量元素等等

    • Data frames!!

    o Collection of related向量

    o 创建一个data frame:

    (1)读取一个文件: read.csv()

    (2)或者data.frame(height=c(XXXX), weight=c(XXX))

    o 获取数据的方式:用 $列名 等等

    • List列表(但是不常用)

    • Grouped expression

    • if(条件) {…} else {...}

    • while(条件){…}, repeat{… break;} , for(i in XXX) {…}

    • 函数

    o 语法: 函数名字<-function(参数) 表达式

    o 现有函数

    (1)Random

    - set.seed() sample(x,size,replace=False)

    - runif()生成uniform rnorm(n, mean=0, sd=1)生成正态分布 rbinom(), rexp(), rt()生成F分布

    (2)source(file) 适用场景:有多个R文件,调用不同文件里的函数

    (3)length() mean() median() range() unique() summary() diff()

    (4)rev()把vector里的元素倒序

    (5)set workspace,这样可以确保工作的时候在同一个workspace里

    • library(tidyverse) tidyverse是一个packages库

    6. 统计学知识

    - 描述性统计学(重点理解随机变量和概率)

    • 随机变量的定义:从expectation期望 和variance方差两方面来定义

    o 期望:roughly理解,是实验一定的次数时,实验结果的均值;期望也叫probability mass function

    o 方差:数据离平均值的波动程度,表示了数据的分散程度;理解计算公式

    o Covariance代表两个变量之间的线性关系,correlation是做了normalized的cov

    (1)cov(x,y)表示x离x的均值的某种情况时,y离y的均值的情况

    (2)eg. 当x 离x均值 正向很远, y离y均值也正向很远,那么x与y就正向很相关

    • probability distributions 分布

    o 随机变量: 离散discrete变量, 连续continuous变量

    o 二项分布binomial (实验做很多次,每次的结果只有2种); 期望 np

    o 伯努利 Bernoulli (实验做一次,结果只有2种); 期望 p

    o 均匀分布uniform(该区间内,大家的概率都一样)

    o 高斯分布gaussian 即正太分布normal distribution

    • 中心极限定理Central limit theorem:不管原来的数据怎么样,每次sample的数据集的平均值,集合起来,呈正态分布。

    o 实际应用:比如全国人均身高普查,每次抽查100人,求出身高平均值; 进行多次100人的抽查,然后会得到身高平均值的正太分布,就可以估计出全国人均身高。

    - 统计学习资源推荐

    7. R的实际操作

    8. 数据预处理

    - 数据清洗和准备:missing(MCAR,MAR,MNAR); outliers; transformation

    - 数据清洗的练习

  • Exploratory data analysis (EDA)

    1. Data lake

    - 可以从raw format开始,进行处理各种数据file

    - 目的是:

    o 减少了up-front,不需要schema

    o Acquire new data获得新数据更容易,做到raw data快速增加

    o 能以raw format存储大量非结构化数据

    o 可以做DW的staging area,这样可以减少DW的数据存储量

    o 有不同的layers,可以做offload archive,(DW是已经curated,schema很好的数据库,不适合做archive)

    o 但它不是只是raw data的存储地!!!

    - Iterative pattern

    o 获取raw data in raw format

    o 分析数据: 用schema on read,更加灵活有效:数据先存储了,然后再需要的时候,才设置schema,比如,Athena 要用数据的时候,先glue crawler创建了schema, 然后读S3的时候,schema相符合才能读取数据成功; 并不是读S3的时候才创建schema,是读的时候才去math up它们的schema。

    o Deliver data:分析后发现真的有用,要定下来的数据,变为curated数据,存到数据库里。用schema on write:数据入库的时候要先有schema, 比如 RDS,先定义schema建表格,然后populate

    - Data lake的实施:容易实施,难管理meta data

    - Data lake实施技术:

    o HDFS 性能不好,因为在disk里读写

    o 存储:Object store: S3; NoSQL:Elasticsearch,DynamoDB等等

    o Computation:用spark,或者用distributed database engine: snowflake, Athena

    - Layer:4层

    o Transient/temp区:不想直接放在data lake的数据文件,想先看看符合要求:data quality/ validity

    o Raw data/staging区:真正raw data存储的地方:存的是历史的数据

    Staging是raw数据稍微transform后放数据的地方

    o Curated data区:可用的,clean的,organized的数据;是为了分析、报告用的。Business会access curated data。数据工程师和数据分析师都有可能去处理raw data 整理成curated data。

    o Analytics sandbox: 建模的时候要access

    - Data Lake architecture

    - Data lake的挑战:技术,流程,人员

    2. 数据仓储的推荐书籍

    3. 有监督,无监督区别(有无ground truth)

    - 有监督学习举例

    o 优点business上很好解释理解

    o 主要有:回归,分类

    - 无监督学习:聚类。举例,customer segmentation;

    o 缺点:没有一个明确的目标;难评估建模的结果

    o 主要有:聚类, 降维(PCA)

    4. 无监督学习unsupervised learning

    - 聚类类型:

    o hierarchical直接从每个点去分割,然后最后选想要几个cluster;

    o partitional是先决定要几个cluster,再去分cluster

    - 聚类的关键依据:距离

    o 曼哈顿距离

    o 欧几里得距离

    - 聚类算法

    o KMeans

    - 代码实例讲解

    o 常用的data transformation:group_by, summarize, mutate, ungroup, ggplot, lead, lag, gather, spread

    o KMeans聚类案例, 在R中的实施、模型结果的解读(方法table的使用)

    5. 有监督学习supervised learning

    - 基本概念讲解: training data什么样子;training validation test概念;泛化generalize等等

    - Overfitting

    o 解决方法:正则化 (L1 norm & L2 norm)

    o 但是L1 norm 容易产生系数为0 的情况

    - 模型评估:

    o 混淆矩阵confusion matrix

    o ROC curve: AUC value

    因为模型输出结果其实是概率,根据设置的不同的阀值,可以有不同的混淆矩阵(因为一个阀值对应一个accuracy, sensitivity, specificity),这样就可以画出ROC curve(x轴是FP :1-specificity, y轴是TP :sensitivity)

    6. 数据探索data exploration 代码案例讲解

    - boxplot看数据有没有异常值outlier

    - correlation看2个变量之间的相关度

    - histogram, density看数据的分布

  • Tutorial 14(1 hour)

    1. 模型的作用?模型里面是什么?

    2. 模型如何学习?

    3. 什么是标签?

    有标签学习 = 有监督学习 = 有答案 (用人工做出来打上去

    无标签学习 = 无监督学习 = 没有答案

    半监督学习 = 有一点点答案

    强化学习 Alfago

    4. 模型分析的步骤?

    获取数据

    数据探索

    columns, shape, decribe, dtype, isnull().sum(). unique

    清洗 (最费时间)

    特征工程 (决定模型的上限)

    选择模型

    训练(喂数据,提高预测能力,目的要考试)

    预测,结果评估

    调整参数

    2. 分类与回归

    回归:连续数值预测

    分类:分类的结果(概率,0.6,0.7,0.8,0.6-A-B)

    3. 数据清洗

    类型检查 小数点

    缺失值处理 (删掉,填充 mean, null)

    去重复数据

    outlier 20-50w, 200, 300, 1000000,

    调整量纲,不改变分布 千万级-》0-1, -1~1

    调整分布,数据分布会改变

    4. Colab使用

    from google.colab import drive

    drive.mount('/content/drive')

  • Tutorial 15(1 hour)

    1 Docker commands

    1.1 Container commands

    docker container ls -a

    (docker ps -a )

    docker run -it [image id] bash

    docker container start [container id]

    docker export [container id] -o *****.tar

    docker container stop [container id]

    docker container rm [container id]

    docker import ****.tar

    exit

    docker exec -it [container id] bash

    1.2 Image commands 搜索,下载,列出,生成,删除

    docker search ***

    docker pull ***:[tag]

    docker image ls

    docker run -it [image id] bash

    docker image rm [image id]

    1.3 docker system commands

    docker system df

    docker tag ***

    1.4 Dockerfile

    docker build .

    docker build -t hp_model:1.0 --build-arg path="C:/Users/Ke/Downloads/Docker/House_Price/" .

    1.5 hub.docker.com

    docker login - - username=****

    docker push [user name]/[image name]

    docker pull [user name]/[image name]

    1.6 file copy

    docker cp [container id]:[path] [path]

  • Machine Learning I

    1. Statistical learning, 如何评估模型准确度:train data, validate data, test data

    2. 线性模型选择及正则化

    - Ridge 和Lasso regression即 shrinkage methods

    o Ridge是开平方的,不容易使得变量为0

    o Lasso是绝对值的,容易让变量的为0,所以变量选择常用lasso

    - 线性回归案例R代码讲解

    o str(数据) 查看数据类型等

    o plot(模型,which=1)

    • 希望residual残差是随机的。因为,如果误差不随机,预测结果总是偏大或者偏小,就证明模型不好,有某个规律没有被捕捉到

    • Which=1是把4个图当中的第一个图打印出来

    o summary(模型) 主要看 p value 和 estimate

    o update(原来的模型, .~ + 变量1:变量2) 这里的变量1和变量2,一般是比较相关的2个,而且之间的组合是update自己决定的,不一定是 加减乘除哪一个

    o anova(模型1,模型2,模型3.。。。) 输出一个表格,内容是模型之间p value 等参数的比较

    o categorical变量,

    o 特征选择

    • 用step() 会迭代尝试各种组合,找到最好的

    • 然后创造一些特征,尝试训练模型

    o Library(car)

    • outlierTest(模型, cutoff=0.05, digits=1)

    • influencePlot() 找出数据各个rows,哪个点对模型有很大影响的点

    3. Tree-base模型

    - 回归决策树,分类决策树

    o 基本原理,分支依据, cross entropy!!是常见面试问题

    o 树的剪枝:在损失函数error function后面加了有关树的节点数量的表达式

    - Bagging /Random Forests/ Boosting

    o Bagging 把原来的数据,每次有放回的sample一些,建决策树,最后把所有决策树结果平均/投票

    由于有放回取数据,总是有一部分总是取不到,叫 out-of-bag数据,可以用来test训练好的模型

    o Random Forests 会随机选择一些特征,训练模型; 可以使得特征之间decorrelate

    o Boosting 也是建很多树,但是树不是重头建,是在前面建的树基础上,再建一棵树,减少误差

    • 是ensemble集成模型,效果是树模型中最好的

    o 树tree的实验课lab讲解

  • Tutorial 16(1 hour)

    1. 答疑

    2.1 课程结构回顾 (drawio)

    2.2 数据仓库回顾 https://panoply.io/data-warehouse-guide/data-mart-vs-data-warehouse/

    2.3 数据分析回顾 ppt

    2.4 数据分析流程

    数据探索

    数据清洗 ( 缺失值, 峰值, 标准化, 分布 )

    特征筛选

    数据集切分

    选择模型并预测

    模型评估

    参数调整

    预测最终结果

    2.5 数据分析补充


    1. presentation

    1.1 storytelling

    1.1.1 What do they already know / understand?

    1.1.2 How much time do they have?

    1.1.3 Are they a details person?

    1.1.4 What do they think of you going into the room?

    1.1.5 What is important to them?

    1.2 title & slides

    1.3 summary

    1.4 hipotheses & problem statement

    1.5 perform your analysis

    1.6 business acumen

  • Data visualization with Tableau

    1. 数据分析工具 python R SQL tableau Excel Power BI

    2. Tableau介绍

    - 优点:interactive报表,有助于数据理解,数据探索等

    - 有5种产品(课上用tableau desktop)

    - Tableau和power BI 比较:

    o Tableau贵一些

    o Tableau功能更加强大且多些

    o Tableau应用更加简单一点

    3. Tableau实验基础

    - 打开tableau desktop

    - 打开Excel file,选择文件,打开

    o 这个excel文件可当作一个数据库, 里面的worksheets可以当作是table

    - 把左边sheets下面的‘table’ 拖到右边“drag table here”,即可以预览表内容了

    - 双击最下面边框处的bar里面的sheet1(在‘Data source’旁),就可以进入sheet页面,可以开始制作一些图表,分析了

    - 生成图: 拖动需要的数据到列,行, 会自动汇总并选择合适的图

    - 生成表格: 双击想要的numeric数据,会生成一个表格, 双击的变量都在‘measure names’里。

    o 可以点击Measure values下的 sum(profit),选择format,修改显示的格式, eg.加个$等等

    o Note: 双击numeric数据等于是把它拖到marks – label里,就是以数字形式展现,不去画图。所以,双击才会生成表格的样子

    4. 案例

    - 案例for老师创建的sheet2:

    o 在bar里sheet1旁边点击再生成一个新的sheet

    o 拖动quantity, sales到列,行;因为它们是measure变量,所以会自动汇总;

    o 如果想要把 measure 变量改为 dimension 变量,才能用图一个一个展示,而不是直接汇总: 选中它并右击,选择dimension,和discrete or continuous

    - 案例for sales by region

    o 新建sheet

    o 想建图:拖region到列,拖sales到行,右击行里的sales选 measure,然后可以选 sum, avg等

    o Marks里可以选color, size, label, detail: 可以直接从左边栏里拖变量到这些里面,并接着可以右击修改格式

    o Filters

    - 案例for scatter plot

    o 新建sheet

    o 想建图:拖 discount到列, sales到行, 拖product name到marks -- detail, category 到marks -- color, 再拖category到marks – shape

    o 右边的category会自动生成一个过滤器,但是要把鼠标hover上去,点击icon 笔, 即“highlight selected item”,才会生效

    6. 案例for profit by category

    o 新建sheet

    o 建层级关系变量hierarchy: 直接拖变量到另一个变量上

    o 想建图: 拖动profit到行,拖category到列,拖sub-category到列, 拖profit到Marks—color

    o 在右上角profit的过滤器,点击,可以edit color,选中红绿色

    - 案例for sales by region

    o 新建sheet

    o 想建表格: 拖category到行,拖region到列, 双击sales(相当于拖sales到marks—label)

    o 再command+ sales拖到到marks—color (Windows是Ctrl加sales,然后字会根据sales金额大小有颜色且有深浅

    o 点击marks的下拉菜单,选square,则颜色填充到表格每个cell, 而不只是字有颜色

    o 操作后退Windows是Ctrl-z 苹果电脑是command-z

    - 案例for data-dist/con

    o 新建sheet

    o 拖动order date到列,点击它,下拉有2个year:

    • 上面是离散的:比如:每月of 几年的汇总

    • 下面但是连续的值:比如:每年每月的值画成一个连续的折线

    - 案例for calculated field

    o 新建sheet

    o 想建表格: 拖动order ID到行, product name到行, 双击profit,sales

    o Create calculated field: 自定义一个filed,写自己的公式(在左边框最上面,search旁边的小三角符号)

    o 重要!!!分清 [Profit]/[Sales] 和 sum([Profit])/sum([Sales])之间的区别 (视频1小时23分处)

    - 案例 for countd

    o 新建sheet

    o 新建calculated field: Total Number of Customers = COUNTD([Customer ID]) (count distinct), sales per customer= Sum([Sales])/[Total Number of Customers]

    o 拖region到行,到marks—color,拖profit到列,sales,sales per customer到列

    - 案例 for sales/profit by state

    o 新建sheet

    o 拖state到marks – detail, 在右下角有 49unknows, 点击它,edit location,选择unite states

    o 拖sales到marks – size

    - 案例for sales/profit category

    o 新建sheet

    o 拖profit到行,拖sales到行,拖category到列

    o 在marks里,可以分别点击变量,分别设置是circle 还是bar等等

    o 2个轴可以合并: 行里第二个变量,下拉,选dual axis

    - 建dashboard

    o 尺寸: Size - > fixed size 1400*1000

    - 案例for set(Top N customer)

    o 创建parameter:写名字,allow values 选range ; current value 14, min 5 max 30 step 5

    o 建一个set来放top客户: in 在set 里的数据, out不在set里的数据

    • 做边框里,选中customer name,右击create set, 选top, by field, top里选刚刚建的parameter, 然后是by sales by sum,点击ok

    o 拖动set到 行,再拖customer name到行

    o 拖动set到filter里

    - 案例for donut

    o 同时选中category, sales,然后右边智能小图表里选pie

    o 拖region到列

    o 新建一个field, number of records 直接为 1

    o 拖number of records到行, 然后选择它,右击,选measure, 选min;(因为minimal records永远是1,就是为了生成1行饼图,且在屏幕正中)

    o Ctrl 行里的min(number of records), 复制一个, 这样生成了2 行饼图

    o 此时饼的大小和sale值有关,去掉marks 里size里的sum(sales)

    o 在marks里的2个min(number of records), 选下面那个,去掉 category,sum(Sales), 拖region到label里, 点击color,改为白色

    o 点击行里的第二个min(number of records), 右击, dual axis; 可以点击第二饼图的size,改大

    o 直接点击marks 里的 label那个方框,选alignment, 选居中等方式

    - 案例for pie

    o 新建sheet

    o 拖region 到 marks – color, 拖 sales 到marks – angle, 拖 sales 到 mark – size, 点击 entire view

    o 拖region, sales到marks – label;

    o 修改sales为百分比的形式:选中sum(sales)选中 quick table calculation, 选 percent of total

    - 案例for 用折线一起显示总体的sales和不同region的sales

    o 拖order data 到列, 拖sales到行,再拖一次sales到行

    o Order data 的year选下面那个连续的年,这样就有了一个time series

    o 在marks 里的2个sum(Sales),选中下面一个,然后拖region到marks – color

    o 同步2个axis的坐标: 选中坐标轴,右击,custom数据

    o 加上filters: year, category, region

    - 高级topic

    o Table calculation

    • 新建sheet

    • 拖category, sub-category到行, 双击sales

    • Analysis选择totals选择show column grand

    • Level of detail -–很重要---建calculated field:

    % of total sales = sum(sales)/ sum( {fixed: sum([sales]) } )

    固定住总的sales, 是在计算某sales占总体sales的比重,而这个总体sales是不会因为filter过滤出来的项而变化

    o URL filter by state(曾经的面试题)

    • worksheet -- > action  add action  go to URL  加上自己的url,选上state

    o reference line

    • 新建sheet

    • 建好sheet后,点击Data旁边的analytics  custom  reference line

    o Number of order per customer

    • { FIXED [Customer ID]: COUNTD([Order ID])} 每个customer做了多少distinct order

    o 重要! Level of detail 公式解释: {FIXED A : B}

    • Fixed后面跟了啥,就是固定的啥,没有东西,则就是固定了冒号:后面的东西。这里是fixed住A,求B

    o 求每一天有多少unique客户买了东西

    • 建立filed: new or exist : if [Order Date] = { FIXED [Customer ID]:min([Order Date])} then "New" else "Existing" end (这里是固定住customer,求每个customer的最小下单日期)

  • Tutorial 17(1 hour)

    1 数据库, 数据仓库,数据湖

    1.1 存储和计算,统一还是分离?

    1.2 分布式计算还是服务器计算?

    1.3 按需计价还是按服务计价?

    1.4 结构化数据和列式存储?

    1.5 oltp 还是 olap?

    1.6 实时还是离线?

    1.7 mr还是mpp?

    2 项目作业讲解

  • Machine Learning ||

    1. 支持向量机support vector machine

    - 分类模型:maximal margin classifier, support vector classifier, support vector machine

    - 基础原理及应用介绍

    - Lab代码讲解支持向量机模型的练习

    2. Unsupervised learning : hierarchy聚类方法原理

    3. Xgboost模型原理

    - General parameter: booster, silent, nthread

    - Booster parameter: eta学习率,min_child_weight, max_depth等等

    4. DE大项目part1到part4讲解

  • Tutorial 18(1 hour)

    1 数据库, 数据仓库,数据湖, 数据中台

    2 项目作业讲解

  • Machine Learning III

    1. Production machine learning: 定义, 流程,挑战

    - 产品的deployment,即deploy成一个endpoint(有输入有输出)

    - Machine learning流程

    o Data engineering流程

    o Machine learning流程

    o Model deploy流程

    o Monitor流程

    2. Sage maker—deployment方法之一

    - 是一个service,可以给product建application

    - 建有web url的model endpoint,然后用AWS把它变endpoint,是一个URL

    - AWS组件

    3. DE大项目最后一部分:实操deployment

    4. 小作业Stock代码讲解

    5. 大项目汇报要求讲解

  • Tutorial 19(1 hour)

    1 项目作业讲解

    2 编程语言

Curriculum Highlights

课程亮点

acutal-projects

简历增添4个项目

2个数据分析项目,1个AWS项目,1个团队大项目,简历增添项目经验

community-discussion

中澳就业两手抓

大数据时代,需求量最大的岗位,成为大数据工程师,拿高薪,迎接未来AI时代

interview-guidance

结合AWS云技术

结合AWS云技术,吃透数据分析、数据工程、数据科学

answer-questions

导师+Tutor答疑团

导师和Tutor全程答疑,Lecture+Tutorial,深度挖掘数据工程内容

个人项目1: Kaggle房价预测

个人项目1: Kaggle房价预测

项目介绍

通过使用Python及pandas,scikit learn 等数据分析包,手把手全面指导建立基于线性回归算法的房价预测模型和基于逻辑回归算法的泰坦尼克灾难幸存者模型。项目内容包括数据清理,特征选择,模型建立及优化等。

 

技术栈:Python, 线性回归, 数据分析模型的建立及优化, 数据分析模型性能的测试, 模型分析结果的展示 , 常用数据分析包的使用, 逻辑回归模型

个人项目2:泰坦尼克灾难幸存者分析项目

个人项目2:泰坦尼克灾难幸存者分析项目

业务场景:

基于连续数值输出和分类输出的分析场景。例如市场占有率预测,贷款拖欠率预测,个人信用评估分析等。 

职业方向:

数据分析师 建模分析师 风控分析师

技术栈:

个人项目3:AWS数据工程实践 -- 数据仓库,数据可视化

个人项目3:AWS数据工程实践 -- 数据仓库,数据可视化

项目介绍

从数据项目分析开始构建数据仓库,期间包括需求分析,架构设计,模型实现,数据可视化,最终通过整个项目的实践,了解到企业级数据仓库的构建过程,以及重点和难点,并且轻松应对类似公司面试,笔试题的作答。

 

核心技术:

1. 数据仓库的基本知识

2. 数据仓库的体系架构

3. 数据仓库的实现

4. 维度建模

5. 数据分析

技术栈:

团队大项目4 :三百万网络零售商eCommerce数据

团队大项目4 :三百万网络零售商eCommerce数据

项目介绍

此项目的商业目标是通过分析和处理网络零售商客户的三百多万条订单和销售数据,搭建一个推荐系统来辅助产品的市场销售。这个项目非常全面的涵盖了一个商业数据项目最实用的内容:从需求分析做起,一直到数据处理,数据架构搭建,机器建模和可视化。通过这个项目学生可以学习到如何在AWS云上搭建数据库以及数据流程,用大数据工具处理和转换数据,分析数据和搭建模型,最后把项目产品化并且创造价值。你将会了解到如何在AWS 上用s3搭建数据湖,用AWS athena和lambda function去处理数据,然后用stepfunction和spark去搭建整个流程,最后用sagemaker和api gateway去建立一个数据产品的app。此项目包含了多个数据文件,处理和建模的过程中用到了很多云上的解决方案,项目综合性很高,有很好的广度和深度,考验了学生如何处理在真实的商业环境中所遇到的问题。学生们在项目中所汲取的经验可以直接被应用到工作中。

技术栈:AWS数据湖搭建, 数据流程协调整合, 数据模型构建, 大数据引擎应用, 数据产品开发, 机器学习模型构建, 在线/离线推荐

JR Tutor Team

匠人导师

Gucheng Zhu
Gucheng Zhu

数据工程师

CBA银行数据工程师。早年留学澳洲,蹉跎中练出一身本领。资深数据工程师,10年本地工作经验,非常熟悉澳洲市场(Tier1 – Tier 3)的需求。拥有良好的技术、业务与交际能力,经常被上层委派指导Junior。现任澳洲知名银行大数据工程师,目前专注于企业级Big Data, GDW 2.0和数据科学产品的开发与整合。

  • Common Wealth
Power BI
CBA
数据科学
数据工程师
10年经验
Chao Mu
Chao Mu

Managing Consultant

目前就职于Altis Consulting,担任Managing Consultant。新南威尔士大学(UNSW)信息与技术硕士,曾就任于Contino,担任高级数据工程师。拥有6年+大数据开发经验,精通数据处理全部流程(数据收集,清洗,验证,转换,存储,建立数据仓库,数据分析,报表可视化等等),致力于运用当下最热门,最前沿的数据处理技术和平台解决公司的业务需求,发现新的商机,精通AWS和Azure云服务下的大数据平台架构

5年+大数据开发经验
精通数据处理
Leo
Leo

李光宇,资深数据工程师。本科毕业于中山大学应用数学系,硕士毕业于墨尔本莫纳什大学商业信息系统系。本人从数据库开发做起,非常熟悉在Linux环境下的数据开发和设计,对大数据和NoSQL的应用也很有心得。最近几年职业方向逐渐从数据库开发转到了数据分析和软件开发,主要包括在AWS环境下大数据的处理和机器学习模型的创建,数据库的应用也逐渐转向了云计算。 现在在麦考瑞银行做数据科学家,主要从事银行数据的分析和处理,还有机器学习模型的创建。现在的兴趣是深度学习的应用和开发。

  • Macquarie Group
数据科学家
机器模型
Ke Hu
Ke Hu

现任某澳洲知名银行高级模型分析师,UNSW通信与数据分析博士。曾在CSIRO担任数据科学家,也曾在中国移动公司担任项目经理。在Team招聘过程中负责参与多次面试,拥有丰富的面试经验,并对转行到数据分析领域与职业规划有着独特的见解和经验。

  • Common Wealth
Commonwealth Bank
Data Analyst
数据科学家

查看更多导师

COOPERATIVE INSTITUTIONS

导师来自