Chương 4 . Kiến thức về dữ liệu và Phân tích thăm dò dữ liệu


Series về Machine Learning !!!

Xin chào ,  Tôi hi vọng rằng bạn đang tích lũy cho mình được những kỹ năng tốt nhất về Data Science (Khoa học dữ liệu) và giúp bạn đạt được những  kết quả tốt trong sự nghiệp của bạn . Có nhiều kinh nghiệm, bạn sẽ học được cách tận dụng kinh nghiệm của mìn .Dưới đây là những ý chính của bài báo giúp bạn học những kiến thức cơ bản và cần thiết. Nếu  bạn không biết về chủ đề này , thì cũng hãy lướt qua nó

1.Chương 1 – Giới thiệu Machine Learning

2.Chương 2 – Dữ liệu và các kiểu dữ liệu khác nhau

3.Chương 3 – Mối tương quan giữa Bias và Variance trong Machine Learning 

4.Sách thực hành của bạn

Hôm nay , chúng ta sẽ thảo luận về vấn đề chính của chủ đề ,là điểm khởi tạo đầu tiên trong bất kỳ quy trình Khoa học dữ liệu nào trước khi tôi giải thích cho bạn về Quy trình khám phá kiến thức dữ liệu .Tôi muốn chia bài viết thành 2 phần với mục tiêu để bạn hiểu rõ hơn .

1.Khám phá kiến thức dữ liệu

Định nghĩa: Khai thác dữ liệu , còn được gọi là  khám phá kiến thức từ dữ liệu (KDD – Knowledge  discovery data ), là quá trình trích xuất tự động và thuận tiện nhất của các mẫu ,  biểu diễn cho kiến thức được lưu trữ ngầm , được giữ trong cơ sở dữ liệu lớn , kho dữ liệu , trang web , các kho dữ liệu  lớn khác .

Khám phá kiến thức dữ liệu là gì?

  • Lý thuyết tính toán  và các công cụ hỗ trợ con người trong  trích xuất các thông tin hữu ích từ dữ liệu số
  • Phát triển các phương pháp kỹ thuật để hiểu dữ liệu
  • Ánh xạ dữ liệu cấp thấp vào các dạng khác 
  • Cốt lõi của quá trình sử dụng KDD là “ khai phá dữ liệu”(Data mining)

Tại sao là KDD?

  • Kích thước của bộ dữ liệu đang phát triển cực kỳ lớn – hàng trăm tới hàng nghìn lĩnh vực
  • Phân tích dữ liệu phải được tự động 
  • Máy tính cho phép con người tạo ra lượng dữ liệu lớn để con người có thế phân tích , vì vậy chúng ta sử dụng máy tính để khám phá các mô hình và cấu trúc có ý nghĩa từ dữ liệu.

Sơ lược về các bước của quy trình KDD

1. Phát triển sự hiểu biết cho miền ứng dụng và xác định mục tiêu

2.Tạo ra tập dữ liệu đích

  • Chọn một cơ sở dữ liệu hoặc tập trung vào một tập hợp mẫu hoặc các biến để khám phá

3. Làm sạch dữ liệu  và tiền xử lý

  • Loại bỏ nhiễu và ngoại lai
  • Thu thập thông tin cần thiết để mô hình cho nhiễu
  • Xử lý những dữ liệu bị thiếu
  • TÍnh toán thiết lập thông tin trình tự thời gian

4.Giảm chiều dữ liệu và phép chiếu 

  • Tìm kiếm các đặc trưng có ích  để biểu diễn dữ liệu liên quan tới mục tiêu 
  • Giảm chiều dữ liệu/Chuyển đổi 🡺 Giảm chiều số biến

5.Lựa chọn nhiệm vụ khai thác phù hợp

  • Tổng hợp(Summarization),Phân loại ( Classification), Hồi quy( Regression), Phân cụm( Clustering),…

6. Việc lựa chọn thuật toán khai phá dữ liệu

  • Phương pháp tìm kiếm cho các mẫu
  • Quyết định mô hình tham số nào có thể phù hợp
  • Áp dụng phương pháp vào mục tiêu của quy trình KDD

7. Khai phá dữ liệu

  • Tìm kiếm các mẫu quan tâm trong  một hoặc nhiều hình thức đại diện

8.Giải tích và Biểu diễn trực quan

  • Giải thích các mẫu khai thác
  • Biểu diễn trực quan của các mẫu và mô hình trích xuất
  • Biểu diễn trực quan của dữ liệu lấy từ các mô hình trích xuất

