Download as pdf or txt
Download as pdf or txt
You are on page 1of 190

A PARTNER OF

“Data Analytics and Modelling with R” lần 9


TPHCM – 12/2019

Giảng viên
• TS. Nguyễn Quang (S-LAB)
• ThS. Hoàng Hải Nguyên (S-LAB, IcareBenefits)

Website: s-lab.vn - Email: info@s-lab.vn - Tel: 0399678936 - FB: Học Machine Learning và Deep Learning
@
DATA ANALYTICS
MACHINE LEARNING
DEEP LEARNING

TỔ CHỨC BỞI: s-lab.vn – Song Cau Co. Ltd. – Một đối tác của BigML.com
Nhà phát triển platform Machine Learning hàng đầu thế giới
bigml.com

Easy Data Science @ s-lab.vn - Nguyen Quang


Giới thiệu Khóa học
• Chương trình Khoa học Dữ liệu dễ dàng • Tổ chức bởi s-lab.vn (Cty TNHH Tư vấn đầu tư
– DATA ANALYTICS Sông Cầu)
– MACHINE LEARNING • Giảng viên chính:
– DEEP LEARNING • TS. Nguyễn Quang (ĐH QT Hồng Bàng, S-LAB)
• ThS. Hoàng Hải Nguyên (iCareBenefits, S-LAB)
• Thời gian: Thứ 2,4 và 6 từ 18h-21h từ
16/12/2019 • Phương thức học:
ü Học Offline
• Thời lượng: 30h tương ứng 10 buổi học
ü Học tiếng Việt
ü Giảng dạy bởi các giảng viên nhiều kinh nghiệm

Easy Data Science @ s-lab.vn - Nguyen Quang


Kết quả nhận được?

Easy Data Science @ s-lab.vn - Nguyen Quang


Kết quả nhận được
1. Ngôn ngữ R: khai phá, làm sạch, biểu diễn hình ảnh,…
2. Phân tích các quan hệ kinh doanh bằng phương pháp thống kê
3. Business Intelligence – Nắm bắt tình hình sản xuất kinh doanh qua dữ liệu
4. Xây dựng mô hình dự báo cho tương lai
5. Làm chủ quá trình triển khai dự án khoa học dữ liệu

Bạn có thể làm:


• Data analyst
• Business intelligence
• Junior Machine Learning engineer

Easy Data Science @ s-lab.vn - Nguyen Quang


Cách hoạt động
• Mỗi buổi: Học lý thuyết + Thực hành • Bạn cần có:
• Mỗi tuần (sau 3 buổi): bài tập (3 bài tập) – Laptop riêng
• Cuối khóa: Dự án nhỏ (có phản hồi) – Cài đặt R + Rstudio
– Tham dự đầy đủ và đúng giờ
• Tea-break tự do

Easy Data Science @ s-lab.vn - Nguyen Quang


Nội dung học
• Buổi 1: Mở đầu • Buổi 5: Biến đổi dữ liệu
– Giới thiệu lớp học – Làm sạch, chuẩn hóa
– Dữ liệu và vai trò của KHDL – Anomaly
– Giới thiệu công cụ: R, Rstudio, Rmarkdown – Giảm chiều
• Buổi 2: Ngôn ngữ R – Tạo biến mới
– Cơ bản • Buổi 6: Thống kê dữ liệu
– Vector, dataframe, list, matrix, function, loop – Phân tích tương quan
– Chương trình ML – Kiểm định và độ tin cậy, ANOVA
• Buổi 3: Xử lý dữ liệu và EDA – Bootstraping dữ liệu
– Load data • Buổi 7: Mô hình hồi quy
– Summary, Data dictionary • Buổi 8: Mô hình Logistics, cây quyết định,
– Join, Filter, group, indexing (dplyr) không giám sát
• Buổi 4: EDA và Business Intelligence • Buổi 9: Đánh giá mô hình, quy trình dự án
– Thống kê tổng hợp ML, xây dựng bài toán ML
– Biểu diễn đồ thị, Business Intelligence • Buổi 10: Giới thiệu về Neural Network &
– Phân tích Xu hướng Deep Learning

Easy Data Science @ s-lab.vn - Nguyen Quang


SESSION 1: GIỚI THIỆU

Easy Data Science @ s-lab.vn - Nguyen Quang


Thời đại mới

Easy Data Science @ s-lab.vn - Nguyen Quang


https://economicgraph.linkedin.com/research/LinkedIns-
2017-US-Emerging-Jobs-Report

Easy Data Science @ s-lab.vn - Nguyen Quang


Thời đại của dữ liệu. Vì sao?

Easy Data Science @ s-lab.vn - Nguyen Quang


Dữ liệu tăng theo hàm mũ

Easy Data Science @ s-lab.vn - Nguyen Quang


Động lực là gì?
Thiết bị thu thập

Easy Data Science @ s-lab.vn - Nguyen Quang


Động lực là gì?
Chi phí lưu trữ

Easy Data Science @ s-lab.vn - Nguyen Quang


Động lực là gì?
Công suất tính toán

Easy Data Science @ s-lab.vn - Nguyen Quang


Động lực là gì?
Kỹ năng kính toán

Easy Data Science @ s-lab.vn - Nguyen Quang


Dữ liệu là gì?
• Wiki: “Data is a set of values of subjects with respect to qualitative or quantitative variables.
Data and information or knowledge are often used interchangeably; however data becomes
information when it is viewed in context or in post-analysis.“
• Information = Knowledge -> Data ẩn chứa Knowledge!

• Vì sao Data ẩn chứa Knowledge?

Easy Data Science @ s-lab.vn - Nguyen Quang


Dữ liệu là gì?
• Wiki: “Data is a set of values of subjects with respect to qualitative or quantitative variables.
Data and information or knowledge are often used interchangeably; however data becomes
information when it is viewed in context or in post-analysis.“
• Information = Knowledge -> Data ẩn chứa Knowledge!

• Vì sao Data ẩn chứa Knowledge?

Easy Data Science @ s-lab.vn - Nguyen Quang


Learning and Machine Learning – Học và Học máy

Easy Data Science @ s-lab.vn - Nguyen Quang


Learning and Machine Learning – Học và Học máy

Easy Data Science @ s-lab.vn - Nguyen Quang


Learning and Machine Learning – Học và Học máy

Easy Data Science @ s-lab.vn - Nguyen Quang


Learning and Machine Learning – Học và Học máy

Easy Data Science @ s-lab.vn - Nguyen Quang


Quyết định kinh doanh tạo ra bởi dữ liệu
Ø Nhiều hơn
Ø Nhanh hơn
Ø Chính xác hơn
Ø Rẻ hơn

Kết luận:
Ø Doanh nghiệp không khai thác được dữ liệu sẽ lãng phí cơ hội kinh doanh
Ø Cần có các phương pháp Khoa học và Công nghệ phù hợp

Easy Data Science @ s-lab.vn - Nguyen Quang


https://www.oreilly.com/ideas/trends-in-data-machine-
learning-and-ai

4 bottlenectks:
Ø Culture
Ø Lack of data
Ø Lack of skills
Ø Business use cases

Easy Data Science @ s-lab.vn - Nguyen Quang


Culture
Ø Driver: Các thiết bị rẻ và nhiều hơn
Ø Driver: Chi phí lưu trữ giảm mạnh Lack of Data Dữ liệu nhiều và sẵn có

Ø Driver: Các tiến bộ về thuật toán

TRI THỨC/Knowledge Lack of Skills

Business Uses cases Các quyết định kinh doanh

Easy Data Science @ s-lab.vn - Nguyen Quang


https://hbr.org/2019/03/why-data-science-teams-need- Easy Data Science @ s-lab.vn - Nguyen Quang
generalists-not-specialists
Big Data và Data Science Overview

https://www.quora.com/What-is-the-difference-
between-data-analytics-and-Machine-learning

Easy Data Science @ s-lab.vn - Nguyen Quang


Data Structure
- Có cấu trúc – structured (RDBMS): cuộc gọi, giao dịch, người dùng,…
- Không cấu trúc – unstructured: dữ liệu tài chính, văn bản, video, …
- Semi-structure: XML, html
- Unstructure: văn bản, video,

Đặc trưng của Big data thường là


dữ liệu không cấu trúc

Easy Data Science @ s-lab.vn - Nguyen Quang


Value for Business
• Tối ưu hóa hoạt động kinh doanh: Sale, giá, chi phí, năng suất

• Nhận diện rủi ro: Customer churn, fraud, default

• Tím kiếm cơ hội kinh doanh: Up-sell, cross-sell, potential customer,…

• Compliance: Basel,…

Easy Data Science @ s-lab.vn - Nguyen Quang


BI vs Data Science (Machine Learning)
BI
• Báo cáo, Dashboard, … Data Science
• Thể hiện, giải thích quá khứ • Dự báo, khai phá, hỗ trợ ra quyết định
• Tổng hợp và nhóm dữ liệu • Tìm kiếm những mối quan hệ ẩn
• Dữ liệu cấu trúc • Tối ưu hóa và triển khai trên hệ thống
• Trả lời câu hỏi “When” và “Where” • Dữ liệu cấu trúc và không cấu trúc
• Trả lời câu hỏi “How” và “Why”

https://www.facebook.com/permalink.php?story_fbid=284787
Easy Data Science @ s-lab.vn - Nguyen Quang
1975252834&id=2743319952374704
Nhà Khoa học dữ liệu - Data Scientist
Vai trò mới và quan trọng

Nhiệm vụ:
- Nhận dạng các vấn đề kinh doanh và biến đổi thành bài toán Dữ liệu
- Thiết kế, xây dựng, triển khai các mô hình TK và KHDL trên dữ liệu lớn
- Nhận diện ra tri thức và khuyến nghị hành động kinh doanh
Data science
Kỹ năng:
“In God we trust.
- Quantitative DOMAIN
EXPERTISE
All others bring
data”.
“Ta tin Thượng đế.

- Technical STATISTICAL
RESEARCH
DATA
PROCESSING
Ngoài ra, là dữ
liệu”.
W.E. Deming

- Skeptical mind-set and critical thinking STATISTICS


DATA
SCIENCE
COMPUTER “We cannot solve problems
by using the same kind of
- Curious and creative
& MATHS SCIENCE
MACHINE LEARNING thinking we used when we
created them”
Ta không thể giải quyết các
- Communicative and collaborative vấn đề với chính cách nghĩ ta
đã dùng khi đặt vấn đề
Albert Einstein

Easy Data Science @ s-lab.vn - Nguyen Quang


Easy Data Science @ s-lab.vn - Nguyen Quang
Easy Data Science @ s-lab.vn - Nguyen Quang
SESSION 2: NGÔN NGỮ R

Easy Data Science @ s-lab.vn - Nguyen Quang


Công cụ khai phá dữ liệu?
• Bạn đã từng sử dụng công cụ nào?

• Ưu và nhược điểm của mỗi công cụ?

• Đặc điểm cần có của các công cụ trong thời đại dữ liệu?

Easy Data Science @ s-lab.vn - Nguyen Quang


Analytics languages
https://www.kdnuggets.com/2017/05/poll-analytics-data-
2011 2017 science-machine-learning-software-leaders.html/2

https://www.kdnuggets.com/2011/08/poll-languages-for-
data-mining-analytics.html

