Python snippet: Linear regression

cartoon_guide_regression.png

Linear regression (Hồi quy tuyến tính) thường được ứng dụng vào dự đoán giá trị số thực khi cho trước dữ liệu đầu vào. Ví dụ một số ứng dụng của Linear regression:

  • Dự đoán mức lương sau khi ra trường của một người dựa vào các thông số như điểm trung bình khoá học, số lượng các hoạt động ngoại khoá đã tham gia, giới tính, …
  • Dự đoán giá chứng khoán ngày mai dựa vào lịch sử giá trước đó, các sự kiện xã hội, số lượng vốn đầu kỳ, …
  • Bao nhiêu người sẽ share bài viết của bạn trên facebook dựa trên số lượng bạn bè, số lượng bạn của bạn bè, độ phổ biến của hashtag, những bài viết trước đó, …
  • Điều chỉnh nhiệt độ phòng dựa trên thời gian trong ngày, nhiệt độ ngoài trời, ánh sáng trong phòng, …

Tiếp tục series Python snippet (Python snippet: Visualizing, Python snippet: Thu thập dữ liệu), tuần này tôi sẽ đưa vào một vài snippet liên quan đến linear regression áp dụng trên tập dữ liệu home_data để dự đoán giá nhà dựa trên một vài thuộc tính cơ bản như số lượng phòng ngủ, số lượng phòng tắm, điểm đánh giá, …

Lý thuyết: linear regression
Source code: data-science-works
Thư viện: matplotlib, pandas, scikit-learn

Xem tiếp

Python snippet: Visualizing

matplotlib

Python snippet là series các bài viết tổng hợp lại những đoạn code hữu ích trong quá trình làm việc và nghiên cứu của tôi. Mục đích chủ yếu làm nơi tham khảo nhanh để tiết kiệm thời gian cài đặt và triển khai. Tôi sẽ bắt đầu với visualizing gồm các chart (biểu đồ) cơ bản thường hay dùng để phân tích dữ liệu.

Source code: data-science-works
Thư viện: matplotlib, numpy

Xem tiếp

Các bước phân tích dữ liệu

Data analytics
Data analytics

Trong quá khứ, khi bắt đầu nghiên cứu một vấn đề nào đó, ta thường phải tìm kiếm hay thu thập dữ liệu tương ứng với bài toán mà ta đề ra. Nhờ có tiến bộ của internet mà ngày nay ta được tiếp cận với nhiều thông tin hơn, đến nỗi quá nhiều, quá Big khiến cho vấn đề không còn nằm ở chỗ thiếu thông tin nữa mà là làm sao rút trích được những thông tin hữu ích và súc tích nhất cho câu hỏi ban đầu.

Khi đó ta thường đối mặt với những thách thức về dữ liệu như:

  • Làm sao tìm được dữ liệu cho bài toán của mình?
  • Phân tích dữ liệu thu thập được như thế nào?
  • Sau khi phân tích, ta có thể đưa ra được kết luận thú vị nào không cho bài toán đề ra?

Mặc dù mỗi lĩnh vực nghiên cứu khác nhau sẽ có những đòi hỏi và mục tiêu khác nhau, nhưng nhìn chung, ta có thể áp dụng cùng một phương pháp hữu ích như tôi sắp trình bày bên dưới để có thể tiến hành một quy trình phân tích dữ liệu thành công.

Xem tiếp

Khai thác ưu điểm của Deep Learning với Topological Data Analysis

Deep learning 6
Deep learning

Gỉa sử bạn có hàng ngàn cột và hàng triệu dòng trong tập dữ liệu của bạn. Dù cho bạn nhìn tập dữ liệu này dưới góc độ nào – nhỏ, vừa, hay lớn – bạn cũng không thể nào thật sự quan sát hết tính chất của dữ liệu hiện tại. Đó là khuyết điểm trong giác quan của con người. Ta chỉ có thể quan sát tốt một đối tượng cụ thể hay một bức tranh tổng quát. Vậy có cách nào để chuyển tải tập dữ liệu của bạn vào một bản đồ duy nhất, để từ đó bạn có thể điều hướng và quan sát từng chi tiết một bên trong đó?

Deep Learning kết hợp với Topological Data Analysis có thể làm được việc này và hơn thế nữa. Edward Kibardin, Lead Data Scientist tại Badoo đã phát triển một công cụ để làm điều này. Bằng cách kết hợp hai công nghệ trên vào một giao diện người dùng thân thiện. Công cụ này có thể gíup mọi người quan sát dữ liệu hiện tại một cách dễ dàng hơn cũng như trả lời được những câu hỏi ngay cả bản thân còn không thể đặt ra trước đó.  website DataRefiner.

Xem tiếp

Exploratory Data Analysis: Các nguyên tắc trình bày biểu đồ

7 Kinds of Data Stories
7 Kinds of Data Stories

Mục tiêu của trình bày biểu đồ là để giao tiếp thông tin rõ ràng, toàn vẹn, và hiệu quả hơn. Một biểu đồ được trình bày tốt sẽ khuyến khích sự tham gia của nhiều thành viên trong nhóm, cũng như giúp mọi người tập trung vào bài báo cáo hơn. Với tập dữ liệu đồ sộ, ta cần một cách hiệu quả để có thể hiểu được tính chất của tập dữ liệu đó. Hệ thống thị giác của con người là kênh đón nhận thông tin nhanh chóng và hiệu quả nhất nên việc nắm bắt các nguyên tắc khi trình bày là một kiến thức hữu ích.

Xem tiếp

Công cụ Data Analysis cho doanh nghiệp

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.

Xem tiếp

Exploratory Data Analysis: Thiết bị đồ họa trong R

PDF format
PDF format

Trong bài viết này, ta sẽ làm quen với các thiết bị đồ họa trong R. Các thiết bị đồ họa là gì? Đó là nơi để bạn có thể xuất biểu đồ của mình ra các thiết bị như màn hình, file ảnh (PNG, JPEG, SVG, TIFF) hay file văn bản (PDF). Cụ thể, khi ta xuất biểu đồ, R sẽ gửi thông tin hiển thị biểu đồ đến thiết bị đồ họa. Thông thường, ta sẽ xuất ra thiết bị màn hình (đây là thiết bị mặc định). Ta xuất biểu đồ ra file khi muốn viết báo cáo, thuyết trình, hay gửi thông tin cho các đồng nghiệp của mình.

Xem tiếp

Exploratory Data Analysis: Giảm số chiều dữ liệu

Mình xin chia sẻ bài viết về phân tích thành phần chính (Principle Component Analsysi – PCA). Đây là một công cụ rất hữu ích khi làm việc với big data. Bằng cách giảm số chiều dữ liệu từ vài triệu xuống còn vài nghìn, ta có thể cải thiện hiệu suất tính toán của máy tính nhưng vẫn giữ được độ chính xác của mô hình dự đoán của mình. Đây là bài báo được viết bởi Jonathon Shlens của Google Research, có nhan đề “A Tutorial on Principal Component Analysis”. Bạn có thể download ở link sau: http://arxiv.org/pdf/1404.1100.pdf

pca
pca

Exploratory Data Analysis: K Means Clustering

K Means Clustering
K Means Clustering

Trong bài viết này, ta sẽ khảo sát về k-means clustering, một cách đơn giản khác để quan sát tập dữ liệu đa chiều (multi-dimensional data). Tương tự như hierarchical clustering, kĩ thuật này hữu ích khi bước đầu phân tích dữ liệu (quan sát mối quan hệ giữa các điểm dữ liệu, thuộc tính).

Xem tiếp