Thứ Ba, 1 tháng 10, 2019

Data engineering cho người bắt đầu


Ho Quoc Tuan Same but different. Viên thích PowerBI hơn. Nó more integrated with Office suite. Nó có vài điểm mạnh mà Tableau không có:
1. Free desktop version. Student can use it free.
2. Xài Power Query and DAX which are both easier to learn and manipulate than Tableau which use base Javascript code.
3. Integrated with SharePoint which almost all companies use.

---------------------------------------
Sáng có bạn có câu hỏi rất hay!

Em thấy hiện tại các tài liệu hay khoá học về data analysis hay BI, theo như giới thiệu, phần lớn dạy về kỹ năng/kỹ thuật code, thao tác trên các tool BI để tạo ra báo cáo trực quan. 

Nhưng cách tư duy như thế nào để biết mình cần phải làm báo cáo về cái gì, báo cáo như thế nào, phân tích cái gì trong đó để ra được những kết luận sắc bén và đỉnh cao, nhìn được những cái mà analyst khác không nhìn được thì các tài liệu này ít nói 

--------------------------------

Mình xin trả lời từ trải nghiệm nhé:

0. Thế nào là: Sắc bén đỉnh cao:

- Bạn định nghĩa hộ mình nhé??

- Vì với ông TỔNG CEO học hêt lớp 4 thì ông ý ko chịu đeo khẩu trang <-- như thế là SẮC BÉN, ĐỈNH

- Còn với bạn học sinh hiết tiền, thì bạn ý biết đeo khẩu trang đi lấy gạo phát chẩn <--- đối với mình thế là SẮC BÉN.

.

.

.

.

1 Về vấn đề: cách tư duy như thế nào để biết mình cần phải làm báo cáo về cái gì

- Tư duy thống kê định lượng -> cho báo cáo về predictive -> vậy cần học hiểu thế nào là coef, fitness, r square

- Tư duy phân bổ dịch chuyển số lượng lớn -> cho việc dự đoán theo phân bổ các yêu tố không liên quan ---> vậy cần học logistic regression

- Tư duy dùng tính toán máy tính tính lại, tối ưu ram -> cho việc dự đoán bit data tương tự ->  vậy cần học cách tạo mạng trí tuệ

- Tư duy lựa chọn thuật toán nào cho đúng -> cho việc có data mà không biết làm gì -> vậy cần học cơ bản loại data nào thì thuật toán nào là phù hợp

- Tư duy đã có thuật toán rồi, nhưng bị sai quá, đúng quá -> cho việc điều chỉnh thông số thuật toán -> càng phải học rõ hơn thuật toán đó nói cái gì, và chỉnh lại hoặc lấy lại data xem lại data có thể nó ko phù hợp

- Tuy duy phân tích cái gì trong đó -> cho việc không biết thuật toán cần cái gì đầu vào và đầu ra -> càng phải học rõ hơn thuật toán nó nói cái gì.

- Tư duy mong muốn yếu tố fit bao nhiêu % là vừa -> cho tư duy phản biện báo cáo mình làm ra -> vậy cần mua những báo cáo các tổ chức khác để so sánh với báo cáo mình

- Tư duy có kết quả rồi, nói sao để tụi KINH DOANH nó lọt tai -> cho tư duy phản biện báo cáo mình làm ra -> vậy cần học cách ăn nói cho dễ nghe. Học cách ăn nói trình bày cho bên đối diện họ phải lòi tiền ra: Xem tìm đọc các vở kịch của Shakespeare, sách của JJ.Roussou.

Có quyển sách rất hay về: Hướng dẫn các nhà kinh tế dùng thuật toán gì để dự đoán cái gì, vẽ vời cái gì cho phù hợp với data của mình. Bạn donate vào dathoc.net (dathoc.net/donation). Mình gửi cho.

-------------------------------


Giờ làm Data Mining có mấy cái tool trực quan ghê, kéo thả, xong nối nối cái ra Info mà không cần phải code chi cực thân ))) thậm chí làm Machine Learning mì ăn liền luôn, kéo thả vô cái rồi split  data training rồi tạo Model rồi đem đi Predict như thầy bói được liền luôn ))))

Tool Orange: 

Không có mô tả ảnh.

Lai Duc Trung https://www.facebook.com/laitrungminhduc Anh thử KNIME xem ;) cũng như Orange nhưng xịn hơn với handle data tốt hơn, ko crash :3

Hàng code từ Java lên mà anh :)) Với thằng KNIME nó có nhiều plugin, còn Orange thấy cho education thôi à :)) 
Em nghe bảo bên Yolo VPBank nó chạy KNIME ấy :))

Hong Phuc Nguyen: Lai Trung Minh Duc orange nó base trên python nên thiếu gì toàn phải code vô =))) lại về cái máng cũ :)))