Python caught up with R and (barely) overtook it;


Deep Learning usage surges to 32%; RapidMiner
remains top general Data Science platform; Five
languages of Data Science.

Easy Data Science @ s-lab.vn - Nguyen Quang


R Language
• Được viết lần đầu bởi Ross Ihaka và Robert Gentleman tại ĐH University of Aukland, New Zealand
• Được tạo để phục vụ mục đích giảng dạy thống kê, dựa trên S
• Trở thành mã mở và trở thành ngôn ngữ phân tích dữ liệu phổ biến nhất
• Tăng trưởng nhanh chóng trong những năm gần đây (cùng với Python)
• Đồ họa đẹp
• Phù hợp cho cả thống kê mô tả, mô hình và mô phỏng
• Mã nguồn mở

• Chạy hoàn toàn trên Ram


• Cấu trúc ngắn, trực quan
• Được hỗ trợ bởi nhiều hàm viết sẵn,
gói thư viện, cộng đồng
• Được tích hợp trong nhiều chương
trình dữ liệu
Easy Data Science @ s-lab.vn - Nguyen Quang
An analytic example in R
Dữ liệu cho vay tiêu dùng

Easy Data Science @ s-lab.vn - Nguyen Quang


R example – A classification model
Kết quả mô hình phân loại

Easy Data Science @ s-lab.vn - Nguyen Quang


R Studio interface

Easy Data Science @ s-lab.vn - Nguyen Quang


3.1 R Cơ bản
- Installation
- Import and Export
- Attribute and Data Types
- Numeric, Character, and Logical Data Types
- Vectors
- Arrays and Matrices
- Data Frames
- (Lists )
- Factors
- SQL Database connect

Easy Data Science @ s-lab.vn - Nguyen Quang


Các khái niệm cơ bản về R
• Cài đặt R • Cài đặt thư viện
– h5p://www.R-project.org – install.packages(‘package_name’) #
– www.rstudio.com install.packages(‘rpart’)
• 4 cửa sổ chính của Rstudio: – library(package_name) # library(‘rpart’)
– Cửa sổ Biên soạn (Editor) (Bên trên – trái): dùng để • Trợ giúp:
soạn chương trình – help(function_name) hoặc ?function_name
– Cửa sổ Câu lệnh (Console) (Bên dưới – trái): dùng để • Thoát R: q()
gõ trực [ếp câu lệnh và hiển thị kết quả • Tạo project và file soạn thảo
– Cửa sổ Môi trường (Environment) (Bên trên – phải): – Menu File -> New file
hiển thị các biến và đối tượng hiện có/Các câu lệnh – Save/ Ctrl + S

• Dấu “Comment”
– Cửa sổ Thư mục (File) (Bên dưới – phải): hiển thị các
file trong thư mục/đồ thị/ • Môi trường
– (chuyển đổi cửa số Ctrl+1 - 9) – rm(list = ls())
– setwd(‘path’) / getwd()
• Câu lệnh nhắc > • Chạy dòng lệnh
• Phép snh – Ctrl + Enter
– 3+4

Easy Data Science @ s-lab.vn - Nguyen Quang


Các khái niệm cơ bản về R – Đối tượng, biến và hàm
Mọi thành phần trong R đều là đối tượng – Factor
• Phép gán – Complex
– x <- 5 • Gán và đổi kiểu?
– y <- x^2 + 3 • Lưu ý ký tự
• Hiển thị giá trị • Hàm số
– n – Các hàm đã làm quen
• Phép tính trên biến – new_function <- function(x) {sin(x)+2}
– z <- x + y – new_function(5)
– a <- “hello” – # Cách gọi hàm ()
– b <- “world” – # Dấu {}
– paste(a, b, sep = “ “) • Hàm liệt kê, xóa
– c – ls()
• Các kiểu biến số: – rm(x)
– Numeric – rm(y,z)
– Character – rm(list = ls())
– Logical

Easy Data Science @ s-lab.vn - Nguyen Quang


Các khái niệm cơ bản về R - vector
Một trong 2 đối tượng phổ biến nhất – v • Vector hóa: hàm trên vector
của R – v[8] <- "you” – x <- c(2,6,3,5)
• Khởi tạo: – v – y <- sqrt(x)
– x <- c(2,5,1,7) • Truy xuất bằng vector con – y
– x – x <- c(0, 3, -4, 1, 25, 14, -5) – x <- c(2,6,3,5)
• Kiểm tra: – y <- x[c(1,4)] – y <- c(1,2,5,2)
– mode(x) – y – x+y
– length(x) – y <- x[1:3] – z <- x*2
• Gán kiểu – y – z
– v <- c(4,3,7,"answer") – y <- x>0 – z <- log(x*2+5)
– v – y – z
– mode(v) – z <- x[y] # z <- x[x>0]
• Ký tự đặc biệt: – z
– u <- c(4, 6, NA, 2) • Loại bỏ phần tử
– u – y <- x[-3]
– mode(v) – y
• Truy xuất và gán – y <- x[-c(1,3)]
– v[3] – y
– v[3] <- 2

Easy Data Science @ s-lab.vn - Nguyen Quang


Các khái niệm cơ bản về R – bảng dữ liệu (dataframe)
• Đối tượng phổ biến và hữu dụng nhất trong R
• Dữ liệu 2 chiều – tương tự bảng tính Excel

Easy Data Science @ s-lab.vn - Nguyen Quang


Bảng dữ liệu (dataframe)
• Đối tượng phổ biến và hữu dụng nhất trong R
• Dữ liệu 2 chiều – tương tự bảng tính Excel

biến

quan sát

Easy Data Science @ s-lab.vn - Nguyen Quang


Các khái niệm cơ bản về R – bảng dữ liệu (dataframe)
• Mỗi cột/biến là một vector, có thể có kiểu dữ liệu khác nhau
• Khởi tạo từ vector
– vector_1 <- c("A","B","C")
– vector_2 <- c(25,21,28)
– vector_3 <- c(1.65, 1.70, 1.68)
– dataset_1 <- data.frame(Tên=vector_1,Tuổi=vector_2,ChiềuCao=vector_3)
– dataset_1

Easy Data Science @ s-lab.vn - Nguyen Quang


Các khái niệm cơ bản về R – bảng dữ liệu (dataframe)
• Thông 'n bảng dữ liệu
– sizes(dataset_1)
– names(dataset_1)
– colnames(dataset_1)
– rownames(dataset_1)
– str(dataset_1)
– summary(dataset_1)
• Truy xuất
– x <- dataset_1$Tên
– x
– x <- dataset_1[,1]
– y <- dataset_1$Tên[dataset_1$Tuổi > 22]
– y
– Đọc lại bảng germancredit và làm bài tập

Easy Data Science @ s-lab.vn - Nguyen Quang


NỘI DUNG 3: KHAI PHÁ DỮ LIỆU
- DATA EXPLORATORY ANALYSIS (DEA)

Easy Data Science @ s-lab.vn - Nguyen Quang


Dữ liệu
Wiki:
Data is a set of values of subjects with respect to qualitative or
quantitative variables. Data and information or knowledge are
often used interchangeably; however data becomes
information when it is viewed in context or in post-analysis.

Biến số (variables) có đặc điểm gì?

Easy Data Science @ s-lab.vn - Nguyen Quang


Công cụ để xử lý dữ liệu?
• Khoa học Xác suất và Thống kê

• Thống kê giúp bạn:


– Nhận biết thực tế từ dữ liệu (Descriptive statistics)
– Ra quyết định tốt hơn (Inferencial statistics)

Easy Data Science @ s-lab.vn - Nguyen Quang


Biến ngẫu nhiên rời rạc (discrete RV) và biến ngẫu nhiên liên tục
(Continuous RV)
• Các đặc tính có tính nhóm/phân loại thường được mô hình bởi biến ngẫu nhiên rời rac (“dimension”)
– Giới tính
– Nghề nghiệp
– Trường học
– …
Một số biến có giá trị số cũng được coi là phân loại: số cửa xe, số con trong gia đình,…

• Biến số đo lường (liên tục): “measure”


– Thu nhập
– Lãi suất
– Giá cả
– …

Easy Data Science @ s-lab.vn - Nguyen Quang


Tập hợp và mẫu

Population Sample

Measures used to describe the Measures used to describe the


population are called sample are called statistics
parameters
Dữ liệu là MẪU (Sample)
Vậy dữ liệu lớn là gì?
Easy Data Science @ s-lab.vn - Nguyen Quang
Từ điển Dữ liệu – Data dictionary
• Nguồn thông tin tập trung về các thông tin tổng quan của dữ liệu
• Chỉ ra các thông tin chung: nguồn dữ liệu và các mối liên hệ, các trường, kiểu dữ liệu, định
dạng, …
• Chia sẻ trên toàn doanh nghiệp

• Là việc đầu tiên phải làm!

Easy Data Science @ s-lab.vn - Nguyen Quang


Từ điển Dữ liệu – Data dictionary – VD Favorita

Easy Data Science @ s-lab.vn - Nguyen Quang


Khai phá dữ liệu (DEA) – Descriptive Statistics
1. Thống kê tổng hợp (Summary/Numerical Statistics)

2. Biểu diễn hình ảnh (Graphical Statistics)

THỰC HÀNH TRÊN R!

Easy Data Science @ s-lab.vn - Nguyen Quang


Khai phá dữ liệu (DEA) – Descriptive Statistics
1. Thống kê tổng hợp (Summary/Numerical Statistics)
1. Tổng hợp bảng dữ liệu
2. Thống kê tổng hợp 1 biến phân loại
• Bảng thống kê
3. Thống kê tổng hợp 2 biến phân loại
• Contingency table
4. Thống kê tổng hợp 1 biến liên tục
• Phân bố, histogram
5. Thống kê tổng hợp 2 biến liên tục
• Scatter plot
• Time series
6. Thống kê tổng hợp Biến liên tục và biến phân loại
• Aggregation
• Pivotable

Easy Data Science @ s-lab.vn - Nguyen Quang


Khai phá dữ liệu (DEA) – Descriptive Statistics
1. Thống kê tổng hợp (Summary/Numerical Statistics)

2. Biểu diễn hình ảnh (Graphical Statistics)

THỰC HÀNH TRÊN R!

Easy Data Science @ s-lab.vn - Nguyen Quang


1 biến phân loại

Easy Data Science @ s-lab.vn - Nguyen Quang


2 biến phân loại

Easy Data Science @ s-lab.vn - Nguyen Quang


3 biến phân loại

Easy Data Science @ s-lab.vn - Nguyen Quang


1 biến liên tục

Easy Data Science @ s-lab.vn - Nguyen Quang


1 biến liên tục + 1 biến phân loại

Easy Data Science @ s-lab.vn - Nguyen Quang


2 biến liên tục

Easy Data Science @ s-lab.vn - Nguyen Quang


0 X and Y are independent

iance has a major flaw: It is not possible to determine the


rength of the relationship from the size of the covariance The Covariance

Thống kê mô tả - độ tương quan giữa 2Thebiến


covariance measures the strength of the linear relationship betw
t of Correlation two numerical variables (X & Y)

Hệ số
res the •relative tương
strength quan
of the linear relationship between two
ical variables cov (X , Y) The sample covariance:
r n
e coefficient of correlation: SX SY ( Xi X)( Yi Y)
cov ( X , Y ) i 1
n n n n 1
(Xi X)(Yi Y) (Xi X)2 2
(Yi Y )
i 1
SX i 1
SY i 1
Only concerned with the strength of the relationship
n 1 n 1 n 1
No causal effect is implied
61

Easy Data Science @ s-lab.vn - Nguyen Quang


Tổng hợp dữ liệu
• Câu lệnh 'aggregation’: aggregation(measure_name ~ dimension_name, data = dataframe,fun)
– fun: min, max, mean, sd, sum, defined_aggregate_function)
– Example
– Nhóm theo nhiều dimension
• Câu lệnh 'apply': (cho ma trận) apply(matrix, margin,fun)
– fun: min, max, mean, sd, sum, defined_aggregate_function)
– Ví dụ cơ bản:
• x <- cbind(x1 = 3, x2 = c(4:1, 2:5))
• dimnames(x)[[1]] <- letters[1:8]
• apply(x, 1, mean)
• apply(x, 2, mean)
• apply(x, 2, sort)
• Câu lệnh ’tapply': (cho bảng dữ liệu) tapply(measure_vector, dimension_vector,fun)
– tapply(y, x, FUN = function(x){mean(x[x>0])})
– tapply(y, list(x1,x2),mean)
PivotTable trong Excel?

