Gom nhóm (Clustering analysis) tập dữ liệu Labor

Trong bài viết này, ta sẽ áp dụng các phương pháp gom nhóm (clustering) trên tập dữ liệu Labor. Đây là tập dữ liệu chứa các thông tin (số ngày nghỉ, số giờ làm việc, lương tăng hàng năm, …) để phân biệt nhân viên tốt (good) và nhân viên không tốt (bad). Hai thuật toán được sử dụng là K-meanHierarchical Clustering (AGNES). Để dễ tiếp cận, các phương pháp được thực hiện với Weka.

Labor
Labor

Tập dữ liệu: labor
Địa chỉ: https://archive.ics.uci.edu/ml/machine-learning-databases/labor-negotiations/labor-negotiations.data
Mô tả: https://archive.ics.uci.edu/ml/machine-learning-databases/labor-negotiations/labor-negotiations.names
Github: https://github.com/ongxuanhong/Clustering-analysis-with-Labor-dataset

Continue reading “Gom nhóm (Clustering analysis) tập dữ liệu Labor”

Advertisements

Áp dụng các phương pháp phân lớp (Classification) trên tập dữ liệu Mushroom

Trong bài viết này, ta sẽ áp dụng các phương pháp phân lớp (classification) lên tập dữ liệu Mushroom. Đây là tập dữ liệu mô tả các đặc tính vật lý của nấm, cùng với nhãn phân loại có độc hoặc ăn được. Các thuật toán được sử dụng gồm Naive Bayes, Nearest neighbor, ID3, J48. Để dễ tiếp cận, các phương pháp được thực hiện với Weka.

Mushroom
Mushroom

Tập dữ liệu: mushroom
Địa chỉ: https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data
Mô tả: https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.names
Github: https://github.com/ongxuanhong/Applying-Classifiers-on-Mushroom-dataset/

Continue reading “Áp dụng các phương pháp phân lớp (Classification) trên tập dữ liệu Mushroom”

Đánh giá mô hình (Model evaluation)

Đánh giá mô hình

Trong thực tế, ta cần áp dụng nhiều thuật toán Machine learning để chọn ra được mô hình phù hợp nhất cho bài toán của mình. Vấn đề đặt ra, làm thế nào để đánh giá và chọn ra các mô hình. Ngoài thuật toán học máy, sự thực thi của mô hình có thể phụ thuộc vào các yếu tố khác như sự phân bố của các lớp, chi phí phân loại sai, kích thước của tập huấn luyện và tập thử nghiệm, độ đo thực thi. Trong bài viết này, ta sẽ đánh giá thực thi: tập trung vào khả năng dự đoán của mô hình hơn là tốc độ phân loại hay xây dựng mô hình, khả năng co giãn.

Continue reading “Đánh giá mô hình (Model evaluation)”

Apriori và FP-Growth với tập dữ liệu plants

Trong bài viết này, ta sẽ khai thác các tập phổ biến (frequent itemset) trên tập dữ liệu Plants (sự phân bố của một số loài thực vật ở khu vực Mỹ và Canada). Các công đoạn tiền xử lý được thực hiện bởi Python. Để dễ tiếp cận, các bước khai thác dữ liệu được thực hiện với Weka.

Plant
Plant

Tập dữ liệu: plants
Địa chỉ: http://archive.ics.uci.edu/ml/machine-learning-databases/plants/plants.data
Mô tả: http://archive.ics.uci.edu/ml/machine-learning-databases/plants/stateabbr.txt
Github: https://github.com/ongxuanhong/Apriori-and-FP-growth-with-plant-dataset

Continue reading “Apriori và FP-Growth với tập dữ liệu plants”

Khai thác tập phổ biến (frequent itemsets) với thuật toán Apriori

Chips and soda
Chips and soda

