LỜI CẢM ƠN.i
LỜI CAM ĐOAN.i
MỤC LỤC .i
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .iv
DANH MỤC CÁC BẢNG.i
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .iii
MỞ ĐẦU .1
CHƯƠNG 1. TỔNG QUAN .5
1.1. CÁC KHÁI NIỆM CƠ BẢN .5
1.1.1. Khái niệm chung về dữ liệu lớn.5
1.1.2. Các khái niệm lưu trữ dữ liệu lớn.6
1.1.3 Các khái niệm về xử lý dữ liệu lớn.10
1.1.4. Cái khái niệm phân tích dữ liệu và các loại hình phân tích dữ liệu.13
1.2. Hệ thống phân tích dữ liệu lớn.17
1.2.1. Công nghệ lưu trữ dữ liệu trong BigData.17
1.2.1.1. Công nghệ lưu trữ trên đĩa cứng .17
1.2.1.2. Công nghệ lưu trữ trong bộ nhớ (In-Memory Databases).19
1.2.2. Xử lý dữ liệu trong BigData .22
1.2.2.1. Xử lý dữ liệu với mô hình Map-Reduce .22
1.2.2.2. Các tác vụ Map và Reduce.23
1.2.3. Kỹ thuật phân tích bigdata hiện nay. .25
1.3. Các BÀI TOÁN PHÂN TÍCH DỰ BÁO.28
1.3.1. Bài toán phân tích dự báo .28
1.3.2. Các mô hình dự báo cơ bản. .28
1.3.2.1. Mô hình dự báo dựa trên thuật toán cây quyết định: .28
1.3.2.2. Mô hình dự báo Gradient Boosting.30
1.3.3. Các kỹ thuật phân tích dự báo .31
1.3.3.1. Tạo biến đặc trưng.31
1.3.3.2. Kỹ thuật lựa chọn đặc trưng .32
1.3.3.3. Huấn luyện và xác thực trong các mô hình dự báo.34
1.3.3.4. Đánh giá mô hình dự báo .35
1.3.4. Giới thiệu công cụ phân tích Rapidminer.42
CHƯƠNG 2.44
114 trang |
Chia sẻ: honganh20 | Ngày: 21/02/2022 | Lượt xem: 441 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Tổ chức và tích hợp hệ thống phân tích dữ liệu lớn phục vụ công tác dự báo trong viễn thông, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ợc đưa
vào giai đoạn trích chọn thuộc tính (feature selection) - đây mới là giai đoạn nhằm
mục đích giảm tính chiều của không gian thuộc tính. Mặc dù quá trình tạo biến
không phải giảm kích thước, nhưng chắc chắn phải cẩn thận để không tạo ra một
số lượng lớn các thuộc tính mới [13].
Để minh họa tầm quan trọng của việc tạo biến, hãy xem xét ví dụ sau trong
Bảng 1.1. Ở đây chúng ta có thể thấy thuộc tính ban đầu Date và thuộc tính phụ
thuộc Visitors. Đây là hai thuộc tính biểu diễn ngày và số lượng khách truy cập
tương ứng. Nếu chỉ nhìn vào các thuộc tính này, dường như không có một quan
hệ rõ ràng nào để dự đoán dựa vào các thuộc tính phụ thuộc. Với thuộc tính tạo
mới, chúng tôi có thể trích xuất và phân loại ngày nào, được hiển thị trong cột
IsWeekendDay. Điều này cho chúng ta biết ngày đó có phải là một ngày cuối tuần
hay không. Bây giờ chúng ta có thể thấy rõ ràng rằng số lượng khách truy cập vào
ngày cuối tuần cao hơn đáng kể so với các ngày trong tuần.
Bảng 1.1. Các thuộc tính ví dụ Ngày và Khách truy cập và thuộc tính được trích
xuất IsWeek-endDayfDayg
32
Một tình huống khác mà việc tạo biến có thể cải thiện hiệu suất là khi có sự
tương tác thuộc tính. Trong đó, hai (hoặc nhiều) thuộc tính không liên quan hoặc
tương quan với thuộc tính phụ thuộc của riêng chúng, nhưng nếu cùng nhau chúng
có ảnh hưởng (cao) đến thuộc tính phụ thuộc. Ví dụ: lấy thuộc tính giá cả và chất
lượng của sản phẩm. Nếu tách biệt, họ sẽ không đưa ra nhiều dấu hiệu cho thấy
một sản phẩm được mua thường xuyên. Nhưng nếu kết hợp thi chúng có mối
tương quan nhiều đến việc mua sản phẩm. Nếu giá thấp và chất lượng cao, thì sản
phẩm sẽ được mua thường xuyên. Tuy nhiên, giá thấp hoặc chất lượng cao mà
không biết giá trị khác không thể đảm bảo rằng sản phẩm sẽ được mua thường
xuyên. Nếu cả giá cả và chất lượng đều thấp thì sản phẩm sẽ không được nhiều
khách hàng mua. Điều tương tự có thể được nói khi cả giá cả và chất lượng đều
cao.
1.3.3.2. Kỹ thuật lựa chọn đặc trưng
Lựa chọn đặc trưng (feature selection) hay còn gọi là trích chọn thuộc tính là
nhiệm vụ rất quan trọng giai đoạn tiền xử lý dữ liệu khi triển khai các mô hình
khai phá dữ liệu. Một vấn đề gặp phải là các dataset dùng để xây dựng các Data
Mining Models thường chứa nhiều thông tin không cần thiết (thậm chí gây nhiễu)
cho việc xây dựng mô hình. Chẳn hạn, một dataset gồm hàng trăm thuộc tính dùng
để mô tả về khách hàng của một doanh nghiệp được thu thập, tuy nhiên khi xây
dựng một Data mining model nào đó chỉ cần khoảng 50 thuộc tính từ hàng trăm
thuộc tính đó. Nếu ta sử dụng tất cả các thuộc tính này của khách hàng để xây
dựng mô hình thì ta cần nhiều CPU, nhiều bộ nhớ trong quá trình Training model,
thậm chí các thuộc tính không cần thiết đó còn làm giảm độ chính xác của mô
hình và gây khó khăn trong việc phát hiện tri thức [13].
Các phương pháp trích chọn thuộc tính thường tính trọng số (score) của các
thuộc tính và sau đó chỉ chọn các thuộc tính có trọng số tốt nhất để sử dụng cho
mô hình. Các phương pháp này cho phép bạn hiệu chỉnh ngưỡng (threshold) để
lấy ra các thuộc tính có Score trên ngưỡng cho phép. Quá trình trích chọn thuộc
tính luôn được thực hiện trước quá trình Training Model.
33
Có rất nhiều phương pháp để lựa chọn thuộc tính tùy thuộc vào cấu trúc của dữ
liệu dùng cho mô hình và thuật toán được dùng để xây dựng mô hình. Sau đây là
một số phương pháp phổ biến dùng trong trích chọn thuộc tính:
- Interestingness score: Được sử dụng để xếp hạng (rank) các thuộc tính đối
với các thuộc tính có kiểu dữ liệu liên tục (continuous). Một thuộc tính được
xem là Interesting nếu nó mang một vài thông tin hữu ích. Để đo lường mức
độ interestingness, người ta thường dựa vào entropy. Một thuộc tính với phân
bố ngẫu nhiên có entropy cao hơn và có information gain (độ lợi thông tin)
thấp hơn vì vậy các thuộc tính đó gọi là less interesting.
Entropy của một thuộc tính nào đó sẽ được so sánh với entropy của tất cả các
thuộc tính còn lại theo công thức sau:
Interestingness(Attr) = - (m - Entropy(Attr))*(m - Entropy(Attr))
Trong đó: Attr = Attribute là thuộc tính, m được gọi là entropy trung tâm
(Central entropy- entropy của toàn bộ tập thuộc tính)
- Shannon's Entropy: Được sử dụng đối với các dữ liệu kiểu rời rạc (discretized
data). Shannon's entropy đo lường độ bất định (uncertainty) của biến ngẫu nhiên
đối với một kết quả cụ thể (particular outcome). Ví dụ, entropy của việc tung một
đồng xu có thể biểu diễn bằng một hàm của xác suất của khả năng xuất hiện mặt
sấp hay ngửa. Shannon's entropy được tính theo công thức sau:
H(X) = -∑ P(xi) log(P(xi))
Ngoài interestingness score và Shannon's entropy, một số phương pháp khác
cũng thường được sử dụng trong lựa chọn thuộc tính như Bayesian with K2 Prior,
Bayesian Dirichlet Equivalent with Uniform Prior. Bảng 1.2 dưới đây là các
phương pháp trích chọn thuộc tính được triển khai.
Bảng 1.2. Các phương pháp trích chọn thuộc tính
34
1.3.3.3. Huấn luyện và xác thực trong các mô hình dự báo
Phân chia training set/validation set là một trong những bước quan trọng nhất của
một mô hình dự báo. Để làm điều này chúng ta thường sử dụng các thư việc có sẵn
để phân chia ngẫu nhiên 2 tập dữ liệu này dựa trên một tỉ lệ nào đó.
* Vai trò của mô hình và từng tập dữ liệu:
Hình 1.26. Vai trò của mô hình và từng tập dữ liệu
- Training set
Training set bao gồm dữ liệu đầu vào và nhãn. Với training set, mô hình có thể
nhìn thấy cả dữ liệu và nhãn. Nó sử dụng dữ liệu này để tối ưu loss function thông
qua việc điều chỉnh parameter.
- Validation set
Validation set cũng có dữ liệu giống như traning set. Nhưng mô hình không
hề nhìn thấy nhãn. Mô hình đơn thuần dùng dữ liệu đầu vào của validation set để
tính toán ra output. Sau đó nó so sánh với nhãn để tính loss function. Parameter
hoàn toàn không được điều chỉnh ở bước này.
Validation set là bộ dữ liệu để chúng ta giám sát mô hình. Chúng ta sử dụng
kết quả của mô hình ở training set và validation set để đưa ra các quyết định như
điều chỉnh hyperparameter, bổ sung thêm dữ liệu... Mô hình cần phải dự đoán tốt
ở validation set. Tức là nó phải làm tốt với những dữ liệu mà nó chưa từng nhìn
thấy.
- Test set
Test set chỉ có dữ liệu đầu vào mà không có nhãn. Nó giống như những dữ liệu
đến từ tương lai mà cả mô hình và chúng ta đều không biết được kết quả. Hiệu
quả của mô hình khi dự đoán test set là thước đo xem mô hình có thực sự tốt trong
thực tế hay không. Nếu mô hình chỉ làm tốt ở training set và validaiton set mà
không tốt ở test set thì việc sử dụng mô hình trong thực tế không có nhiều ý nghĩa.
35
1.3.3.4. Đánh giá mô hình dự báo
Làm gì cũng vậy, đều có công đoạn mang tên là đánh giá. Dự báo cũng không
có ngoại lệ, khi xây dựng mô hình(model) có rất nhiều mô hình ta có thể sử dụng.
Câu hỏi đặt ra là model này có tốt không. Một model tốt sẽ cho kết quả chính xác
khi dự đoán kết quả với dữ liệu mới. Nên việc đánh giá model là một bước rất
quan trọng để có thể xác định model có thể sử dụng được không. Từ đó có thể
tiếp tục tiến hành điều chỉnh tham số (tuning parameter), chọn lựa lại thuộc tính
(feature selection) hay sử dụng mô hình khác
Không có model nào là tốt nhất với tất cả các hoàn cảnh, nó phụ thuộc vào đặc
trưng của model, đặc trưng của dữ liệu, nên việc thử data của mình trên nhiều loại
model là cần thiết. Để đánh giá mô hình, có 2 khái niệm rất quan trọng chính là
Overfitting và Underfit.
* Khái niệm Overfitting, Underfitting:
Hình 1.27. Overfitting, Underfitting
Như trên hình 1.27 (bài toán đang phân loại O và X), bạn có thể dùng mô hình
Logistic Regression để giải quyết. Theo thứ tự từ trái sang phải lần lượt là ví dụ
về Underfitting, bình thường và Overfitting.
- Trong trường hợp Underfitting, model quá đơn giản nên rất nhiều X không
được phân loại nên độ chính xác ngay cả trên tập Training Data rất tệ.
- Ngược lại với trường hợp Overfitting thì khi nhìn vào hình, bạn có thể thấy
model lại quá phức tạp, mô tả cả noise data (2 dấu X nằm trong phần O) nên
độ chính xác trên tập Training là 100% nhưng thực tế với data mới (không có
trong tập Training Data) thì độ chính xác rất tồi tệ.
Do vậy 1 model lý tưởng là model không quá đơn giản, không quá phức tạp
và không dễ bị ảnh hưởng do nhiễu.
36
* Phương pháp đánh giá Cross Validation:
Đầu tiên phải kể đến phương pháp cross validation, được đánh giá là phương
pháp nổi tiếng nhất. Thông thường chúng ta chia data thành 2 phần, Training Data
và Test Data. Tiến hành dùng Training Data để tạo model, dùng Test Data để dự
đoán rồi xác định tỷ lệ đoán thành công. Thông thường tỷ lệ khi chia data Training:
Test = 70:30
Tuy nhiên, có trường hợp một model cho cross validation tốt nhưng áp dụng với
data mới thì kết quả lại không được như ý muốn. Giả dụ trường hợp Overfitting, là
hiện tượng mô hình tìm được quá khớp với dữ liệu training. Khớp quá nên mô hình
có xu hướng mô tả cả nhiễu, thành ra khi cho test data vào toạch vô số kể. Thường
xảy ra khi lượng data quá nhỏ so với độ phức tạp của model. Độ phức tạp của mô
hình có thể được coi là bậc của đa thức cần tìm.
Tóm lại, việc chia data làm 2 phần Training Data và Test Data thì vẫn chưa thể
đưa ra kết luận chính xác cho model được. Vậy nên chúng ta khắc phục bằng cách
sau:
Ở bước chia dữ liệu, không chỉ chia làm 2 phần Training, Test mà chia thêm
1 phần là cross validation. Tỷ lệ thông thường: 60:20:20.
Sử dụng Training Data để tìm tham số và tạo mô hình.
Sử dụng Cross validation để đánh giá độ chính xác của mô hình. Nếu độ
chính xác thấp, điều chỉnh tham số để nâng cao độ chính xác của mô hình.
Sau khi thu được mô hình cuối cùng thì tiến hành đánh giá độ chính xác
với Test data.
* Phương pháp sử dụng Precision & Recall (Confusion Matrix):
Cách đánh giá này thường được áp dụng cho các bài toán phân lớp có hai lớp
dữ liệu. Cụ thể hơn, trong hai lớp dữ liệu này có một lớp nghiêm trọng hơn lớp
kia và cần được dự đoán chính xác.
Hình 1.28. Confusion Matrix
37
Một ví dụ như việc xác định mail spam, việc nhầm mail quan trọng thành mail
spam nguy hiểm hơn là bỏ sót mail spam. Trong những bài toán này, người ta
thường định nghĩa lớp dữ liệu quan trọng cần được xác định đúng là lớp Positive
(P-dương tính), lớp còn lại được gọi là Negative (N-âm tính). Ta định nghĩa True
Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) dựa
trên confusion matrix như trên. Tỷ lệ chính xác (Precision) và tỷ lệ tái hiện
(Recall) được tính theo công thức:
Trong đó, tỷ lệ chính xác (Precision) và tỷ lệ tái hiện (Recall) có giá trị càng
cao, các tốt [17].
* Phương pháp đánh giá Bias & Variance:
Như đã đề cập, một mô hình lý tưởng là mô hình có cả Training Set, Cross
Validation Set, Test Set có độ lỗi thấp. Lúc này mô hình được xem là Underfit
hay còn gọi là High Bias. Trường hợp mô hình có Training Set lỗi thấp nhưng
trên Cross Validation, Test Set lỗi lớn thì được gọi là Overfit hoặc High variance.
Lỗi của một mô hình được tính theo công thức sau:
Trong đó, hθ(x) là giá trị dự báo, m là số data samples, θ là tham số (parameter)
để training, y là giá trị thực tế tại các data point.
Bài toán đặt ra ở đây là tìm kiếm giá trị tham số θ sao cho J(θ) nhỏ nhất nhưng để
không xảy ra tình trạng Overfitting. Để thực hiện chúng ta sẽ sử dụng thêm tham số
chuẩn hóa λ (regularization parameter) đưa vào công thức sau:
Bằng cách này sẽ tránh được trường hợp giá trị θ lớn sẽ khó tìm được J(θ) nhỏ
nhất, sẽ tránh được overfitting (high variance). Câu hỏi đặt ra là lựa chọn λ như
thế nào là hợp lý? Với câu hỏi trên, giả sử trục tung là độ lỗi, trục hoành là λ, biểu
diễn trên đồ thị ta sẽ được câu trả lời.
38
Hình 1.29. Phương pháp Bias & Variance
Do λ nhỏ quá thì sẽ bị overfitting (high variance), Jtrain(θ) của Training Data
sẽ nhỏ, độ lỗi Jcv của Cross Validation Set trở nên lớn. Ngược lại λ lớn quá model
sẽ bị Underfit hoặc high bias. Cả 2 độ lỗi của Training Data, Cross Validation Set
sẽ cùng trở nên lớn. Do vậy chọn λ tại điểm khoanh đỏ sẽ cho JCV(θ) nhỏ nhất.
Tóm lại, qua các phân tích nói trên để tránh được các hiện tượng Underfitting
và Overfitting, chúng ta có những phương pháp sau:
Phương pháp khắc phục Underfitting (High bias):
Tìm kiếm biến đặc trưng (feature) khác.
Thêm vào các đặc trưng dạng (x21, x22, x1x2)
Giảm tham số chuẩn hóa λ.
Phương pháp khắc phục Overfitting (High variance)
Tăng số lượng dữ liệu Training Data
Giảm số lượng biến đặc trưng (feature)
Tăng độ lớn của tham số chuẩn hóa λ
Như biểu đồ trên, khi High Variance thì độ lỗi trên tập train sẽ thấp nhưng khi
đó trên Test Data độ lỗi lớn chính là hiện tượng Overfitting. Ngược lại khi High
Bias thì độ lỗi trên Training Data lớn và đương nhiên độ lỗi trên Test Data cũng
sẽ lớn. Cũng chính là hiện tượng Underfitting [17].
* Phương pháp đường cong AUC-ROC:
Trong lĩnh vực Machine Learning, việc tính toán hiệu suất của mô hình là một
điều rất quan trọng. Trong các bài toán phân loại, ngoài phương pháp phổ biến là
sử dụng Confusion Matrix thì còn phải nhắc đến một phương pháp rất quan trọng
khác, đó là đường cong AUC – ROC [17]
AUC - ROC là một phương pháp tính toán hiệu suất của một mô hình phân
loại theo các ngưỡng phân loại khác nhau. Giả sử với bài toán phân loại nhị phân
(2 lớp) sử dụng hồi quy logistic (logistic regression), việc chọn các ngưỡng phân
loại [0...1] khác nhau sẽ ảnh hưởng đến khả năng phân loại của mô hình và ta cần
39
tính toán được mức độ ảnh hưởng của các ngưỡng. AUC là từ viết tắt của Area
Under the Curve còn ROC viết tắt của Receiver Operating Characteristics. ROC
là một đường cong biểu diễn xác suất và AUC biểu diễn mức độ phân loại của mô
hình. AUC-ROC còn được biết đến dưới cái tên AUROC (Area Under the
Receiver Operating Characteristics) [19].
Ý nghĩa của AUROC có thể diễn giải như sau: Là xác suất rằng một mẫu dương
tính được lấy ngẫu nhiên sẽ được xếp hạng cao hơn một mẫu âm tính được lấy
ngẫu nhiên. Biểu diễn theo công thức, ta có AUC = P(score(x+) > score(x-)). Chỉ
số AUC càng cao thì mô hình càng chính xác trong việc phân loại các lớp.
Hình 1.30. Phương pháp đường cong AUC-ROC
Đường cong ROC biểu diễn các cặp chỉ số (TPR, FPR) tại mỗi ngưỡng với
TPR là trục tục và FPR là trục hoành. Các chỉ số sử dụng trong AUC – ROC bao
gồm:
TPR (True Positive Rate/Sentivity/Recall): Biểu diễn tỷ lệ phân loại chính
xác các mẫu dương tính trên tất cả các mẫu dương tính, được tính theo công
thức:
TPR càng cao thì các mẫu dương tính càng được phân loại chính xác.
Specificity: Biểu diễn tỷ lệ phân loại chính xác các mẫu âm tính trên tất cả
các mâu âm tính, được tính theo công thức:
FPR (False Positive Rate/Fall-out): Biểu diễn tỷ lệ gắn nhãn sai các mẫu
âm tính thành dương tính trên tất cả các mẫu âm tính, được tính theo công
thức:
40
Có thể thấy Specificity tỷ lệ nghịch với FPR. FPR càng cao thì Specificity càng
giảm và số lượng các mẫu âm tính bị gắn nhãn sai càng lớn. Đây chính là các chỉ
số dùng để tính toán hiệu suất phân loại của mô hình. Để hợp chúng lại thành 1
chỉ số duy nhất, ta sử dụng đường cong ROC để hiển thị từng cặp (TPR, FPR) cho
các ngưỡng khác nhau với mỗi điểm trên đường cong biểu diễn 1 cặp (TPR, FPR)
cho 1 ngưỡng, sau đó tính chỉ số AUC cho đường cong này. Chỉ số AUC chính là
con số thể hiện hiệu suất phân loại của mô hình.
Sentivity và Specificity là 2 chỉ số tỷ lệ nghịch với nhau. Khi chỉ số Sentivity
tăng thì chỉ số Specificity giảm và ngược lại. Khi ta tăng ngưỡng phân loại, số lượng
mẫu được gắn nhãn âm tính sẽ tăng lên, từ đó chỉ số Specificity tăng và chỉ số
Sentivity giảm. Điều ngược lại cũng đúng. Vì Sentivity/TFP và FPR đều tỉ lệ nghịch
với Specificity nên TFP tỷ lệ thuận với FPR.
- Đánh giá mô hình qua chỉ số AUC:
Như đã nói ở trên, chỉ số AUC càng gần 1 thì mô hình càng phân loại chính
xác. AUC càng gần 0.5 thì hiệu suất phân loại càng tệ còn nếu gần 0 thì mô hình
sẽ phân loại ngược kết quả (phân loại dương tính thành âm tính và ngược lại). Giờ
ta sẽ biểu diễn các trường hợp này qua các đồ thị trong hình 1.31 – 1.34. Đường
cong màu đỏ biểu diễn phân phối của các mẫu dương tính, đường cong màu xanh
lá biểu diễn phân phối của các mẫu âm tính.
Trường hợp 1 - Hình 1.31: Đây là trường hợp tốt nhất. Mô hình phân loại
hoàn toàn chính xác khi 2 đường cong không chồng lên nhau. Tuy nhiên
trường hợp này rất khó xảy ra và chỉ tồn tại trên lý thuyết.
Hình 1.31. Trường hợp tốt nhất khi 2 đường cong không chồng lên nhau.
Trường hợp 2 – Hình 1.32: Khi 2 đường cong chồng lên nhau, việc phân
loại sẽ xảy ra 2 dạng lỗi đó là FP (Type 1 Error) và FN (Type 2 Error). Ta
có thể thay đổi giá trị của 2 chỉ số lỗi này bằng cách thay đổi ngưỡng. Có
41
thể thấy đường cong ROC đã hạ xuống một chút, tuy nhiên nó vẫn nằm ở
góc trên bên trái của đồ thị, tức là hiệu suất phân loại vẫn ổn định.
Hình 1.32. Trường hợp khi 2 đường cong có chồng lên nhau.
Trường hợp 3 – Hình 1.33: Đây là trường hợp tệ nhất. Mô hình hoàn toàn
không có khả năng phân loại giữa 2 lớp. Đường cong ROC ở trường hợp
này là một đường thẳng tạo với Ox một góc 45 độ, biểu diễn một mô hình
phân loại một cách ngẫu nhiên. Mô hình phân loại ngẫu nhiên thường được
sử dụng như một đường cơ sở để so sánh giữa các mô hình.
Hình 1.33. Trường hợp tệ nhất khi 2 đường cong hoàn toàn chồng lên nhau.
Trường hợp 4 - Hình 1.34: Khi AUC xâp xỉ 0, mô hình phân loại ngược
hoàn toàn 2 lớp với việc phân loại âm tính thành dương tính - dương tính
thành âm tính. Để sửa điều này ta chỉ cần đảo ngược đầu ra của mô hình.
Hình 1.34. Trường hợp AUC xấp xỉ 0.
42
1.3.4. Giới thiệu công cụ phân tích Rapidminer
Rapid Miner là một nền tảng phần mềm khoa học dữ liệu cung cấp một môi
trường tích hợp để chuẩn bị dữ liệu, học máy, học sâu, khai thác văn bản và phân
tích dự đoán. Đây là một trong những hệ thống mã nguồn mở hàng đầu cho khai
thác dữ liệu. Chương trình được viết hoàn toàn bằng ngôn ngữ lập trình Java.
Chương trình cung cấp một tùy chọn để thử xung quanh với một số lượng lớn các
toán tử tùy ý có thể lồng được chi tiết trong các tệp XML và được thực hiện với
sự can thiệp của người dùng đồ họa của người khai thác nhanh.
Rapidminer là một mã nguồn mở, là một môi trường cho Machine learning và
Data mining và được viết bằng ngôn ngữ lập trình Java. Chúng sử dụng mô hình
Client/Server với máy chủ là on-premise hoặc public cloud hoặc private cloud [6].
Rapidminer cung cấp các lược đồ Learning Schemas, các mô hình và các thuật toán,
và có thể được mở rộng bằng ngôn ngữ R và Python.
Các thuật toán trong Data mining được chia thành 2 loại:
- Thuật toán Learning được giám sát: Là các thuật toán yêu cầu đã có đầu ra
Output (hoặc gọi là Label hay Target). Một số mô hình thuộc thuật toán này
có thể kể đến như: Naïve Bayes, cây quyết định (Decision Tree), mạng thần
kinh (Neural Networks), SVM (Support Vector Machine), mô hình hồi quy
(Logistic Regression), [19]...
- Thuật toán Learning không được giám sát: Là các thuật toán không bắt buộc
phải biết trước đầu ra Output nhưng có thể tìm kiếm các khuôn mẫu hoặc các
xu hướng mà không có Label hoặc Target, như mô hình K-Mean Clustering,
Anomaly Detection, Association Mining.
Với Rapidminer, có thể giúp bạn:
- Tải và chuyển đổi dữ liệu (Extract, Transform, Load (ETL))
- Xử lý dữ liệu và trực quan dữ liệu
- Xây dựng các mô hình dự báo và phân tích thống kê
- Đánh giá và triển khai dữ liệu
* Một số thuật ngữ trong Rapidminer:
Thuộc tính (Attribute): mô tả thông tin của các yếu tố trong 1 kịch bản. Thuộc
tính là các cột của bảng dữ liệu. Ví dụ: giới tính, độ tuổi, phương thức thanh
toán, mức độ tương tác, churn (mất khách hàng)
Tập dữ liệu (Data set): Training set được sử dụng để khám phá ra mối quan
hệ và các mô hình đào tạo. Test set là dữ liệu được sử dụng để kiểm tra độ
43
chính xác và ý nghĩa của mô hình dự báo (được phát hiện bằng cách sử dụng
tập huấn luyện – training set)
Exmaple: đặc trưng bới các thuộc tính của nó, một example có thể được so
sánh với các example khác. Example là các dòng của một bảng dữ liệu. Ví dụ
1 tập data về customer – churn bao gồm 993 example nói cách khác là 993
dòng. Chúng được xác định bởi số dòng mà Rapidminer prepend.
Example set: bảng được tạo ra từ các attribute (column) và các example
(row). Còn được gọi là data hoặc data set. Ví dụ: example set được sử dụng
ở đây là customer-churn, lấy từ file excel customer-churn.xlsx
Label: thuộc tính nhận diện liên quan đến câu hỏi hiện tại. Mục tiêu là để biết
hoặc tìm giá trị của thuộc tính (label’s) hoặc tìm hiểu các nguyên tắc để
Đôi khi được gọi là biến mục tiêu hoặc thuộc tính mực tiêu, đây là điều kiện
để đưa ra dự đoán cho các example chư được mô tả. Mỗi data set chỉ có 1
label. Ví dụ ‘churn’ là label của data customer-churn
Model (mô hình): phương pháp khai thác dữ liệu hoặc hướng dẫn dự đoán.
Một mô hình giải thích các quy luật được phát hiện và (hoặc) dự đoán các
tình huống ở hiện tại hoặc tương lai. Ví dụ, ban tạo ra một mô hình dự báo
một khách hàng đặt hàng có hủy bỏ hay không. Mô hình sẽ trả về kết quả cho
bạn là tỷ lệ người đó đặt hàng hay không.
Operator: các khổi xây dựng được nhóm lại theo chức năng, được sử dụng để
tạo ra các tiến trình của Rapidminer. Một operator có cổng input và cổng
output. Hành động đầu vào sẽ dẫn đến kết quả của đầu ra. Các tham số
(parameter) của operator sẽ kiểm soát những hành động đó. Hiện có hơn 1500
operator trong Rapidminer. Trong hướng dẫn này, bạn sử dụng Retrieve (lấy
ra tập dữ liệu) cho toán tử ‘Filter Examples’.
44
CHƯƠNG 2.
PHƯƠNG PHÁP TỔ CHỨC VÀ TÍCH HỢP DỮ LIỆU LỚN
2.1. CÁC HỆ THỐNG PHÂN TÍCH DỮ LIỆU LỚN TRONG VIỄN THÔNG
2.1.1. Một số ứng dụng hệ thống phân tích dữ liệu lớn phổ biến hiện nay
Là một ngành công nghiệp với khối lượng dữ liệu cần xử lý rất lớn, ngành
công nghiệp viễn thông đã nhanh chóng phát triển từ cung cấp dịch vụ điện thoại
cố định để cung cấp nhiều dịch vụ thông tin liên lạc toàn diện khác. Chúng bao
gồm di động, điện thoại thông minh, truy cập Internet, email, tin nhắn văn bản,
hình ảnh, máy tính và truyền dữ liệu web và các dữ liệu giao thông. Sự hội nhập
của viễn thông, mạng máy tính, Internet và nhiều phương tiện truyền thông khác
đã được tiến hành, thay đổi bộ mặt của viễn thông và điện toán. Điều này đã tạo
ra một nhu cầu lớn về khai thác dữ liệu để giúp hiểu số liệu kinh doanh, xác định
mô hình viễn thông, xác định các hoạt động gian lận, sử dụng tốt hơn các nguồn
lực và cải thiện chất lượng dịch vụ [7, 8].
Hình 2.1. Các lĩnh vực phân tích dữ liệu lớn trong viễn thông.
Bài toán khai thác dữ liệu trong viễn thông có điểm tương đồng với những
người trong ngành công nghiệp bán lẻ. Bài toán thường gặp bao gồm xây dựng
kho dữ liệu quy mô lớn, thực hiện biểu diễn đa chiều trực quan, OLAP và phân
tích chuyên sâu về các xu hướng, mẫu của khách hàng và các mẫu tuần tự. Các
bài toán này góp phần cải thiện kinh doanh, giảm chi phí, duy trì khách hàng, phân
tích gian lận và tìm hiểu về đối thủ cạnh tranh. Có rất nhiều bài toán phân tích dữ
45
liệu lớn cùng với các công cụ khai thác dữ liệu cho viễn thông đã được biết đến
và sẽ đóng vai trò ngày càng quan trọng trong kinh doanh ngày nay. Một số bài
toán cụ thể như sau [7, 12]:
- Quản lý trải nghiệm khách hàng (Customer Experience Mgmt):
- Giám sát, quản lý và tối ưu mạng lưới (Network OAM)
- Phân tích hoạt động (Operation Analytics).
- Kiếm tiền từ dữ liệu (Data Monetization)
Hình 2.2. Mức độ ứng dụng phân tích dữ liệu lớn trong viễn thông.
Source: Heavy Reading Survey - Thought Leadership Council (n=12), Nov.2017
2.1.1.1. Quản lý trải nghiệm khách hàng (Customer Experience Mgmt)
Quản lý trải nghiệm khách hàng là quá trình quản lý tất cả các điểm tiếp xúc
với khách hàng nhằm đảm bảo mối quan hệ tích cực giữa khách hàng với thương
hiệu. CEM được hiểu là việc “chủ động thiết kế và quản trị tất cả các trải nghiệm
khách hàng từ các trải nghiệm về thương hiệu, trải n
Các file đính kèm theo tài liệu này:
- luan_van_to_chuc_va_tich_hop_he_thong_phan_tich_du_lieu_lon.pdf