https://blog.dailydoseofds.com/p/11-types-of-variables-in-a-dataset-d49 https://freedium.cfd/https://medium.com/data-science/top-12-skills-data-scientists-need-to-succeed-in-2025-c80f54cf227a # Prepocessing ## Handle null value 1. Prediction * desicion tree exactly: not exactly: in kaggle, no many peoples use. -> Because, When column A -> column B => column B is not important feature. column is enough 2. Average value (only for Number) 3. Delete (if have grant data, and delete don't effect on %, maybe 1%) 4. Mode 5. Null is important value, example: when wind too big, the sensor can not get value. Use a specific value replace for null. Imbalance is important in label field, when a label 1:9 yes:no ## Problem * same input but different label. -> missing column. # Visualize Use least color as possible Not overlapped area charts Không có dữ liệu số thì đếm số lần xuất hiện. ## Bar chart Categorical data -> bar chart: x is categorical, values is independence. Care number -> bar chart Care % -> pie chart ## line chart Can not use when: same x with # y In between of 2 point is medium: maybe not right ## Heatmap 3D data # Giảm chiều dữ liệu **PCA**: cố gắng đưa về ít chiều hơn mà vẫn tách ra nhiều nhất có thể. - Giảm chiều dữ liệu khi cần tính toán nhanh hơn. **Tsne**: khi ở chiều 3D dữ liệu gần điểm nào nhất thì giảm chiều vẫn vậy. + Perplexity: số lượng hàng xóm - Mỗi lần chạy đưa ra kết quả khác nhau. - Khi mỗi lần có dữ liệu mới vào thì có thể gây thay đổi vị trí ban đầu. - Không dùng nó để giảm chiều dữ liệu cho mục đích lâu dài (trong tính toán)(dùng visualize tốt hơn). https://www.facebook.com/photo/?fbid=10091282377549718&set=gm.1872730600164870&idorvanity=511510259620251 https://blog.dailydoseofds.com/p/sparse-random-projections # Mô hình Khi cần giải thích xài desicion tree. SVM khi không cần giải thích chỉ cần đưa ra kết quả chính xác hơn. ## SVM C parameter: C càng lớn càng ít lỗi. ### Non-linear seperate Khi dữ liệu không phân chia tuyến tính ở ít chiều?. Thì chuyển dữ liệu nhiều chiều hơn với hy vọng phân chia tuyến tính dc. X1= x1^2 X2 = x2^2 x3 = (căn 2)X1 * X2 Thường không làm như vậy vì phức tạp hơn. -> Kernal trick. Có công thức tính sẵn khoảng cách 2D -> khoảng cách 3D giữa 2 point. ### Multi classification. SVM Chỉ phân lớp nhị phân. Với nhiều hơn > 2 class ? #### 1 vs rest: 1 với 1 cụm A | BC B | AC C | AB Không đúng khi Dữ liệu bị mất cân bằng A: 1 mẫu, B: 999 mẫu #### 1 vs 1 Dùng được khi dữ liệu bị mất cân bằng. Nhược điểm: tạo ra rất nhiều model SVM. A | C -> C A | B B | C -> C Chọn đứa có nhiều output nhất. Mô hình tốt hơn: * XGboost. * Light gbm https://www.analyticsvidhya.com/blog/2017/06/which-algorithm-takes-the-crown-light-gbm-vs-xgboost/ given lots and lots of data, even XGBOOST takes a long time to train -> Light GBM. # Kmean Bao nhiêu group là ổn ? khoảng cách từ các điểm đến tâm của nó là nhỏ nhất. Tăng dần k cho đến khi độ biến thiên ít nhất. Ví dụ: Gom nhóm các bệnh nhân covid thành nhóm, sau đó xét nghiệm vài người của nhóm đó để kết luận tổng thể nhóm đó có bị nhiễm covid không. **Trong xử lý ảnh**: gom nhóm các điểm màu giống nhau lại, giúp giảm độ lớn file ảnh (do giảm thiếu số lượng màu sử dụng). **Trong xử lý văn bản**: Đếm số lượng word trong câu, sau đó gom nhóm. tf-term frequency: đếm tần suất 1 word trong toàn bộ word.IDF: Câu nào cũng có từ đó -> từ đó không quan trọng. Nhược điểm tf-IDF: A loại B, B loại A, 2 câu này sẽ dc same là như nhau do không quan tâm tính thứ tự. Bi-gram, n-gram: biểu dụng 1 lúc 2 từ như 1 từ. Muốn xử lý dc thứ tự thì phải tăng n-gram lên làm phức tạp quá trình tính toán (sự đánh đổi). 150k -> 1tr -> 10tr: k so sánh dc giá tiền. # Hypothesis testing Nhóm A và Nhóm B, cần bik điểm của học sinh nhóm nào lớn hơn. lấy tập mẫu A và tập Mẫu B, phải lấy số lượng bao nhiêu trên tổng thể để đạt được độ tin cậy cao nhất. Sau khi so sánh tập mẫu A có điểm > tập mẫu B -> nhóm A > nhóm B. Cần lấy mẫu bao nhiêu trên tổng thể là tốt ? Ví dụ khác: Độ dự đoán chính xác điểm của 2 nhóm là: A-> 98%+- 5% B-> 95%+- 5% Dùng Hypothesis testing để biết dc nhóm nào có điểm cao hơn. # Time series ## Phân ra time series ### 2 kiểu phân tách Phân tách theo phép nhân Phân tích theo phép cộng Sai số của phép cộng > phép nhân ### 3 biểu đồ sau khi phân tách Biểu đồ xu hướng. Biểu đồ chu kỳ. Biểu đồ lỗi. ### Phép nào hiệu quả hơn ? Nếu nhìn biểu đồ lỗi mà có tính chu kỳ thì tức là dữ liệu theo tính chu kỳ chưa hoàn toàn lấy dc trọn vẹn thông tin nên bị lẫn qua biểu đồ lỗi -> không tốt. ## Missing dữ liệu Forward fill Backward fill Linear fill Dữ liệu missing liên tục thì khó cứu vãn. Nên missing lẻ tẻ ra để dễ khôi phục. ## Correlation ### Autocorrelation Khi t1 tăng thì t0 tăng hay giảm t0:3 7 9 11 5 4 t1:7 9 11 5 4 (bỏ giá trị đầu để tiến hành so sánh) t2:9 11 5 4 t càng lớn: Dữ liệu càng ít sai số càng lớn ### Partial autocorrelation t0 = X.t1 ## Smoothing Ví dụ hôm nay trời mưa, doanh số hôm nay giảm, ngày mai ngta đi mua bù -> doanh số k giảm. Mặt bằng chung cả tháng tổng lại vẫn như cũ. Làm trơn dữ liệu đi để nhìn dữ liệu rõ hơn. ## Arima Toán vs kinh tế xài nhiều Bản chất là hàm logistic y=ax0+bx1+cx2+....+d Không làm việc vs dữ liệu có tính xu hướng và chu kỳ. Về apply SARIMA (làm việc vs dữ liêu có tính chu kỳ) trả lời các tham số có ý nghĩa làm gì và khi nào dùng nó? # Infectious disease modeling - SIR Với bao nhiêu ngày thì đạt điểm dừng? Có nhiều dữ liệu thì build predict dc, nhưng nếu dữ liệu ít thì sao ? ví dụ covid. N: total population (N tổng dân số TPHCM) S(t): number of people susceptible on day t (chưa bị nhiễm bệnh, có khả năng bị nhiễm) I(t): number of prople infected on day t R(t):number of people recovered on day t beta: expected amount of people an infected person infects per day (hệ số lây lan) D: number of days an infected person has and can speard and disease. (thời gian ng đó nhiễm bệnh và có khả năng lây cho ng khác) y: the proportion of infected recovering perday (y=1/D) (hiệu năng hồi phục trên ngày) R0: the total number of people an infected persion)infects(R0=beta/y) (người đó sẽ lây cho bao nhiêu ng khi ng có nhiễm bệnh) # Introduction to ML strategy Dữ liệu quá phức tạp, có quan hệ nhiều biến với nhau -> K visualize dc. Khi đó vẽ các chart riêng lẻ có thể mất thông tin. -> Dùng ML để phân tích. BA dùng dữ liệu dạng bảng nhiều thì dùng ML là đủ. ảnh/text/audio -> Dùng DeepLearning. # Seminar Apache airflow: điều phối các luồng (Chắc chắn dùng trong doanh nghiệp) Apache Spark: preprocessing khi đổ data về. Tableau: public dc website, xử lý dữ liệu lớn realtime. Tự build: tiết kiệm chi phí hơn PowerBI: khi cty nhỏ mua package của microsoft.