Bài toán khai thác tập phổ biến (frequent itemset) là bài toán rất quan trọng trong lĩnh vực data mining. Bài toán khai thác tập phổ biến là bài toán tìm tất cả tập các hạng mục (itemset) S có độ phổ biến (support) thỏa mãn độ phổ biến tối thiểu minsupp: supp(S) \geq minsupp.

Dựa trên tính chất của tập phổ biến, ta có phương pháp tìm kiếm theo chiều rộng (thuật toán Apriori (1994)) hay phương pháp phát triển mẫu (thuật toán FP-Growth (2000)). Trong bài viết này, ta sẽ nói về Apriori cùng với một số ví dụ minh họa khi chạy thuật toán này.

Continue reading “Khai thác tập phổ biến (frequent itemsets) với thuật toán Apriori”

Công cụ Data Analysis

Data analysis tools
Data analysis tools

Sau một thời gian tìm kiếm các công cụ mã nguồn mở miễn phí phục vụ cho phân tích Big Data, tôi đã góp nhặt và tổng hợp thành danh sách 6 công cụ phân tích dữ liệu miễn phí và mạnh mẽ cho các doanh nghiệp hiện nay. Các công cụ này đều thoả các tiêu chí như: miễn phí (ai cũng có thể download về dùng), dễ dàng sử dụng (giao diện trực quan), khả năng tương thích cao (làm việc trên nhiều loại tài liệu khác nhau), có nhiều tài liệu hướng dẫn.

Continue reading “Công cụ Data Analysis”

Tiền xử lý dữ liệu (Horse Colic dataset)

Trong bài viết này, ta sẽ áp dụng những kiến thức liên quan đến lấy và làm sạch dữ liệu (gọi chung là tiền xử lý dữ liệu) trên tập dữ liệu Horse Colic (chứng đau bụng ở ngựa). Để dễ tiếp cận, các thao tác được thực hiện với Weka.

Horse Colic
Horse Colic

Tập dữ liệu: horse-colic
Địa chỉ: http://archive.ics.uci.edu/ml/machine-learning-databases/horse-colic/horse-colic.data
Mô tả: http://archive.ics.uci.edu/ml/machine-learning-databases/horse-colic/horse-colic.names
Github: https://github.com/ongxuanhong/Preprocessing-with-horse-colic-dataset

Continue reading “Tiền xử lý dữ liệu (Horse Colic dataset)”

Những ứng dụng thương mại của Deep learning

Deep learning có mặt ở mọi nơi. Trên Amazon và Netflix: cung cấp những thông tin được cá nhân hóa (personalized recommendations). Trên smartphone: giúp kích hoạt trợ lý bằng giọng nói. Trên các website và ứng dụng di động: giúp cho nội dung quảng cáo nhắm đến khách hàng tiềm năng chính xác hơn. Deep learning giúp cho doanh nghiệp thu được những thông tin hữu ích từ dữ liệu phi cấu trúc (unstructured data).

8 Types of data
8 Types of data

Các doanh nghiệp ngày nay đang cố gắng tận dụng những dữ liệu phi cấu trúc (photographs, videos, chat logs, các văn bản) để đưa ra các quyết định kinh doanh hiệu quả hơn. Họ đang tận dụng khả năng thông minh của deep learning trong việc tự động hoá các tiến trình kinh doanh này.

Trong bài viết này, ta sẽ nói về deep learning, những thách thức về dữ liệu lớn, và các ứng dụng thương mại trong thực tế của deep learning.

Continue reading “Những ứng dụng thương mại của Deep learning”

Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì?

natural langage processing
natural langage processing

Các doanh nghiệp hiện nay đang đối mặt với “cơn lũ” dữ liệu về mọi mặt: feedback của khách hàng, thông tin đối thủ cạnh tranh, emails của khách hàng, tweets, thông tin họp báo, hồ sơ pháp lý, các văn bản về sản phẩm và kĩ thuật. Việc khai thác được những dữ liệu này là điểm mấu chốt để các doanh nghiệp có thể triển khai nhanh chóng các quyết định của mình so với đối thủ cạnh tranh.