Thư viện ’dplyr’: dataframe %>% select(variables) %>% group_by(dimension) %>% summarise(Value1 =
fun(measure), Value2 = fun(measure))

Easy Data Science @ s-lab.vn - Nguyen Quang


Thống kê mô tả khác
• Statistics function
– mean(), min(), max()
• Variance, standard deviation
Measures of Variation: The Sample Variance
– var(x) Average (approximately) of squared deviations of values from the mean
– sd(x) Sample variance and standard deviation:

n n
(Xi X )2 (Xi X)2
S2 i 1
S i 1
n -1 n -1
Where X = arithmetic mean
• Skew, Kurtosis n = sample size
Xi = ith value of the variable X

Standard variation
Most commonly used measure of variation
Shows variation about the mean
Is the square root of the variance
Has the same units as the original data

@ 46
Easy Data Science @ s-lab.vn - Nguyen Quang
DEA vs. Presentation
• DEA khám phá các đặc tính và mối quan hệ trong dữ liệu, là bước chuẩn bị cho mô hình
• DEA không nên được dùng cho báo cáo cuối cùng

DEA Presenta+on

Easy Data Science @ s-lab.vn - Nguyen Quang


DEA – Thực hành
• Giới thiệu chương trình Rmarkdown

• THỰC HÀNH TRÊN DỮ LIỆU HOME CREDIT

Easy Data Science @ s-lab.vn - Nguyen Quang


KẾT THÚC PHẦN I
• Phần I: NGÔN NGỮ R và THỐNG KÊ MÔ TẢ

• Phần II: BUSINESS INTELLIGENCE và MÔ HÌNH THỐNG KÊ

• Phần III: MÔ HÌNH MACHINE LEARNING CƠ BẢN

Easy Data Science @ s-lab.vn - Nguyen Quang


What’s next
• Phần I: NGÔN NGỮ R và THỐNG KÊ MÔ TẢ

• Phần II: BUSINESS INTELLIGENCE và MÔ HÌNH THỐNG KÊ


– Session IV: BUSINESS INTELLIGENCE
– Session V: Biến đổi dữ liệu
– Session VI: Mô hình thống kê

• Phần III: MÔ HÌNH MACHINE LEARNING CƠ BẢN

Easy Data Science @ s-lab.vn - Nguyen Quang


SESSION 4: BUSINESS INTELLIGENCE

Easy Data Science @ s-lab.vn - Nguyen Quang


Business Intelligence là gì?

Business intelligence (BI) is a set of theories,


methodologies, architectures, and
technologies that transform raw data into
meaningful and useful information for
business purposes.

BI là tập hợp các lý thuyết, phương pháp,kiến


trúc và công nghệ giúp chuyển đổi dữ liệu thô
thành thông tin hữu ích phục vụ cho mục đích
kinh doanh

Easy Data Science @ s-lab.vn - Nguyen Quang


Các vấn đề quản lý kinh doanh

• Có quá nhiều dữ liệu nhưng không thu thập được


• Nhiều dữ liệu nhưng không match với nhau được
• Dữ liệu bị lỗi quá nhiều
• Làm lại các thao tác xử lý
• Business user không được quyền truy cập
• Business user không tự thao tác được
• Báo cáo không hiển thị rõ những xu hướng quan trọng
• Các báo cáo không đồng nhất
• Làm sao ra các quyết định?

Easy Data Science @ s-lab.vn - Nguyen Quang


Các vấn đề quản lý kinh doanh – Mục đích

• Có quá nhiều dữ liệu nhưng không thu thập được -> Phải thống nhất dữ liệu
• Nhiều dữ liệu nhưng không match với nhau được (consolidate data)
Moving/Gathering
• Dữ liệu bị lỗi quá nhiều Từ nhiều nguồn khác nhau
• Làm lại các thao tác xử lý
• Business user không được quyền truy cập Making it consistent
Quy ước khác nhau: số hiệu, giá trị
• Business user không tự thao tác được True/False vs 1/0,…
• Báo cáo không hiển thị rõ những xu hướng quan trọng Đơn vị khác nhau: inch vs cm, $ vs
• Các báo cáo không đồng nhất VND,…
• Làm sao ra các quyết định? Cleaning up
Lỗi máy đo
Lỗi nhập liệu
Thiếu dữ liệu

Easy Data Science @ s-lab.vn - Nguyen Quang


Giải pháp – Datawarehousing

Ralph Kimball, Margy Ross, The Data Warehouse Toolkit, 2nd Edition, 2002

Easy Data Science @ s-lab.vn - Nguyen Quang


Data Access Tools

• Các công cụ truy vấn dữ liệu

• Các chức năng đa dạng cho việc biểu diễn và


hỗ trợ ra quyết định
– Các báo cáo và phân tích mẫu
– Các công cụ truy vấn riêng biệt
– Các công cụ data mining, modeling, forecasting

• Tập trung vào khả năng biểu diễn hình ảnh

• Phục vụ số đông đối tượng business


– Executives and business decision makers
– Analysts
– Information workers, engineers
– Line workers
Easy Data Science @ s-lab.vn - Nguyen Quang
Thành phần dữ liệu đáng chú ý của Data Warehouse

• Cubes • Cubes là các cấu trúc chứa dữ liệu


• Measures • Người đọc truy vấn vào dữ liệu theo các
• Key Performance Indicators chiều
• Dimensions
– Attributes
– Hierarchies

(“data warehouse” và “data mart” là các khái


niệm tương đương, chỉ khác về quy mô)

Cubes giống khái Easy


niệm gì Science
Data chúng @ tas-lab.vn
đã dùng để phân
- Nguyen Gch?
Quang
Cube hay là Pivot Table

Product – Chocolate
Date – May 2003
Date
Region – South East
Region
Measure – Sales

Product

How much Chocolate did we sell in the South East in May 2003?

Easy Data Science @ s-lab.vn - Nguyen Quang


Cubes

• Đặc điểm về Measures:


– Đo lường giá trị users cần xem
– Đa số là dạng số
– Thường là cộng được
– Nhưng một số không cộng được:
• Ngày ship, số mặt hàng duy nhất,…

• Đặc điểm về Dimensions:


– Cách users muốn đo dữ liệu
– Thường là thời gian, sản phẩm, địa lý, tài khoản, nhân
viên
– Chiều tạo bởi attributes và có thể có thứ bậc
• Year – Semester – Quarter – Month – Day
• Product Category – Product Subcategory - Product

Easy Data Science @ s-lab.vn - Nguyen Quang


Hierarchies
• Có thể sắp xếp các attributes để giúp phân tích
• Một trong những chức năng phổ biến của BI - “drill down” – phân tích đến chiều thấp hơn
– Ví dụ thứ bậc thời gian: Year -> Quarter -> Month -> Day
– Ví dụ thứ bậc địa điểm: bang -> thành phố -> quận -> cửa hàng

Easy Data Science @ s-lab.vn - Nguyen Quang


BI provider

Easy Data Science @ s-lab.vn - Nguyen Quang


Dashboard Example - PowerBI

Easy Data Science @ s-lab.vn - Nguyen Quang


Dashboard Example - Tableau

Easy Data Science @ s-lab.vn - Nguyen Quang


Dashboard Example - Tableau

Easy Data Science @ s-lab.vn - Nguyen Quang


BI practice - Tableau
Family Family
Sale_by_time OnPromo Sale_by_Year Sale_by_Family AUTOM
AUTOMOTIVE
Year of Date 10M BABY
Month of Date Onpromotion BABY CARE
2013 2014 2015 2016 2017 BEAUT
3M BEAUTY
1000K 4,693,533 6,951,019 8,011,069 9,656,140 6,478,478 BEVER

Count of Id
BEVERAGES BOOKS
100K 2M 9M
BOOKS BREAD
Year of Date
800K 1M BREAD/BAKERY CELEB
Stor.. 2013 2014 2015 2016 2017
CELEBRATION 1 CLEAN
80K 0M 8M

Distinct count of Id
2
3 DAIRY
FALSE NA TRUE CLEANING 4
DELI
Unit Sales

5
600K DAIRY 6
7 EGGS
60K 8
Unit Sales Histogram DELI
9
7M FROZE
EGGS 10
11 GROCE
400K 12
40K FROZEN FOODS 13 GROCE
Count of Unit Sales 14
GROCERY I 15 6M HARD
3K 16
17 HOME
GROCERY II

Unit Sales
200K 18
20K 19 HOME
2K HARDWARE 20
21 5M HOME
HOME AND KITCHEN I 22
23 HOME
0K 0K HOME AND KITCHEN II 24
1K 25 LADIE
February 2013
May 2013
August 2013
November 2013
February 2014
May 2014
August 2014
November 2014
February 2015
May 2015
August 2015
November 2015
February 2016
May 2016
August 2016
November 2016
February 2017
May 2017

26
HOME APPLIANCES 27 LAWN
28 4M
0K HOME CARE 29 LINGE
30
LADIESWEAR 31 LIQUO
1,000 10,000 32
33 MAGA
LAWN AND GARDEN 34 3M
Unit Sales (bin) 35 MEAT
LINGERIE 36
37 PERSO
LIQUOR,WINE,BEER 38
39 PET SU
Store Item Distribution MAGAZINES 40
41
2M
PLAYE
42
MEATS 43 POULT
2000K 44
PERSONAL CARE 45 PREPA
46 1M
PET SUPPLIES 47 PRODU
48
49 SCHOO
1500K PLAYERS AND ELECTR.. 50
51 SEAFO
Unit Sales

POULTRY 52 0M
53
PREPARED FOODS 54 2013 2014 2015 2016 2017
1000K PRODUCE Year of Date
SCHOOL AND OFFICE S..

500K SEAFOOD

0K
3 7 11 15 19 23 27 31 35 39 43 47 51

Easy Data Science @ s-lab.vn - Nguyen Quang