9. Củng cố kiến thức đã khám phá

  • Kết hợp kiến thức khám phá vào một hệ thống khác 
  • Tài liệu và báo cáo cho các bên quan tâm
  • Kiểm tra sự phù hợp với kiến thức được trích xuất

Ý nghĩa của 2 thuật ngữ Khám phá kiến thức và Khai thác dữ liệu là hoàn toàn khác nhau

KDD đề cập đến quá trình tổng thể khám phá kiến ​​thức hữu ích từ dữ liệu. Nó bao gồm việc đánh giá và có thể giải thích các mô hình để đưa ra quyết định về những gì đủ điều kiện là kiến ​​thức. Nó cũng bao gồm sự lựa chọn các sơ đồ mã hóa, tiền xử lý, lấy mẫu và dự đoán dữ liệu trước bước khai thác dữ liệu.

Khai thác dữ liệu đề cập đến việc áp dụng các thuật toán để trích xuất các mẫu từ dữ liệu mà không cần các bước bổ sung của quy trình KDD.

2. Phân tích dữ liệu thăm dò

Phân tích dữ liệu thăm dò (EDA) được sử dụng một mặt để trả lời các câu hỏi, kiểm tra các giả định kinh doanh, tạo ra các giả thuyết để phân tích thêm. Mặt khác, bạn cũng có thể sử dụng nó để chuẩn bị dữ liệu cho mô hình hóa.Điểm chung của hai cách thức áp dụng Phân tích dữ liệu thăm dò đó là tri thức vững chắc về dữ liệu có thể giúp bạn có được câu trả lời mà bạn cần hoặc để phát triển trực giác để diễn giải kết quả của mô hình hóa trong tương lai. 

Không có lối tắt để khám phá dữ liệu. Nếu bạn nghĩ học máy(machine learning) có thể giúp bạn tránh khỏi bão dữ liệu thì tin tôi đi, bạn đã nhầm rồi. Sau một thời gian, bạn sẽ nhận ra rằng bạn đang vật lộn để cải thiện độ chính xác của mô hình. Trong tình huống như vậy, các kỹ thuật khám phá dữ liệu sẽ đến với sự giải cứu của bạn. Bạn có thể tìm thấy mọi thông tin chi tiết về khám phá dữ liệu trong video và bảng cheat sẽ cung cấp cho bạn sự hiểu biết cơ bản về EDA(Phân tích dữ liệu thăm dò)

Trình tự các bước khám phá dữ liệu

1. Nhận dạng biến:

Trước tiên chúng ta phải xác định loại của mọi biến số (liên tục hoặc phân loại) và vai trò của nó trong tập dữ liệu (biến đầu vào hoặc biến đầu ra),

2. Phân tích đơn biến:

2.1.Đối với các biến liên tục: Chúng ta có thể xây dựng biểu đồ và hình hộp cho từng biến liên tục một cách độc lập. Những số liệu này sẽ cho chúng ta hiểu về xu hướng trung tâm và sự lây lan của các biến.

2.2 Đối với các biến phân loại: Chúng tôi xây dựng một trực quan biểu đồ thanh hiển thị tần số trong mỗi danh mục.

3. Phân tích biến thiên:

3.1 Liên tục & liên tục: Chúng ta có thể xây dựng một sơ đồ phân tán để xem hai biến liên tục tương tác với nhau như thế nào.

3.2 Phân loại & phân loại: Biểu đồ cột xếp chồng là một hình ảnh trực quan tốt cho thấy tần số được lan truyền giữa hai biến phân loại.

3.3 Phân loại & liên tục: Ở đây, hình dung tốt nhất theo ý kiến ​​của tôi là xây dựng các khung hình kết hợp với swarmplots.

4. Phát hiện / xử lý các giá trị còn thiếu .

Giai đoạn này tiếp cận kỹ thuật hơn là tiếp cận hệ thống và thường nó phụ thuộc vào vấn đề cần giải quyết. Tuy nhiên tôi sẽ mô tả ở đây những gì tôi thường làm trong hai tình huống khác nhau:

4.1 Ví dụ: nếu chúng ta chỉ có một vài giá trị bị thiếu và chúng có vẻ ngẫu nhiên, chúng ta có thể tiến hành xóa các trường hợp này.