Lai Trung Minh Duc: Hong Phuc Nguyen Đã lười code nên phải "đứng trên vai ng khổng lồ" anh nhỉ 😝

Knime vs Rapidminer:
https://cmotions.nl/en/knime-vs-rapidminer/

--------------
Learning Python the hard way https://hackernoon.com/learning-python-the-hard-way-t8163z8n

------------------

Huyen Chip: Mình tổng hợp một số tính năng khá tuyệt vời của Python mà mình mất một thời gian mới phát hiện ra hay mới dám dùng.

Mình tập trung vào các tính năng hữu ích cho data science và machine learning.

Tại vì GitHub có vấn đề với Jupyter notebook nên mình copy nội dung sang README. Mình vẫn giữ Jupyter notebook cho những bạn nào muốn clone về chạy trên máy.

-----------------------------------------------------------------------------------------------------------------------
Q:
Chào mọi người, trong group mình có ai học supply chain và đi theo hướng data analytics ko? Cho em hỏi trong 3 ngôn ngữ R, SQL, Python thì nên học cái nào trước hết để hỗ trợ công việc ạ? Cảm ơn mọi người.
- SQL please  sao ít người học SQL vậy huhu
@Nguyễn Ngọc Duy Luân giờ bà con cứ chạy theo data science, analyst mà quên mất là phải có data trước. Kiếm ng làm sql ko ra ý anh
- Sql rồi R