10 bước xây dựng 1 Dashboard BI
1. Define the Goal.
2. Choose the Level of Detail Based on Audience
3. Create a Summarized Overview with Drill-Down Details.
4. Pick the Type of Dashboard.
5. Choose Your Data Representations.
6. Add Context with Clear Titles and Descriptions.
7. Review the Data for Utility.
8. Check Visual Design with the Stakeholders.
9. Ensure Automated Data Collection.
10. Nominate a Dashboard Champion.

https://www.ien.com/advanced-manufacturing/blog/21020235/10-steps-for-building-your-bi-dashboard

Easy Data Science @ s-lab.vn - Nguyen Quang


BI vs Machine Learning (FB Học Machine Learning và Deep Learning)

BI Machine Learning (ML)


- Mô tả tình hình hoạt động hiện tại và quá khứ. - Đưa ra những dự báo cho tương lai.
- Thường sử dụng nhiều hình ảnh - ML sử dụng mô hình học từ dữ liệu
- Cung cấp các chức năng đào sâu các yếu tố liên - Triển khai ở quy mô lớn, tối ưu đến từng đối
quan,… từ đó đưa ra quyết định cải tiến hoặc tượng (khách hàng, sản phẩm, đối tác,…)
sửa đổi. - Giúp tối ưu giá trị sản phẩm, dịch vụ và chi phí.

BI giúp đưa ra những quyết định quan trọng, tầm ML sử dụng kiến thức máy học và công nghệ để tạo
ảnh hướng lớn, hiệu quả nhanh khi có những vấn ra giá trị, thường được tích hợp vào trong hệ thống
đề hay cơ hội tồn tại trong doanh nghiệp. vận hành, tự động đưa ứng dụng vào sản phẩm.

https://www.facebook.com/H%E1%BB%8Dc-Machine-Learning-v%C3%A0-
Deep-Learning-2743319952374704/?modal=admin_todo_tour

Easy Data Science @ s-lab.vn - Nguyen Quang


SESSION 5: BIẾN ĐỔI DỮ LIỆU

Easy Data Science @ s-lab.vn - Nguyen Quang


Biến đổi dữ liệu
Sau khi biểu diễn(EDA), chúng ta tìm được những đặc điểm quan trọng của dữ liệu

Những đặc điểm đó có phù hợp để đưa vào mô hình chưa?

Những vấn đề gì có thể xảy ra?

Easy Data Science @ s-lab.vn - Nguyen Quang


Biến đổi dữ liệu
Những vấn đề gì có thể xảy ra?

1. Dữ liệu thiếu (NA missing) -> loại bỏ hoặc sửa đổi

2. Dữ liệu bất thường (Outliers detection) -> loại bỏ (do sai) hoặc biến đổi

3. Biến đổi dữ liệu -> biến đổi cho phù hợp với mô hình

Easy Data Science @ s-lab.vn - Nguyen Quang


Dữ liệu thiếu
1. Thiếu ở nhiều biến:
1. Nhiều quan sát -> bộ dữ liệu không tốt (bad)
2. Ít quan sát -> Kiểm tra các quan sát có cùng thiếu chung ở nhiều trường -> loại bỏ (do các quan sát có
vấn đề) và kiểm tra nguồn dữ liệu của nhóm này

2. Thiếu ở một số biến:


– Nhiều quan sát -> biến không tốt -> kiểm tra lại cách thu thập dữ liệu (chủ quan) -> có thể loại biến
• Biến phân loại: chuyển NA thành “no_info”
– Ít quan sát -> nguồn dữ liệu bị thiếu (khách quan)
• Biến phân loại: chuyển NA thành “no_info”
• Biến liên tục: impute

Easy Data Science @ s-lab.vn - Nguyen Quang


Outliers detec,on (biến liên tục)
• Dữ liệu khác xa tập hợp chung (chuẩn)
• Có thể bị sai:
– Sai ngay từ khi đo
– Sai khi nhập
– Tính toán sai
Cần loại bỏ khỏi tập dữ liệu
• Có thể là đúng và có giá trị ngoại lệ
– Ví dụ: 1$ salary
Cần có kiến thức business.
?
• Các phương pháp hình ảnh hữu dụng
– Histogram (1 chiều)
– Boxplot

Easy Data Science @ s-lab.vn - Nguyen Quang


Boxplot

25% of data 25% 25% 25% of data


of data of data

Xsmallest Q1 Median Q3 Xlargest

• Cần chú ý nhưng không phải loại bỏ ngay


• Biến phân loại
1. Nhóm các loại nhỏ (< 5%)
2. Bỏ qua (Tạo dataset mới)

Easy Data Science @ s-lab.vn - Nguyen Quang


Outliers detection (biến liên tục)
• Dữ liệu khác xa tập hợp chung (chuẩn)
• Có thể bị sai:
– Sai ngay từ khi đo
– Sai khi nhập
– Tính toán sai
Cần loại bỏ khỏi tập dữ liệu
• Có thể là đúng và có giá trị ngoại lệ
– Ví dụ: 1$ salary
?
Cần có kiến thức business.
• Các phương pháp hình ảnh hữu dụng
– Histogram (1 chiều)
– Boxplot

Easy Data Science @ s-lab.vn - Nguyen Quang


Outliers detection (biến liên tục)
• Biểu diễn theo chiều khác

May be not Outlier

Easy Data Science @ s-lab.vn - Nguyen Quang


Outliers detec,on (2 biến liên tục)

pairs() function in R

Easy Data Science @ s-lab.vn - Nguyen Quang


Biến đổi dữ liệu – Feature Engineering

Mục đích: cải thiện mô hình, giúp mô hình chính xác hơn
1. Tạo biến mới
1. Polynomial (+ interacting term)
2. Domain knowledge features (ratios)
2. Lựa chọn (lọc) biến
1. Correlation
2. VIF
3. Biến đổi biến
1. Outliers (truncate, group)
2. Chuyển đổi thang log, sqrt
3. New dummy (Chuẩn hóa theo khu vực)
4. Cat. -> One-hot
5. PCA
6. Cont. -> cat.

Easy Data Science @ s-lab.vn - Nguyen Quang


Outliers
1. Biến phân loại
1. Nhóm các loại nhỏ (< 5%)
2. Bỏ qua (Tạo dataset mới)

2. Biến liên tục


1. Boxplot

Easy Data Science @ s-lab.vn - Nguyen Quang


SESSION 6: MÔ HÌNH THỐNG KÊ

Easy Data Science @ s-lab.vn - Nguyen Quang


Thống kê – Một vài khái niệm
• Biến – variables: là đặc điểm của đối tượng ≡ feature, attribute trong DS

• Không gian mẫu – population: là tập hợp tất cả các đối tượng quan tâm (không gian lớn)

• Mẫu – sample: là một tập hợp con được thu thập ≡ dataset

• Dữ liệu – data: là các giá trị của các biến trong mẫu

• Mô hình – model: là một mô hình (xác suất) được đề xuất cho phân bố của không giam mẫu

• Tham số - parameter: là tham số của mô hình (có thể có mô hình không tham số)

• Thống kê – statistics : là một đại lượng số đo được từ mẫu, đặc trưng cho tính chất của mẫu

• Các phương pháp thống kê – statistical methods - bao gồm:


– Đo lường và mô tả các statistics
– Ước lượng các parameters
– Kiểm định các tính chất của model
– Rút ra kết luận và dự báo cho các đối tượng trong population

Easy Data Science @ s-lab.vn - Nguyen Quang


Parameters và statistics
Bad news
• Sta1s1cs khác parameters
Good news
Parameter?
• Sta1s1cs (X) khá gần với parameters (µ)
Popula1on • Sta1s1cs quan trọng nhất

Định lý Giới hạn TT


f(X)
!
" ~ N(µ, ss)

σs
Sample X
μ
hKps://www.123rf.com/photo_34866087_stock-vector-stand-with-charts-graphs-
and-parameters-sta1s1c-business-concept-of-analy1cs.html Easy Data Science @ s-lab.vn - Nguyen Quang
Phân phối chuẩn
• The Standardized Normal Z ~ N(0, 1) • X ~ N(µ, s) -> Biến đổi thành Z (mean = 0
và sd = 1)

X -μ
Z=
σ

• Ví dụ:
– X theo pp chuẩn với µ = 30 và s = 2, Pnh xác
suất P(28 <= X <= 32)?
– Tính giá trị a, b, sao cho P(a <= X <= b) = 95%?

Easy Data Science @ s-lab.vn - Nguyen Quang


Ước lượng và khoảng tin cậy
• Định lý giới hạn trung tâm • Nếu biết '& và s, ta có thể ước lượng µ?:

$
'& ~ N(µ, ss) với !" =
%

μx = μ

Normal Population
μ x
Distribution

Normal Sampling
Distribution
(has the same mean) x
μx
Easy Data Science @ s-lab.vn - Nguyen Quang
Ước lượng và khoảng tin cậy
• Định lý giới hạn trung tâm • Nếu biết '& và s, ta có thể ước lượng µ?:

σ
$ X ± Z α/2
'& ~ N(µ, ss) với !" = n
%

μx = μ Gọi là Khoảng tin cậy – Confidence Interval


– với độ tin cậy (1-a)
Normal Populabon
μ x
Distribubon
Trong đó
– Là điểm ước lượng
Normal Sampling – Zα/2 là giá trị cực điểm cho xác suất α/2 ở mỗi
Distribution đuôi
(has the same mean) x
μx
Easy Data Science @ s-lab.vn - Nguyen Quang
Ước lượng và khoảng /n cậy

• Câu hỏi: nếu không biết s?


Ước lượng bởi

• µ được ước lượng bởi:

S
X ± tα / 2
n
• tα/2 là giá trị cực điểm cho xác suất α/2 của
phân phối Student với df = n-1
http://statcalculators.com/students-t-distribution-table/

Easy Data Science @ s-lab.vn - Nguyen Quang


Khoảng 'n cậy cho biến phân loại
• Tỷ lệ π được ước lượng bởi tỷ lệ mẫu p

p(1- p)
• Theo phân phối chuẩn với s được ước lượng bởi
n
• Khoảng tin cậy p(1 - p)
p ± Z α/2
n

Easy Data Science @ s-lab.vn - Nguyen Quang


Kiểm định giả thuyết

Easy Data Science @ s-lab.vn - Nguyen Quang


Hypothesis Testing
• Kiểm định giả thuyết thường bắt đầu với một giả định/mô hình về không gian mẫu

• Thiết lập giả định null hypothesis (H0) và giả định thay thế bằng HA

• Kiểm định hai giả thuyết với dữ liệu

• Kết luận sẽ là hoặc bác bỏ H0 hoặc không bác bỏ H0

Easy Data Science @ s-lab.vn - Nguyen Quang


Hypothesis Tes,ng
• HA là kết luận đạt được nếu bác bỏ H0, khi có đủ bằng chứng từ dữ liệu

• Nếu không bác bỏ H0, thì không đưa ra được kết luận/hành động gì
– Giữ nguyên trạng thái hiện tại, mặc dù không kết luận là nó đúng

• H0 luôn là giả thuyết về tham số của không gian mẫu, có chứa dấu “=“

• HA không có chứa dấu “=“

Easy Data Science @ s-lab.vn - Nguyen Quang


Hypothesis Testing
• Ví dụ:
– H0: Quảng cáo qua Radio không giúp tăng doanh số
– HA: Quảng cáo qua Radio giúp tăng doanh số
(Thông thường, giả định H0 thường là phủ đinh)