4.2 Nếu chúng ta có nhiều giá trị bị thiếu, chúng ta không muốn tiến hành xóa chúng vì điều đó sẽ dẫn đến việc có một bộ dữ liệu nhỏ hơn nhiều sẽ ảnh hưởng đến hiệu suất của mô hình dự đoán. Trong trường hợp này, tôi sẽ thay thế các giá trị bằng trung bình / trung bình / mô hình hoặc thêm một cột khác cho biết nếu biến khác có giá trị bị thiếu hay không. Trong trường hợp sau, lý tưởng nhất là cột mới được thêm vào sẽ tương quan với biến đầu ra, do đó tạo ra một biến mới có thể là một yếu tố dự báo tốt.

5. Phát hiện / xử lý ngoại lệ:

Có nhiều ngoại lệ trong bộ dữ liệu có thể gây hại cho hiệu suất của mô hình dự đoán và do đó sẽ rất tốt khi xử lý chúng. Ngoài ra trong giai đoạn này không có cách tiếp cận có hệ thống để đối phó với họ và tôi sẽ chỉ chia sẻ một vài suy nghĩ của tôi ở đây.

5.1 Trong giai đoạn phát hiện, một trong những cách tiếp cận trực quan tốt nhất để sử dụng là các ô vuông để phân tích đơn biến và phân tán để phân tích hai biến.

5.2 Trong giai đoạn xử lý, chúng ta có thể xóa chúng nếu chúng rất ít hoặc nếu không, chúng ta có thể sử dụng một phương pháp xử lý đặc biệt như loại bỏ chúng hoặc chỉ xử lý chúng một cách độc lập bằng mô hình dự đoán của riêng chúng.

6. Kỹ thuật tính năng:

Trong giai đoạn này, chúng tôi cố gắng suy ra các biến / dự đoán tốt hơn trong số các biến hiện có. Giống như tưởng tượng chúng ta có một biến ngày, chúng ta có thể tạo các biến mới khác từ đó như ngày trong tuần / cuối tuần, Thứ Hai / Thứ Ba, v.v. Biến mới được tạo này có thể trở thành một công cụ dự đoán tốt nếu nó tương quan bằng cách nào đó với biến đầu ra.

7. Hướng dẫn trực quan

Dưới đây là các loại trực quan hóa và các gói python mà chúng tôi thấy hữu ích nhất cho việc khám phá dữ liệu.

Đơn biến

Phân loại:

  • Bar plot :
http://seaborn.pydata.org/generated/seaborn.barplot.html?highlight=bar%20plot#seaborn.barplot

Tiếp diễn:

  • Histograms
  • Kernel density estimation plot
  • Box plots

Đôi biến 

  • Sơ đồ nhiệt của bảng dữ liệu thống kê
  • Multiple bar plots

Phân loại x Tiếp diễn

  • Scatter plots
  • Hexibin plots
  • Joint kernel  density estimation plots
  • Ma trận hệ số biểu diễn màu  (Correlation matrix heatmap)

Đa biến 

  • Số liệu cặp sinh đôi / ma trận scatter

Chuỗi thời gian

  • Sơ đồ đường
  • Bất kỳ biểu đồ Bivariate  nào với thời gian hoặc khoảng thời gian là trục x.

Dữ liệu bảng

  • Sơ đồ nhiệt với các hang biểu thị  các quan sát và các cột biểu thị các khoảng thời gian.
  • Nhiều sơ đồ đường
  • Strip plots, nơi mà  thời gian nằm trên trục x,  mỗi thực thể có một giá trị y không đổi  và một điểm được vẽ mỗi khi sự kiện được quan sát cho thực thể đó .

Không gian địa lý

  • Choropleths: các vùng được tô màu theo giá trị dữ liệu của chúng.

Các gói khác hữu ích

  • Matplotlib : Vẽ cơ bản
  • Seaborn : phiên bản đẹp hơn của matplotlib
  • Mpld3 : Vẽ có tương tác
  • Folium: Vẽ trên không gian địa lý

Một số tài liệu liên quan:

  1. https://www.tutorialspoint.com/data_mining/dm_knowledge_discovery.htm

2.https://www.datacamp.com/community/tutorials/preprocessing-in-data-science-part-1-centering-scaling-and-knn

3.https://www.geeksforgeeks.org/data-preprocessing-machine-learning-python/

4.http://www2.cs.uregina.ca/~dbd/cs831/notes/kdd/1_kdd.html

Nguồn: https://medium.com/ml-research-lab/chapter-4-knowledge-from-the-data-and-data-exploration-analysis-99a734792733?source=———21——————