Source: https://m.facebook.com/groups/870665749718859?view=permalink&id=2225031537615600
#KoolJ_QnA_AI
[Data Engineering]
Question:
Mong ad duyệt bài
Em đang là sinh viên IT cũng làm Mobile 1 thời gian dài + back-end
Hiện em muốn tìm hiểu về Data engineer, nhưng không biết bắt đầu như thế nào, em có tìm hiểu qua trên mạng thì toàn là Data scientist
Mong anh chị cho em, những cái mà em cần phải học hoặc có thể anh chị gửi giúp em khoá học cũng được ạ, em cảm ơn nhiều
TRẢ LỜI:
----------------------------------------------------------------------------------------------------------
[Data Engineering - DE cho người trái nghề]
Mình nghĩ bạn có thể join 1 hoặc hai khóa học, xong cần có những chỉ dẫn để các bạn, nhất là các bạn trái nghề hoàn thiện những kỹ năng sau.
Đây là quan điểm của cá nhân mình sau những trải nghiệm.
Các bạn khác bổ sung để có đường đi nước bước tốt hơn.
Đường hướng chung (nếu những gợi ý dưới là TA vậy bạn cần học TA rồi hãng sang DS):
1. Bạn cần làm việc và tập làm việc trên Linux/Ubuntu. Vì nó sẽ cho bạn những trải nghiệm khác với Windows, cái mà bạn mở mắt ra đã nhìn thấy. Và sẽ giúp bạn nhiều trong quá trinh học DS sau nay
(trên mạng dạy rất nhiều: Google câu lệnh thường dùng Ubuntu, CentOS là r)
2. OOP - lập trình hướng đối tượng. Học Java  - ít nhất 1 tháng
3. Bạn rất cần học lập trình cho THU THẬP, BIẾN ĐỔI, áp dụng thuật toán để DỰ ĐOÁN dữ liệu, và cuối cùng là MÔ PHỎNG HÌNH ẢNH/ĐỒ THỊ, và mình gợi ý ngôn ngữ để sau này bạn chuyên dùng nhiều, va chạm nhiều: Python & Scala
Nếu ko thể học đc Python, thì học Scala. Và hiện có rất nhiều khóa miễn phí để học 2 ngôn ngữ này
https://www.youtube.com/watch?v=CmorAWRsCAw&list=PLeo1K3hjS3uuASpe-1LjfG5f14Bnozjwy
https://www.youtube.com/watch?v=DzFt0YkZo8M
4. Vấn đề lo ngại nữa là ko có máy mạnh: năm 2019 rồi, bạn ko cần phải trang bị máy mạnh, AWS AMI có hết máy cho bạn rồi. Chỉ cần bỏ tiền thuê thôi, đâu đó: $0.008/giờ
Cụ thể:
.
.
.
A. THU THẬP
- Bạn cần biết các kiểu thu thập: stream, batch, manually, auto... qua các công cụ: Nifi, Kafa, Flume, Sqoop
- Cần biết thu thập data từ internet, từ iot, từ thiêt bị vận hành, từ camera, từ đài phát thanh
- Cần biết kiểu data nào phù hợp với kiểu lưu dữ liệu nào: file, binary, text, video, images
- Cần biết môi trường để lưu nó: hdfs, ntfs, document db, row db, column db
- Cần biết lọai kiểu DB nào thì tốt cho lưu và lấy ra kiểu gì cho tốc độ, và tốn ít lưu trữ nhất
- Cần biết áp dụng tool thông thường để lấy dữ liệu qua website, internet: webdriver là một ví dụ
.
.
.
B. BIẾN ĐỔI
- Trước khi đưa dữ liệu vào các thuạt toán (mà bên Data Scientist - DS đưa cho chúng ta) bát buộc chúng ta phải biến đổi: kiểu như tùy thuật toán mà có dạng dư liệu đặc trưng, hoặc
- Làm sạch dư liệu: cắt ảnh, cắt sound, chỉnh câu trong text, phân loại câu, tìm danh từ, động từ....Mỗi loại data có kiểu/tool riêng để xử lý.
- Biến đổi sâu:
Về Ảnh:
https://www.facebook.com/KoolJ.InDaHouse/posts/10156133682280079
Về Text:
https://www.facebook.com/KoolJ.InDaHouse/posts/10156133686175079
Về Sound:
https://www.dsprelated.com/freebooks/sasp/Preprocessing.html
- Chỉnh, kiểm tra dữ liệu thiếu, ko đúng...
- Cần hiểu và áp dụng kiểu dữ liệu nào cho THUẠT TOÁN phân tích gì. Hãy hiểu về các kiểu loại dữ liệu đã: liên tục, catalog..
VD:
https://www.wintellect.com/beginning-statistics-for-data-science-types-of-data/
- Có nhiều thuật toán mới từ DS đưa sang, và cần confirm lại dữ liệu họ cần là gì. Và biến đổi phù hợp.
- Tất nhiên ko thể dùng MS SQL, hay Oracle DB để biến đổi cả tỷ bản ghi. Nó sẽ có những công nghệ chuyên biệt để biến đổi, vd: Spark Dataframe
- Tất nhiên ko thể chạy trên ntfs thông thường, mà nó phải đưa trên các hệ db clustering
- Việc query 1 luồng là thông thường cac dev web đang làm. Song nó có những distribute query, vậy các tool có thể làm đc cái đó. Mời bạn Google nhé.
.
.
.
C. DỰ ĐOÁN
- Đôi khi nhiệm vụ của DE, là apply data và thuật toán tư DS cấp và đưa ra những dấu hiệu bất thường, và thông báo cho DS.
- Cũng có thể áp dụng ngay thuật toán sẵn có của 50 năm về trước, hay Google, IBM, với data của bạn
- Nó có thể là timeseries, hoặc logistics regression ai cũng biết. Song nó cũng có thể là một thuật toán do bên DS nghĩ ra
- Cái chính là bạn cần biết một số thông số, và ngưỡng hoàn hảo để xem dữ liệu với công thức đầu ra có phù hợp không. Nếu không phù hợp chạy những dữ liệu lớn hơn. Làm sạch lại dữ liệu.
- Việc đưa data vào ngồi chờ và xem xét output
.
.
.
D. MÔ PHỎNG HÌNH ẢNH/ĐỒ THỊ
- Cần biết với mỗi kiểu, dạng data việc đưa lên đồ thị, vẽ ra như thế nào?... qua Tableau, Power BI, hay treen browser là Canvas.js?
- Học cách áp dụng vẽ lên đồ thị những biểu đồ cần thiết, vd: Tính tổng tăng dần, báo cáo quý, dự đoán timeseries....
.
.
.
E. Tạo ứng dụng thương mại từ nghiep DE
- Cần học thêm:
1. Dựng ứng dụng web tĩnh: học HTML, CSS, JQuery  - ít nhất 1 tháng
2. Học Javascript chuyên sâu  - ít nhất 1 tháng
3. Học 1 ngôn ngữ serverside, a gợi ý Go  - ít nhất 1 tháng
4. Học phát triển ứng dụng mobile: React Native - ít nhất 1 tháng
Gluk@