• Khi xây dựng các mô hình dữ liệu nên kiểm định, ví dụ


– H0: Mô hình cây quyết định không giúp dự đoán KH rời dịch vụ tốt hơn mô hình hiện tại lọc theo dữ
liệu lương trung bình tháng
– HA: Mô hình cây quyết định giúp dự đoán KH rời dịch vụ tốt hơn …

Easy Data Science @ s-lab.vn - Nguyen Quang


Hypothesis Testing – Phương pháp
PP Giá trị cực điểm PP p-value
1. Đặt giả thuyết H0 và giả thuyết thay thế H1 1. Đặt giả thuyết H0 và giả thuyết thay thế H1
2. Chọn độ tin cậy a, mẫu n 2. Chọn độ gn cậy a, mẫu n
3. Xác định “test statistic” và phân phối 3. Xác định “test stagsgc” và phân phối
4. Xác định giá trị cực điểm chia cắt vùng bác 4. Thu thập dữ liệu và hnh test stagsgc và p-
bỏ và không bác bỏ value
5. Thu thập dữ liệu và tính test statistic 5. Kết luận kiểm định và đưa ra quyết định:
6. Kết luận kiểm định và đưa ra quyết định: – Nếu p-value >= (1- a) -> không bác bỏ H0.
– Nếu “test statistic” rơi vào vùng không bác bỏ – Nếu p-value < (1- a) -> bác bỏ H0.
-> không bác bỏ H0.
– Nếu “test statistic” rơi vào vùng bác bỏ -> bác
bỏ H0.

Easy Data Science @ s-lab.vn - Nguyen Quang


Bước 3 và 4
• Đặt giả thuyết H0 đúng
• Xây dựng test statistics và phân phối
• Xác định giá trị cực điểm chia cắt vùng bác bỏ và không bác bỏ

"! -> T

Easy Data Science @ s-lab.vn - Nguyen Quang


Các sai lầm Type I và Type II

Possible Hypothesis Test Outcomes

Actual Situation

Decision H0 True H0 False

Do Not Reject No Error Type II Error


H0 Probability α Probability β

Reject H0 Type I Error No Error


Probability 1-α Probability 1 - β

Easy Data Science @ s-lab.vn - Nguyen Quang


Hypothesis Testing – Thực hành
• Test giá trị kỳ vọng 1 biến liên tục
– Phân bố chuẩn
• Phương sai xác định: z-test
• Phương sai không xác định: t-test
– Phân bố không chuẩn: Wilcoxon test

• Test tỷ lệ (1 biến phân loại với 2 giá trị): chi-square test

• Test so sánh 2 giá trị kỳ vọng:


– Phân phối chuẩn:
• Phương sai bằng nhau: t-test
• Phương sai khác nhau: Welch test

• Nhiều hơn 2 mẫu: one-way ANOVA test

Easy Data Science @ s-lab.vn - Nguyen Quang


Tổng hợp các kiểm định

Easy Data Science @ s-lab.vn - Nguyen Quang


Tổng hợp các kiểm định

Easy Data Science @ s-lab.vn - Nguyen Quang


Data Analytics Lifecycle
- Quy trình đặc thù
- Có thể thực hiện đồng thời
- Lặp lại và cải tiến song song
DATA SCIENCE PROJECT
1. ROADMAP 2. DATA PREP. 3. MODELLING 4. EVALUATION 5. IMPLEMENT.
Problems? Data manip. Var. selection Eval. & Validation Deployment code
Unit analysis? Data Cleaning Variable trans. Benchmarking Model monitoring
Model design Data expl. (EDA) Model building ROI & Risk analysis Report and Scale-
Project expectation Data trans. Model tuning Report & Present. out

DATA DATA MANIP.


DECISION!
SOURCE DATAFind data
CLEANING
DASHBOARD,
Load data BUSINESS INTELLIGENCE PROJECT INTERACTIVE,
Dataset sum. statistics
EDA
Merge/join data
Cleaning MOBILE
Data dictionary
Range, DistribuEon
TRANSFORMATION
Missing treatment
Classes, Freq., Perc.
Fea. construction
Anomalies, CorrelaEon
Fea. selection
RelaEonship, PaJerns
Fea. transformation
Train/Test/Val. sep.

Easy Data Science @ s-lab.vn - Nguyen Quang


Data Analytics Lifecycle – Other notes
• Bắt đầu từ dự án nhỏ (Chia nhỏ dự án lớn)
• Nhanh chóng mang lại hiệu quả để có được sự ủng hộ lớn hơn
• Nhấn mạnh kỹ năng giao tiếp
• Thuê tư vấn khi cần
• Thuê ngoài tối đa

Easy Data Science @ s-lab.vn - Nguyen Quang


Data Analytics Lifecycle
- Đội ngũ
Team work

Sponsor
Người tài trợ

Data Manager Data


Engineer Trưởng dự Scientist
KS dữ liệu án Khoa học DL
Data/BI
Data Admin. Business analyst
analyst
Quản trị dữ Ch. viên nghiệp
Ch. viên dữ
liệu vụ
liệu
Data
Statistician
Architect
Thống kê
KT dữ liệu

Business
users Easy Data Science @ s-lab.vn - Nguyen Quang
The Data Science team - Salary

Easy Data Science @ s-lab.vn - Nguyen Quang


The Data Science team - Salary

Data Manager
BA Statistician Data Arch.

Data Data Scientist


Engineer
Data analyst

DB Admin

Easy Data Science @ s-lab.vn - Nguyen Quang


SESSION 6: HỒI QUY TUYẾN TÍNH – LINEAR
REGRESSION

Easy Data Science @ s-lab.vn - Nguyen Quang


Linear Regression – Hồi quy tuyến tính
Ví dụ
• Mô hình chấm điểm/dự báo cho biến liên tục:
• Dự báo doanh số một cửa hàng/người bán hàng/khách hàng
• Dự báo giá nhà
• Dự báo tỷ lệ click-through

Thực tế
• Là phương pháp đơn giản nhất trong các phương pháp ML
• HQTT được sử dụng rộng rãi trong thực tế
• Nên được áp dụng trước những phương pháp ML khác

Easy Data Science @ s-lab.vn - Nguyen Quang


Example: Advertising budget

• Biến cần dự báo - biến phụ thuộc: Doanh số

• Biến độc lập: một hoặc nhiều trong số 3 biến chi phí
cho các kênh TV, Radio, Newspaper

• Một số câu hỏi:


– Doanh số có phụ thuộc vào chi phí quảng cáo?
– Nếu có, sự phụ thuộc có đủ lớn? Một đồng bỏ ra cho kênh
X mang lại bao nhiêu doanh số tăng thêm? SALES
– Sai số của việc đánh giá sự phụ thuộc là bao nhiêu?
– Sai số của dự báo doanh số là bao nhiêu?
Newspaper
– Kênh nào hiệu quả nhất?
– Các kênh này có ảnh hưởng lẫn nhau? BUDGET Radio
– … TV

Easy Data Science @ s-lab.vn - Nguyen Quang


Example: Advertising budget Bài toán Hồi quy tuyến tính một biến
• Khảo sát sự phụ thuộc theo chi phí quảng táo TV
Giả
q Giả định Sales và TVđịnh
có sự Sales và TV
phụ thuộc có sự
tuyến phụ
tính, biểu diễn bằ
trình sau thuộc tuyến Bnh, biểu diễn bằng
phương trình sau

! = $% + $' (+ )

Easy Data Science @ s-lab.vn - Nguyen Quang


NGUYEN QUANG
Example: Advertising budget
• Khảo sát sự phụ thuộc theo chi phí quảng táo TV
Bài toán Hồi quy tuyến tính một biến Giả định Sales và TV có sự phụ
thuộc tuyến tính, biểu diễn bằng
phương
q Giả định Sales và TV có sự phụ thuộc tuyến tính, trình
biểu diễn bằngsau
phương
trình sau
Hệ số giao Hệ số góc Biến độc lập
Biến phụ Biến số
thuộc nhiễu
! = $% + $' (+ ) (độc lập,
mean = 0)

Phần tuyến tính Phần nhiễu

q Mô hình này có 2 tham số $', $* và một biến số )

!+ = $% + $' (
Ước lượng hệ số bằng
q Đường dự báo phương pháp Hồi quy

Easy Data Science @ s-lab.vn - Nguyen Quang

NGUYEN QUANG 9
Bài toán Hồi quy tuyến tính một biến
Tối ưu tham số
q Trên đồ thị scatter:

!+ = 7.03 + 0.047(
!- $'
Xác định hệ số ),
• Nếu kinh phí TV bằng 0,
doanh số ước lượng là 7.03
!+,
$% • Nếu kinh phí TV tăng thêm
q Đường dự báo, xác định bởi 2 tham số $%, $', được ước lượng từ bộ dữ
1, doanh số ước lượng tăng
thêm 0.047 (hay 100 và 4,7)
liệu đã quan sát được
Độ chính xác của các
q Đường dự báo càng gần bộ dữ liệu càng tốt ≈ các biến số ) càng hệ nhỏ
số nàycàng
đến đâu?
tốt () nhỏ theo nghĩa độ lớn)
q Phương pháp phổ biến là bình
NGUYENphương
QUANG tối thiểu (least square): tối thiểu 14
giá trị mean-square-error (MSE), với 1 n
2

MSE = ∑ Yi − Yˆi ( )
n 2 n i=1
1
MSE = ∑ Yi − Yˆi 1 n
( ) 2
n i=1 = ∑ (Yi − β̂0 − β̂1 X1 −− β̂ p X p )
n i=1
n
1 2
Easy Data Science @ s-lab.vn - Nguyen Quang
(
= ∑ Yi − β̂0 − β̂1 X1 −− β̂ p X p
n i=1
)
Example: Advertising budget
Xác định hệ số

q Kết quả:

∑7-8'(1- − 1̅ )(5- − 56)


$.' =
∑7-8'(1- − 1̅ )*

$.% = 56 − $.' 1̅

với 1 7
1̅ = ; 1-
: -8'

1 7
56 = ; 5-
: -8'

Easy Data Science @ s-lab.vn - Nguyen Quang

NGUYEN QUANG 13
Example: Advertising budget
Phép thử hệ số (t-test)

q Nếu ước lượng được t đủ lớn, xác suất $' = 0 là rất thấp Sai số của không mô hình

q Nếu không có mô hình, không có các biến


độc lập, ta ước lượng Doanh số bao nhiêu?

'
q Ước lượng bởi !6 = ∑7-8' !- = 14.02
7
Sai số TB sd(Y) = 5.21
sd(Advertising$Sales)
q p-value: Xác suất để t có giá trị ước tính được nếu $' = 0
q t và p-value là tương đương: q Với mô hình, sai số TB giảm còn 3.25
Ø t > 2 tương đương p-value < 0.05
∑n 6 m n
lof(kl gk) g∑lof p
m
Ø t > 2.33 tương đương p-value < 0.02 q Định nghĩa j * = ∑n 6 m
lof (kl gk)
Ø … = tỷ lệ phương sai giải thích bởi mô hình

q Trong ví dụ trên, cả $%, $' đều có ý nghĩa (khác 0) với độ tin cậy > 99.9% q qr thường được dùng để đánh giá hiệu quả
mô hình hồi quy tuyến tính