Vấn đề ở đây là gì? Có quá nhiều thông tin để xử lý cùng lúc (hơn 85% dữ liệu trên thế giới không có cấu trúc), và kích thước dữ liệu ngày càng tăng. Đối với nhiều doanh nghiệp, điều này là bất khả thi để điều động nhân sự đọc tất cả mọi thứ được cho là quan trọng (các khách hàng đang nói gì về sản phẩm, những đối thủ cạnh tranh của chúng ta đang làm gì).

Continue reading “Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì?”

Scikit-learn: Naive Bayes Classifier

Bayes rule
Bayes rule

Trong bài viết này, ta sẽ làm quen với thuật toán phân lớp Naive Bayes. Đây là một thuật toán đơn giản, dễ dàng cài đặt, và có độ chính xác tốt trong hầu hết các trường hợp.

Đây là hướng tiếp cận phân lớp theo mô hình xác suất. Dự đoán xác suất một đối tượng mới thuộc về thành viên của lớp đang xét.

Continue reading “Scikit-learn: Naive Bayes Classifier”

Statistical Inference: P Values

P Values

Trong bài viết này ta sẽ nói về p-values, không phải là một phương thức để kiểm định mà là một độ đo về tầm quan trọng của thống kê (nghĩa là xác suất của dữ kiện D xảy ra nếu (nhấn mạnh: “nếu”) giả thuyết đảo H_a là sự thật.). Tuy nhiên, bởi vì chúng phổ biến và chúng được sử dụng rất nhiều, và thường bị hiểu lầm hay diễn giải sai. Trong phần này, ta sẽ tập trung vào làm thế nào để phát sinh và diễn giải giá trị này một cách đúng đắn.

Continue reading “Statistical Inference: P Values”

Statistical Inference: Kiểm định giả thuyết thống kê (Hypothesis Testing)

Power

Việc xác định qui luật xác suất của các biến (variable) có mặt trong tổng thể (population) là một điều cần thiết trong xử lí số liệu. Bài toán ước lượng tham số (parameter estimation) mới chỉ giải quyết việc ước lượng tham số có mặt trong phân phối xác suất của tổng thể (probability distribution of population). Trong baì viết này, ta sẽ xây dựng các qui tắc đánh giá giả thuyết (evaluate hypothesis) về các tham số. Qua các qui tắc kiểm định, ta có thể biết được cách xây dựng các giả thuyết (NULL hypothesis) và đối thuyết (alternative hypothesis) trong từng trường hợp cụ thể. Bài toán kiểm định giả thuyết thống kê (hypothesis testing) là một bài toán lớn và quan trọng của thống kê toán học.

Continue reading “Statistical Inference: Kiểm định giả thuyết thống kê (Hypothesis Testing)”

Statistical Inference: Khoảng tin cậy T (Confident Interval)

T plot 2 df

Trong bài viết này, ta sẽ thảo luận về một vài phương pháp thống kê trên tập dữ liệu nhỏ, cụ thể là phân phối T của Student/Gosset và khoảng tin cậy T.

Continue reading “Statistical Inference: Khoảng tin cậy T (Confident Interval)”

Statistical Inference: Tiệm cận (Asymptotics)

Coin plot 10000

Trong bài viết này ta sẽ thảo luận về tiệm cận (asymptotics), làm thế nào để miêu tả dáng điệu của thống kê khi kích thước mẫu ngày càng tiến đến vô cùng. Giả định kích thước mẫu và kích thước quần thể là vô cùng, điều này hữu ích cho việc suy diễn thống kê và xấp xĩ. Continue reading “Statistical Inference: Tiệm cận (Asymptotics)”

Statistical Inference: Xác suất (Probability)

distribution
distribution

Trong bài viết này, ta sẽ khảo sát các khái niệm về xác suất (probability), là một số thực diễn tả khả năng xảy ra của một biến cố (event, outcome). Continue reading “Statistical Inference: Xác suất (Probability)”