Trong khi nhà nhà người người đang bàn tán về Data Science thì có rất nhiều team đang thầm lặng cày Business Intelligence và Data Warehouse dạng truyền thống.
Gần 1 năm nay tôi là khách hàng của một team như thế. Phần lớn team này based ở Saigon, cộng thêm rải rác một vài team member ở Indonesia và Sri Lanka
Bọn tôi làm gì?
Giai đoạn này chủ yếu là làm báo cáo, phần lớn tương đối đơn giản như "xuất/nhập/tồn"; "doanh thu/chiết khấu/chi phí/lợi nhuận" - sắp tới sẽ là các dashboards
Khách hàng là ai?
Một tập đoàn thực phẩm cỡ vừa ở Úc và New Zealand, doanh số hàng năm khoảng 0.5 tỷ AUD.
Nguồn dữ liệu đến từ đâu?
Chủ yếu là ERP của khách hàng: https://www.infor.com/products/infor-os và các hệ thống phụ trợ (phần mềm quản lý chiết khấu bán lẻ, IBM TM1 cho planning và budgeting, dữ liệu bán lẻ từ siêu thị vv) - giai đoạn này 100% là structured data
Bọn tôi dùng công cụ gì?
Bất cứ công cụ gì bọn tôi có trong tay. Hiện nay gần như 100% là Microsoft và Azure: Azure Hyperscale DB, Azure Analysis Services, Azure Data Factory, Azure SQL DW, Power BI v.v. Ngoài ra còn có TimeXtender ETL/DWA và Cognos Analytics. Nhóm có quyền tự chủ tương đối trong việc chọn tool. Với tư cách là khách hàng kiêm team lead, tôi chọn công cụ nào đơn giản và ít phải code nhất. Mục đích là để team tập trung vào business process thay vì viết code
Tại sao lại như thế?
Vì tôi tập trung vào business value hơn là technology showcase. Khách hàng trả tiền cho chúng tôi để giải quyết một số bài toán cụ thể trước mắt, họ không phải là early adopter và hiện nay họ chưa có ý đồ làm data science lab.
Tại sao khách hàng lại chọn team này?
Vì một số thành viên có gần mười năm kinh nghiệm viết báo cáo từ ERP tương tự cho một công ty tương tự ỏ Đông Nam Á. Yếu tố này rút ngắn thời gian tìm hiểu nhu cầu khách hàng, thiết kế data warehouse và viết reports. Trong rất nhiều trường hợp, khách hàng chưa kịp hình dung ra họ muốn gì thì team đã suggest báo cáo gần đúng ý họ. Họ tâm khục khẩu phục vì những thứ đơn giản như thế. Chi phí dành cho chúng tôi thấp hơn hẳn chi phí lập 1 team tương tự ở AU/NZ, đó cũng là yếu tố quan trọng
Tại sao tôi viết post này?
Có vài mục đích. Mục đích chính thứ nhất là bạn nào quan tâm tham gia nhóm, cứ việc email hr@ferntreeservices.com. Công ty này là agency của nhóm, lo liệu các vấn đề trần thế (thu nhập, công cụ làm việc, đào tạo etc etc)
Mục đích phụ thứ 2 là tôi cảm thấy phần lớn các bạn quan tâm quá nhiều vào công cụ (ví dụ nên học Python hay R, SQL hay gì gì) và tập trung quá nhiều vào việc học lý thuyết "chay." Quan niệm cá nhân tôi (không ý kiến nào luôn đúng) là nên tìm bài toán business cụ thể cần giải quyết trước. Sau đó team hoặc cá nhân bạn sẽ tìm ra công cụ tốt nhất tại thời điểm đó để giải quyết vấn đề. Không có bài toán cụ thể thì rất khó hình dung mình đang nỗ lực vì cái gì, cũng như về phía khách hàng, tôi rất khó duy trì funding cho nhóm. Một số bạn đã xin tham gia nhóm, sau đó rút lại vì "em chưa đủ tự tin tiếng Anh" hoặc "em cần vài tháng để học SQL cho cứng" theo tôi là rất đáng tiếc, vì trong vài tháng đó nếu bạn tham gia project cụ thể rất có thể bạn đã rành không những SQL mà còn là những thứ khác sát sườn hơn, ví dụ cơ cấu nhân sự khách hàng, sở thích của họ, phong cách communication etc etc mà không course nào có thể giúp bạnh được
Tôi dùng ảnh minh hoạ từ bài viết này https://tdwi.org/articles/2017/12/05/bi-all-understanding-differences-data-science-and-bi.aspx theo tôi là một trong những bài rất hay nêu rõ sự khác biệt giữa Data science và BI truyền thống. Cái nào "cool" hơn cái nào thì thời gian mới trả lời được. Cá nhân tôi tránh so sánh trực tiếp vì đây là hai công cụ khác biệt giải quyết hai vấn đề business khác biệt. Về mặt career thì không thể kết luận quá sớm, vì data science tương đối trẻ so với Business intelligence.
Tôi hoàn toàn đồng ý với một câu trong bài viết "It (BI) is expensive and frustrating -- but indispensable". Công nghệ có thể đến rồi đi, nhưng một khi bọn tôi hiểu khách hàng, và liên tục tạo ra giá trị thì bọn tôi không dễ gì thay thế được.
Dành cho bạn nào không đủ kiên nhẫn đọc từng dòng, đây là email để liên hệ hr@ferntreeservices.com
Talk to you soon



  • Không có nhận xét nào:

    Đăng nhận xét