Easy QUANG
NGUYEN Data Science @ s-lab.vn - Nguyen Quang
NGUYEN QUANG 18
Multiple Regression
Bài toán Hồi quy tuyến tính nhiều biến
• Mở rộng cho nhiều biến
q Giả định mô hình hồi quy nhiều biến sau

! = $% + $' (' + $* (*+$s (s + )


(cho 3 biến)

q $% là ước lượng doanh số khi tất cả các biến bằng 0


q $- là tác động trung bình lên doanh số khi biến (- tăng 1 giá trị và các biến
khác được giữ nguyên

q Các hệ số được ước lượng tương tự bởi “least square” – tối thiểu MSR

7 7
MSR = ; (!- − !+- )* =; (!- − $.% − $.' (-' − $.* (-* − $.s (-s)*
-8' -8'

Easy Data Science @ s-lab.vn - Nguyen Quang


NGUYEN QUANG 27
Bài toán Hồi quy
Bài tuyến tínhquy
toán Hồi nhiều biến
tuyến tính nhiều biến
Multiple Regression
• Mở rộng cho nhiều biến ! = $% + $' (' + $* (* +$s (s + )
q Giả định mô hình hồi quy nhiều biến sau

! = pháp
$% ma +trận
$'và('không hiện+
+ $thể* (
q Kết quả được tính bằng phương
* ở$đây ( + )
s s
q Ta có thể tính được với R bằng hàm lm
(cho 3 biến)

q $% là ước lượng doanh số khi tất cả các biến bằng 0


q $- là tác động trung bình lên doanh số khi biến (- tăng 1 giá trị và các biến
khác được giữ nguyên

q Các hệ số được ước lượng tương tự bởi “least square” – tối thiểu MSR

7 7
MSR = ; (!- − !+- )* =; (!- − $.% − $.' (-' − $.* (-* − $.s (-s)*
-8' -8'

NGUYEN QUANG 28
NGUYEN QUANG 27
Easy Data Science @ s-lab.vn - Nguyen Quang
Multiple Regression - Các vấn đề cần quan tâm
• Adjusted R2
• F-test
• Biến phân loại
• Tương tác biến
• Quan hệ phi tuyến

• Kiểm định hệ số
• Khoảng tin cậy của hệ số

Easy Data Science @ s-lab.vn - Nguyen Quang


Multiple Regression - Các vấn đề cần quan tâm
Các vấn đề khác:
• Collinearity – VIF
VIF > 5 -> highly correlated 1 R2j is the coefficient of
VIFj = determination of variable Xj
1 - R2j with all other X variables
• Cách >m tập hợp biến phù hợp:
– “Forward selecIon”: bắt đầu với null model, thêm biến vào nếu làm giảm RSS
– “Backward selecIon”: bắt đầu với mọi biến, bỏ dần biến có p-value lớn
– “Mixed selecIon”: bắt đầu với null model, thêm dần biến. Bỏ ra các biến có p-value lớn hơn một ngưỡng xác
định

• Khoảng dự báo phù hợp

• Khoảng tin cậy của dự báo

Easy Data Science @ s-lab.vn - Nguyen Quang


Đánh giá mô hình (evalua1on) – Bài toán Scoring
• MSE nhỏ không hoàn toàn là tốt hơn:
– Interpretation
– Prediction

22 2. Statistical Learning 2.1 What Is Statistical Learning? 23

Incom
Incom

e
e

ity
yit

or
Ye

or
Ye

ni
ar
ni
a rs so

Se
Se
of fE
Ed du
uc ca
ati tio
on n

FIGURE 2.4. A linear model fit by least squares to the Income data from Fig- FIGURE 2.5. A smooth thin-plate spline fit to the Income data from Figure 2.3
ure 2.3. The observations are shown in red, and the yellow plane indicates the is shown in yellow; the observations are displayed in red. Splines are discussed in
least squares fit to the data. Chapter 7.

The model-based approach just described is referred to as parametric; may be that with such a small number of observations, this is the best we
it reduces the problem of estimating f down to one of estimating a set of can do.
parameters. Assuming a parametric form for f simplifies the problem of
(Theo sách G. James)
estimating f because it is generally much easier to estimate a set of pa- Non-parametric methods
rameters, such as β0 , β1 , . . . , βp in the linear model (2.4), than it is to fit
Non-parametric methods do not make explicit assumptions about the func-
an entirely arbitrary function f . The potential disadvantage of a paramet-
tional form of f . Instead they seek an estimate of f that gets as close to the
ric approach is that the model we choose will usually not match the true
unknown form of f . If the chosen model is too far from the true f , then Easy Data Science @ s-lab.vn - Nguyen Quang
data points as possible without being too rough or wiggly. Such approaches
can have a major advantage over parametric approaches: by avoiding the
our estimate will be poor. We can try to address this problem by choos-
assumption of a particular functional form for f , they have the potential
ing flexible models that can fit many different possible functional forms
to accurately fit a wider range of possible shapes for f . Any parametric
flexible
for f . But in general, fitting a more flexible model requires estimating a
approach brings with it the possibility that the functional form used to
greater number of parameters. These more complex models can lead to a
estimate f is very different from the true f , in which case the resulting
phenomenon known as overfitting the data, which essentially means they
model will not fit the data well. In contrast, non-parametric approaches
overfitting
follow the errors, or noise, too closely. These issues are discussed through-
completely avoid this danger, since essentially no assumption about the
noise
out this book.
form of f is made. But non-parametric approaches do suffer from a major
Figure 2.4 shows an example of the parametric approach applied to the
Đánh giá mô hình (evaluation) – Bài toán Scoring 2.2 Assessing Model Accuracy 31

• MSE nhỏ không hoàn toàn là tốt hơn:


– InterpretaCon

2.5
12

2.0
– PredicCon

10

Mean Squared Error

1.5
8
Y

1.0
6

0.5
4
Các chỉ số đánh giá khác

0.0
• Root-mean-squared error
0 20 40 60 80 100 2 5 10 20

X Flexibility

• R-squared FIGURE 2.9. Left: Data simulated from f , shown in black. Three estimates of
f are shown: the linear regression line (orange curve), and two smoothing spline
• Absolute error fits (blue and green curves). Right: Training MSE (grey curve), test MSE (red
curve), and minimum possible test MSE over all methods (dashed line). Squares
represent the training and test MSEs for the three fits shown in the left-hand (Theo sách G. James)
panel.

statistical methods specifically estimate coefficients so as to minimize the


training set MSE. For these methods, the training set MSE can be quite
small, but the test MSE is often much larger.
Figure 2.9 illustrates this phenomenon on a simple example. In the left-
hand panel of Figure 2.9, we have generated observations from (2.1) with
the true f given by the black curve. The orange, blue and green curves illus-
trate three possible estimates for f obtained using methods with increasing
levels of flexibility. The orange line is the linear regression fit, which is rela-
tively inflexible. The blue and green curves were produced using smoothing
splines, discussed in Chapter 7, with different levels of smoothness. It is
smoothing spline
clear that as the level of flexibility increases, the curves fit the observed
Easy Data Science @ s-lab.vn - Nguyen Quang
data more closely. The green curve is the most flexible and matches the
data very well; however, we observe that it fits the true f (shown in black)
poorly because it is too wiggly. By adjusting the level of flexibility of the
smoothing spline fit, we can produce many different fits to this data.
We now move on to the right-hand panel of Figure 2.9. The grey curve
displays the average training MSE as a function of flexibility, or more for-
mally the degrees of freedom, for a number of smoothing splines. The de-
degrees of freedom
grees of freedom is a quantity that summarizes the flexibility of a curve; it
is discussed more fully in Chapter 7. The orange, blue and green squares
Multiple Regression - Các giả thiết
• Sai số phân phối chuẩn
• Sai số có phương sai hằng số
• Sai số độc lập

Cần biểu diễn sai số sau khi train mô hình

Easy Data Science @ s-lab.vn - Nguyen Quang


Multiple Regression - Các giả thiết
• Sai số phân phối chuẩn
• Sai số có phương sai hằng số
• Sai số độc lập

Cần biểu diễn sai số sau khi train mô hình

Easy Data Science @ s-lab.vn - Nguyen Quang


Mô hình K-nearest neighbors (KNN)
• Dự báo dựa trên k quan sát gần nhất

K=5

Easy Data Science @ s-lab.vn - Nguyen Quang


SESSION 7: ĐÁNH GIÁ VÀ TỐI ƯU

Easy Data Science - Nguyen Quang 141


Các mô hình Machine Learning

MACHINE LEARNING
MODELS

Supervised Un-supervised
models models

ü K-mean Clustering
Scoring/ ü Hierarchical Clustering
Classifications
Regression ü Association Rules

ü Hồi quy tuyến Onh ü Hồi quy Logistics


ü K-Nearest Neighbors (KNN) ü Decision Tree
ü Neural Network ü Random Forest
ü Naive Bayes

142 Easy Data Science - Nguyen Quang


Cách đánh giá
Scoring Classification
- Mean-squared-errors (or root-mean- ?
squared-error)
2
1 n
MSE = ∑ Yi − Yˆi
( )
n i=1
1 n 2
(
= ∑ Yi − β̂0 − β̂1 X1 −− β̂ p X p
n i=1
)

- R2 +
&'((* − *)
"
! =1 −
&'((*)

Easy Data Science - Nguyen Quang 143


Tối ưu mô hình
Tối ưu mô hình (dựa trên các chỉ số đánh giá) bằng cách nào?

144 Easy Data Science - Nguyen Quang


Tối ưu mô hình
Tối ưu mô hình (dựa trên các chỉ số đánh giá) bằng cách nào?
1. Tối ưu tham số mô hình (điều chỉnh mô hình)
2. Tối ưu dữ liệu đầu vào

145 Easy Data Science - Nguyen Quang


Tối ưu mô hình
Tối ưu mô hình (dựa trên các chỉ số đánh giá) bằng cách nào?
1. Tối ưu tham số mô hình (điều chỉnh mô hình)
2. Tối ưu dữ liệu đầu vào

146 Easy Data Science - Nguyen Quang


Bias and Variance trade-off
Mô hình nào có RMS nhỏ hơn? 2.2 Assessing Model Accuracy 31

2. Statistical Learning 2.1 What Is Statistical Learning? 23

2.5
12

2.0
10

Mean Squared Error

1.5
8
Incom

Incom

Y
e

1.0
6

0.5
4
y

y
it

it
or

Ye

or
Ye
ni

ni
rs ar
Se

so

Se
o fE fE

2
du

0.0
du
ca ca
tio tio
n n
0 20 40 60 80 100 2 5 10 20

X Flexibility
GURE 2.4. A linear model fit by least squares to the Income data from Fig-2.5. A smooth thin-plate spline fit to the Income data from Figure 2.3
FIGURE
e 2.3. The observations are shown in red, and the yellow plane indicates
is shown the
in yellow; the observations are displayed in red. Splines are discussed in
st squares fit to the data. Chapter 7. FIGURE 2.9. Left: Data simulated from f , shown in black. Three estimates of
f are shown: the linear regression line (orange curve), and two smoothing spline
The model-based approach just described is referred to as parametric;
may be that with such a small number of observations, this is the best we fits (blue and green curves). Right: Training MSE (grey curve), test MSE (red
reduces the problem of estimating f down to one of estimating can ado.
set of curve), and minimum possible test MSE over all methods (dashed line). Squares
rameters. Assuming a parametric form for f simplifies the problem of represent the training and test MSEs for the three fits shown in the left-hand
timating f because it is generally much easier to estimate aNon-parametric
set of pa- methods panel.
meters, such as β0 , β1 , . . . , βp in the linear model (2.4), than it is to fit
Non-parametric methods do not make explicit assumptions about the func-
entirely arbitrary function f . The potential disadvantage of a paramet-
(Theo sách G. James)
tional form of f . Instead they seek an estimate of f that gets as close to the
approach is that the model we choose will usually not match the true statistical methods specifically estimate coefficients so as to minimize the
data points as possible without being too rough or wiggly. Such approaches training set MSE. For these methods, the training set MSE can be quite
known form of f . If the chosen model is too far from the true f , then
can have a major advantage over parametric approaches: by avoiding the small, but the test MSE is often much larger.
r estimate will be poor. We can try to address this problem by choos-
assumption of a particular functional form for f , they have the potential
g flexible models that can fit many different possible functional forms Figure 2.9 illustrates this phenomenon on a simple example. In the left-
to accurately flexible
fit a wider range of possible shapes for f . Any parametric
r f . But in general, fitting a more flexible model requires estimating a hand panel of Figure 2.9, we have generated observations from (2.1) with
147
eater number of parameters. These more complex models can lead to a
approach brings with it the possibility that the functional form used to Easy
the true f given by the black Data
curve. TheScience - Nguyen
orange, blue and green Quang
curves illus-
estimate f is very different from the true f , in which case the resulting
enomenon known as overfitting the data, which essentially means they trate three possible estimates for f obtained using methods with increasing
model will not fit the data well. In contrast, non-parametric approaches
overfitting
low the errors, or noise, too closely. These issues are discussed through- levels of flexibility. The orange line is the linear regression fit, which is rela-
completely avoid
noise this danger, since essentially no assumption about the
t this book.
form of f is made. But non-parametric approaches do suffer from a major tively inflexible. The blue and green curves were produced using smoothing
Figure 2.4 shows an example of the parametric approach applied to the
disadvantage: since they do not reduce the problem of estimating f to a splines, discussed in Chapter 7, with different levels of smoothness. It is
come data from Figure 2.3. We have fit a linear model of the form smooth
small number of parameters, a very large number of observations (far more clear that as the level of flexibility increases, the curves fit the observed
income ≈ β0 + β1 × education + β2 × seniority. than is typically needed for a parametric approach) is required in order to data more closely. The green curve is the most flexible and matches the
obtain an accurate estimate for f . data very well; however, we observe that it fits the true f (shown in black)
nce we have assumed a linear relationship between the responseAn andexample
the of a non-parametric approach to fitting the Income data is
SESSION 8: MÔ HÌNH PHÂN LOẠI: LOGISTIC
REGRESSION, DECISION TREE, RANDOM FOREST AND
K-NEAREST NEIGHBORS

Easy Data Science - Nguyen Quang 148


Logistics Regression
• Mở rộng từ mô hình Hồi quy TT cho biến phân loại
• Tuy nhiên, không thể sử dụng phương trình tuyến tính để dự báo Y với 2 giá trị 0 và 1

0.9

0.7
Purchase

0.5
0.4

0.2

0.0
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1.0
LoyalCH

149 Easy Data Science - Nguyen Quang


Solution: Use Logistic Function
• Instead of trying to predict Y, let’s try to predict P(Y = 1),
i.e., the probability a customer buys Citrus Hill (CH) juice.
• Thus, we can model P(Y = 1) using a function that gives
outputs between 0 and 1.
Logistics Regression • We can use the logistic function 1

• Logistic Regression! 0.9


0.8

Sử dụng phương trình Logistic


0.7

Probability
0.6
β 0 + β1 X
e 0.5

p = P(Y = 1) =
0.4
0.3

1 + e β 0 + β1 X 0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
X

1
0.9
0.8
0.7
Probability

0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
X

150 Easy Data Science - Nguyen Quang


Bài toán thẻ tín dụng
Logistics Regression
• Ước tính các hệ số Dự báo:
q dựa trên phương pháp Log-likelihood
• Với số
Ý nghĩa các hệ số dựaØtrên dư trunggiống
p-value bình $1000
như HQTT
• Dự báo xác suất, ví dụ

Ø Với số dư trung bìng $2000, xác suất default tăng lên 58.6%
• Có thể chuyển sang score
q Chuyển đổi sang Scorecard:

Score = Offset + Factor * Ln(odds)

Với odds = exp(!"+!#X) (Ý nghĩa?)

NGUYEN QUANG 9
151 Easy Data Science - Nguyen Quang
The Classification Setting
Đánh giá mô hình (evaluation) – Bài toán Classification
!For a regression problem, we used the MSE to assess the
• Tỷ lệ phân loại sai: accuracy of the statistical learning method
!For a classification problem we can use the error rate i.e.
• Có 2 kiểu sai (bài toán 2 loại), thông thường được xác định cụ thể hơn: n
Error Rate = ∑ I ( yi ≠ yˆ i ) / n
i =1

! I ( yi ≠ yˆ i ) is an indicator function, which will give 1 if the


condition ( yi ≠ yˆ i ) is correct, otherwise it gives a 0.
Dự báo
Không Có
!Thus the error rate represents the fraction of incorrect
Thực tế Không TN FP
classifications, or misclassifications
Có FN TP

Accuracy/Error Rate = True Positive Rate (TPR) False Positive Rate (FPR)
(A+D)/(A+B+C+D) = TP/(TP+FN) = FP/(FP+TN)
False Negative Rate Precision = Recall = TPR
(FNR) = FN/(TP+FN) TP/(TP+FP)
152 Easy Data Science - Nguyen Quang
Đánh giá mô hình (evaluation) – Bài toán Classification
• Với mỗi mô hình phân loại, thông thường có tham số điều chỉnh tỷ lệ giữa True positive (hay Recall) và
False positive
• ROC curve – đường quan hệ giữa True positive và False positive

153 Easy Data Science - Nguyen Quang


Mô hình cây quyết định
• Mô hình cây quyết định là một mô hình phi tuyến, có thể biểu diễn các biến ảnh hưởng một
cách phi tuyến lên biến phụ thuộc (với các dữ liệu phi tuyến, mô hình hồi quy chạy rất kém)
• Ví dụ thu nhập theo tuổi: tuổi thấp thu nhập thấp, tuổi trung niên thu nhập cao, tuổi cao thu
nhập thấp trở lại

154 Easy Data Science - Nguyen Quang


Mô hình phi tuyến tính – Mô hình cây quyết định

• Có rất nhiều mô hình phi tuyến


– K-nearest neighour
– Decision tree
– Neural network
– …
• Mô hình cây là mô hình đơn giản, trực quan và
hiệu quả (đặc biệt với sự nâng cấp của Random
forest và Bagging)

• Lưu ý lại về tính predictibility và interpretability

155 Easy Data Science - Nguyen Quang


+ 0.0680 ⋅(0.0809 ⋅log2 0.0809 + 0.9192 ⋅log2 0.9192)

+ 0.2885 ⋅(0.0347 ⋅log2 0.0347 + 0.9653 ⋅log2 0.9653) ]


= 0.4661

Mô hình câyComputation
quyết định – parentheses
inside the nguyên islýon the entropy of the class labels within a single contact
value. Note that the conditional entropy is always less than or equal to the base entropy—that is,
• Chia không Hgian các biến
subscribed | marital
≤ Hđộc lập thành các ô độc lập
subscribed . The conditional entropy is smaller than the base entropy when the attribute
• Cách chia, and
gồmthe biến
outcomevà giá aretrịcorrelated.
chia, được xác
In the định
worst saowhen
case, chothe saiattribute
số sau ischia là thấp nhất
uncorrelated with the outcome, 7.1
• ANALYTICAL
VANCED the conditional
Chạy bài toán
THEORYtối ưu entropy equals
AND“Information
METHODS: the base entropy.
Gain”
CLASSIFICATION
The information gain of an attribute A is defined as the difference between the base entropy and the
conditional entropy of the attribute, as step
The next shownis toinidentify
Equation 7-3.
the conditional entropy for each attribute. Given an attribute X ,
its outcome Y , and its value y, conditional entropy HY |X is the remaining entropy of Y given X , form
Given a class X and its label x ∈ X , let P(asx )shownInfoGain
be the = HS of− H A the entropy of X , is defined as (7-3)
inprobability
A
Equation 7-2. x .S|H x,
Vớiin Equation 7-1.
shown
∑ P ( x ) H (Y |X = x )
HY |X =
In the bank marketing example, the information gain of the contact attribute is shown in
H =−∑ P( x )log P( x )
x(7-1)
Equation 7-4. =− ∑ P( x )∑ P(y|x )log P(y|x )
X 2
∀ x ∈X 2

InfoGaincontact = H subscribed − Hcontact|subscribed


∀x ∈ x ∀y∈Y

• Cuối cùng,
Equation 7-1 gán
showschothatcác quan
entropy H X sát nằm0trong
becomes when all cùngP( x )một
is 0 orô1.có
Forcùng
a binary giáclassification
trị dự báo(true
Consider= 0.4862
the banking .46661= 0.0201
− 0marketing scenario, if the attribute contact is chosen, (7-4)X = {ce
• orLà phương
false), H X ispháp
zero if“Top-down, greedy”,
P( x ) the probability of có
each thể
label bị
x istắc ở
either cực
zero trị
or địa
one. phương
On the other
telephone, unknown}. The conditional entropy of contact considers hand, H X all three values.
achieves the maximum entropy when all the class labels
Table arethe
7-1 lists equally probable.
probabilities related Fortoathe
binary classification,
contact attribute. The top row of the table d
H X =1 if the probability of all class labels is 50/50. The maximum
probabilities entropy
of each value of theincreases
attribute. Theas the
nextnumber
two rows ofcontain
pos- the probabilities of the
sible outcomes increases. conditioned on the contact.
156 As an example of a binary random variable, consider tossing a coin with known, not Easy necessarily
Data Science - Nguyen Quang
TABLE 7-1 Conditional Entropy Example
fair, probabilities of coming up heads or tails. The corresponding entropy graph is shown in Figure 7-5. Let
x =1 represent heads and x = 0 represent tails. The entropy of the unknown result Cellular Telephone
of the next toss is maxi- Unknown
c07.indd 02:52:36:PM 12/08/2014 Page

mized when the coin is fair. That is, when headsP(contact)


and tails have equal probability 0.6435 P ( x = 1) = P ( x = 0) = 0.5,
0.0680 0.2885
Mô hình cây quyết định – Ví dụ “germancredit” sample

157 Easy Data Science - Nguyen Quang


Mô hình cây và mô hình tuyến tính
• Phụ thuộc vào tính chất dữ liệu:
– Tuyến tính: mô hình tuyến tính tốt hơn
– Phi tuyến: mô hình cây có thể tốt hơn
• Điểm mạnh:
– Dễ giải thích kết quả
– Có thể vẽ hình minh họa
– Chạy cho cả bài toán dự báo và phân loại
• Điểm yếu:
– Phương sai cao

158 Easy Data Science - Nguyen Quang


Bagging
• Mô hình cây quyết định có Phương sai cao (một bộ dữ liệu chia đôi có thể cho ra 2 mô hình cây
khác nhau nhiều)
• Bagging (tổng quát):
– Sử dụng Bootstraping (tạo mẫu mới từ chính bộ dữ liệu bằng cách lấy mẫu ngẫu nhiên có đặt lại) tạo
nhiều bộ dữ liệu
– Học mô hình từ các bộ dữ liệu
– Dự báo:
• Scoring: lấy trung bình
• Phân loại: biểu quyết theo số đông
– Cải tiến đáng kể mô hình DT (nhưng giảm khả năng
diễn giải)

159 Easy Data Science - Nguyen Quang


Random Forest
• Mô hình rất hiệu quả dựa trên Bagging
• Cải tiến bằng cách giảm sự tương quan của các cây: ở mỗi lần chia, chỉ lựa chọn m biến
một cách ngẫu nhiên từ p biến để tối ưu

m≈ p

160 Easy Data Science - Nguyen Quang


SESSION 9: MÔ HÌNH KHÔNG GIÁM SÁT: K-MEAN
CLUSTERING, HIERARCHICAL CLUSTERING,
ASSOCIATION RULES

Easy Data Science - Nguyen Quang 161


Bài toán supervised và unsupervised

Supervised Learning Unsupervised Learning


162 Easy Data Science - Nguyen Quang
Bài toán Customer segmentation
• Hiểu rõ về khách hàng
• Khai thác sức mạnh của dữ liệu
• Các tiêu chí:
• Ứng dụng:
– Tuổi tác, giới tính
• Cross-sell, up-sell
– Thu nhập, phân khúc xã hội
• Chăm sóc KH (loyalty card)
– Địa điểm
• Phát triển sản phẩm mới
– Hành vi tiêu dùng
• Marketing
– …

163 Easy Data Science - Nguyen Quang


Bài toán Customer segmentation
• Phương pháp: Clustering
– K-mean clustering
– Hierarchial clustering

• Cần lưu ý
– Chúng ta giả định có tồn tại các nhóm khách hàng (?)
– Phân nhóm chỉ là một phương pháp

164 Easy Data Science - Nguyen Quang


392 10. Unsupervised Learning

Phương pháp K-means Solving (10.9) seems like a reasonable idea, but in order to make it
tionable we need to define the within-cluster variation. There are m
• Xác định trước số cụm/nhóm possible ways to define this concept, but by far the most common ch
involves squared Euclidean distance. That is, we define
p
• Thuật toán K-means sẽ tìm và đặt mỗi 1 ! !
W (Ck ) = (xij − xi′ j )2 , (10
quan sát vào một nhóm |Ck | ′
i,i ∈Ck
j=1

where |Ck | denotes the number of observations in the kth cluster. In o


• Phương pháp: tối thiểu variance trongwords,
nhóm the within-cluster variation for the kth cluster is the sum of a
the pairwise squared Euclidean distances between the observations in
kthkhoảng
• Định nghĩa variance là tổng bình phương cluster,cách
divided
Euclidbycủa
themỗi
total
cặpnumber
quan sátoftrong
observations
nhóm in the kth clu
Combining (10.9) and (10.10) gives the optimization problem that de
K-means clustering,
⎧ ⎫
⎨! K
1 ! ! p ⎬
2
minimize (xij − xi′ j ) . (10
C1 ,...,CK ⎩ |Ck | ′ ⎭
k=1 i,i ∈Ck j=1

Now, we would like to find an algorithm to solve (10.11) — that


method to partition the observations into K clusters such that the objec
of (10.11) is minimized. This is in fact a very difficult problem to s
165 Easy Data Science - Nguyen Quang
precisely, since there are almost K n ways to partition n observations
K clusters. This is a huge number unless K and n are tiny! Fortuna
a very simple algorithm can be shown to provide a local optimum
pretty good solution — to the K-means optimization problem (10.11).
Phương pháp K-means
Random Assignment
of points Compute cluster
• Khởi động: gán ngẫu nhiên mỗi centers from initial
quan sát vào một nhóm assignments

• Chạy vòng lặp cho đến khi nhóm


không thay đổi Computer
– Với mỗi nhóm, tính tâm (centroid) new cluster
của nhóm theo trung bình khoảng centers
cách
– Gán lại các quan sát và tâm gần nhất

Now there is
no further
change so
Assign points to stop
closest cluster
center

166 Easy Data Science - Nguyen Quang


Phương pháp K-means
Bad Good
Solution Solution
• Có thể bị tắc ở cực đại địa phương

• Do vậy cần chạy thuật toán nhiều lần với khởi đầu
ngẫu nhiên

167 Easy Data Science - Nguyen Quang


Phương pháp K-means

Phân nhóm theo Private Phân nhóm theo Private

168 Easy Data Science - Nguyen Quang


Association Rules

169 Easy Data Science - Nguyen Quang


Thuật toán Apriori

Rule: {LHS} => {RHS}

• Support: SX có cả Y và X

• Confidence: SX có điều kiện Y biết X

• Lift: Confidence/SX có Y

Thuật toán
• Bước 1: quét các giao dịch và tìm những sản phẩm được mua
• Bước 2: lựa chọn các sản phẩm/nhóm sản phẩm có tần số tối thiểu
• Bước 3: kết nối các sản phẩm/nhóm sản phẩm của bước 2 thành cặp (rule) và tính tần số xuất hiện
• Bước 4: tính các chỉ số khác và lựa chọn rule phù hợp
170 Easy Data Science - Nguyen Quang
Cách sử dụng
• Lọc các cặp mặt hàng có support đủ cao và confidence cao nhất từ trên xuống

• Ứng dụng:
– Bán chéo: Khi KH mua sp bên trái, khuyến nghị sp bên phải
– Khuyến mại: chọn các sp xuất hiện nhiều bên trái để giảm giá
– Bán thêm: chọn các sp xuất hiện nhiều bên phải để trưng bày dễ nhìn hơn
– Bán cặp: tạo combo
– ...

171 Easy Data Science - Nguyen Quang


SESSION 10: GIỚI THIỆU VỀ MẠNG NEURON VÀ DEEP
LEARNING

Easy Data Science - Nguyen Quang 172


AI and Deep Learning is changing the world

https://www.quora.com/What-is-the-
difference-between-data-analytics-and-
Machine-learning
173 Easy Data Science - Nguyen Quang
Applications
• Self-driving cars
• Drug discovery
• Go player
• Human gene decode
• Robotics
• …

174 Easy Data Science - Nguyen Quang


ANN – the base of Deep Learning
artificial neural networks?
- contains neurons which are kind of like
organic switches
- Neurons change their output state
depending on the strength of their
electrical or chemical input.
- Artificial neural networks attempt to
simplify and mimic this brain behaviour.
- They can be trained in
a supervised or unsupervised manner

Easy Data Science - Nguyen Quang


Wikipedia 175
The structure of an ANN
• ac#va#on func#on • Node
- once the input is greater than a certain value, the - Each node takes multiple weighted inputs,
output should change state i.e. from 0 to 1, from applies the activation function to the summation
-1 to 1 or from 0 to >0. of these inputs (perceptron)

- What are weights about?

Easy Data Science - Nguyen Quang 176


ANN – basic structure
3 layers:
- Input
- Hidden • The feed-forward pass
- Output

What is the “ANN” structure of the Multiple Linear


Regression?
How to presents those variables better?

Easy Data Science - Nguyen Quang 177


ANN – matrix representation
Layer 1: weights

Input of the 1st node in layer 2:

Layer 2: weights

Generalizing

Easy Data Science - Nguyen Quang 178


ANN - Supervised learning
varying the weights so as to minimize the error

• The cost func,on

Gradient descent method: uses the gradient to Total Cost: sum over m training observa@on
make an informed step change in w

Easy Data Science - Nguyen Quang 179


ANN - Supervised learning
Gradient descent method:

where

With some mathematics calculation


As we known the final output (training), we can
go backward to calculate hidden weight

-> Backpropagation

Easy Data Science - Nguyen Quang 180


ANN - Implementa-on

Easy Data Science - Nguyen Quang 181


ANN - Learning

Easy Data Science - Nguyen Quang 182


Deep Learning

Why?
• Actual images are much more complicated
• Can we increase number of hidden layer?

Solution: Convolution Neural Network


• The idea: moving filter
• It is equivalent to a ”simple” layer (sparse
connection, constant weights) -> significantly
reduce the number of parameters
• This step is called feature mapping

Easy Data Science - Nguyen Quang 183


Deep Learning

Convolution
• constant as the filter moves through the
input allows the filter to be trained to
recognize certain features. In the case of
images: lines, edges and other distinctive
shapes. (feature mapping)
• One can use multiple filters at a
convolutional stage. Separately trained
filters each produce their own output, which
may present different key features. (The
output of a convolutional layer can be 3D or
4D (if image is colored)

Easy Data Science - Nguyen Quang 184


Deep Learning

Pooling
• instead of applying weights the pooling applies
some sort of statistical function over the values
within the window (Most commonly, the max()
function)
• Strides: in max-pooling, stride 2 to avoid overlap -
> down-sampling
• Padding: zero added nodes (never used in max-
pooling
• Reduce the number of parameters in your
network (pooling is also called “down-sampling”
for this reason)
• To make feature detection more robust by making
it more impervious to scale and orientation
changes

Easy Data Science - Nguyen Quang 185


Deep Learning – final picture

Wikipedia

• At the output of the convolutional-pooling layers we have moved from high resolution,
low level data about the pixels to representations of objects within the image.
• We go from neural network classifier onto the end of a trained object detector
• Finnaly, we use a flatten function to turn this output into a single (N x 1) tensor.

Easy Data Science - Nguyen Quang 186


Deep Learning – implementa/on

Input: MNIST 28×28 greyscale images of digits.


- Layer 1: 32, 5×5 convolutional (plus ReLU node activations) + 2×2 max pooling (with a stride of 2)
- Layer 2: 64 filters / channels + stride-2 max pooling down-sample.
- Flattening: get a fully connected layer with 3164 nodes
- Another hidden layer of 1000 nodes. These layers will use ReLU node activations.
- Finally, we use a softmax classification layer to output the 10 digit probabilities
Easy Data Science - Nguyen Quang 187
Machine Learning models
Mô hình giám sát: Liên tục
Linear Regression K-Neareast Neighbors Decision Tree K-mean Clustering

K=5

Logistics Regression Neural Network Random Forest Association Rules

Mô hình
Easy Data Science - Nguyen giám sát: Phân loại
Quang Mô hình không giám sát
188
Tham khảo
• Data Science and Big Data Analytics_ Discovering, Analyzing, Visualizing and Presenting Data
• Business Statistics: A Decision-Making Approach, 6e © 2005 Prentice-Hall, Inc.
• An Introduction to Statistical Learning, Gareth James, Daniela Witten, Trevor Hastie, Robe
• Nina Zumel, John Mount - Practical Data Science with R-Manning Publications (2014)

189 Easy Data Science - Nguyen Quang


Xin cảm ơn

Easy Data Science @ s-lab.vn - Nguyen Quang

You might also like