Khoa học dữ liệu trong kinh doanh (Data science for business – DS4B) là tương lai của phân tích kinh doanh, nhưng với những ai theo đuổi lĩnh vực này nó thực sự rất khó để bắt đầu một cách đúng đắn. Điều bạn cần tránh là lãng phí thời gian và sử dụng sai công cụ. Sử dụng hiệu quả thời gian bao gồm hai phần: (1) lựa chọn công cụ phù hợp cho công việc và (2) học cách sử dụng công cụ này một cách hiệu quả. Bài viết này tập trung vào phần đầu tiên, giải thích tại sao ngôn ngữ lập trình R là công cụ nên được lựa chọn để học với 6 lý do như dưới đây
Lý do 1:Ngôn ngữ lập trình R có các thuộc tính phù hợp nhất cho kinh doanh
Có một số công cụ được dùng trong phân tích kinh doanh hay kinh doanh thông minh (business intelligence) mà trong đó DS4B là một tập hợp con của lĩnh vực này. Mỗi công cụ đều có ưu và nhược điểm của nó và nhiều công cụ thật sự mang lại nhiều giá trị trong kinh doanh. Chúng ta có thể sử dụng các thuộc tính này để so sánh ngôn ngữ lập trình R và các công cụ khác. Trong bài này chúng ta thực hiện đánh giá định tính bằng một số tiêu chí:
- Khả năng sử dụng tốt cho kinh doanh (1 = Thấp, 10 = Cao)
- Dễ học (1 = Khó, 10 = Dễ)
- Chi phí (Miễn phí / Tối thiểu, Thấp, Cao)
- Xu hướng (0 = Giảm nhanh, 5 = Ổn định, 10 = Tăng trưởng nhanh)
Chúng ta sẽ thấy có một sự thú vị. Một đường xu hướng cho thấy sự cân bằng giữa đường cong học tập và khả năng sử sụng ngôn ngữ lập trình trong DS4B. Các công cụ linh hoạt nhất khó học có xu hướng phù hợp cho việc sử dụng trong thực tế kinh doanh cao hơn. Ngược lại, các công cụ dễ học thường không phải là công cụ sử dụng tốt nhất và lâu dài trong kinh doanh hoặc lĩnh vực khoa học dữ liệu. Ở đây chúng ta thiên về khả năng ứng dụng tốt hơn là dể sữ dụng .
Trong số các công cụ hàng đầu được ứng dụng trong phân tích kinh doanh, ngôn ngữ lập trình R có sự kết hợp tốt nhất của các thuộc tính bao gồm phù hợp cho lĩnh vực khoa học dữ liệu cho kinh doanh, chi phí thấp, tăng trưởng và có một hệ sinh thái lớn bao gồm các thư viện R mạnh mẽ. Nhược điểm duy nhất là đường cong học tập. Cheat Sheet dưới đây giới thiệu các thư viện mạnh mẽ mà bạn có thể tải xuống để xem những thư viện nào có thể giải quyết các nhu cầu cụ thể của mình.
Lý do 2: R là khoa học dữ liệu dành cho các nhà khoa học phi máy tính
Nếu bạn đang tìm kiếm các công cụ khoa học dữ liệu hiệu suất cao, bạn thực sự có hai lựa chọn: R hoặc Python. Khi bắt đầu, bạn chỉ nên chọn một trong hai. Thật sai lầm khi cố gắng học cả hai điều này cùng một lúc. Lựa chọn của bạn phụ thuộc vào những gì phù hợp với bạn. Sự khác biệt giữa R và Python đã được nói đến rất nhiều nhưng có một điều thường hay bị bỏ qua là sự phù hợp của người sử dụng với ngôn ngữ lập trình. Hãy xem những sự thật sau đây:
- Sự thật 1: Hầu hết những người quan tâm đến việc học khoa học dữ liệu cho kinh doanh không phải là nhà khoa học máy tính. Họ là các chuyên gia kinh doanh, kỹ sư phi phần mềm và những người chuyển đổi từ kỹ thuật sang kinh doanh khác. Hiểu được điều này rất quan trọng vì mỗi ngôn ngữ có những ưu điểm khác nhau
- Sự thật 2: Hầu hết các hoạt động trong kinh doanh và tài chính đều liên quan đến giao tiếp. Điều này xuất hiện dưới dạng báo cáo, trang tổng quan và ứng dụng web tương tác cho phép những người ra quyết định nhận biết khi nào mọi thứ không suôn sẻ và đưa ra quyết định sáng suốt giúp cải thiện hoạt động kinh doanh.
Bây giờ chúng ta đã nhận ra điều gì là quan trọng, hãy cùng tìm hiểu về hai nhân tố chính trong khoa học dữ liệu.
Python
Python là một ngôn ngữ lập trình dịch vụ chung (general service programming language) được phát triển bởi các kỹ sư phần mềm có thư viện lập trình mạnh mẽ cho toán học, thống kê và học máy. Python có các công cụ tốt nhất cho học máy thuần túy và học sâu, nhưng thiếu nhiều cơ sở hạ tầng cho các môn học như kinh tế lượng và các công cụ giao tiếp như báo cáo. Do đó, Python rất phù hợp cho các nhà khoa học máy tính và kỹ sư phần mềm.
R
R là một ngôn ngữ lập trình thống kê (statistical programming language) được phát triển bởi các nhà khoa học có các thư viện mã nguồn mở cho thống kê, học máy và khoa học dữ liệu. R có ích cho việc kinh doanh nhờ vào chiều sâu của các gói cụ thể theo chủ đề và cơ sở hạ tầng thông báo của nó. R có các packages bao gồm một loạt các chủ đề như kinh tế lượng, tài chính và chuỗi thời gian (time series). R có các công cụ tốt nhất để hiển thị, báo cáo và tương tác, những công cụ này cũng quan trọng đối với doanh nghiệp cũng như đối với khoa học. Do đó, R rất phù hợp cho các nhà khoa học, kỹ sư và các chuyên gia kinh doanh.
Bạn nên học ngôn ngữ lập trình nào, R hay Python?
Đừng đưa ra quyết định khó khăn hơn những gì nó vốn có. Nghĩ về mục tiêu của bạn:
- Bạn là nhà khoa học máy tính hay kỹ sư phần mềm? Nếu vậy, hãy học Python.
- Bạn là một chuyên gia phân tích hay kỹ sư kỹ thuật ngành khác như cơ khí / công nghiệp / hóa học đang muốn tham gia vào khoa học dữ liệu? Nếu đúng, hãy học R.
Hãy nghĩ về những gì bạn đang cố gắng làm:
- Bạn đang cố gắng chế tạo một chiếc xe tự lái? Nếu đúng, hãy học Python.
- Bạn có đang thực hiện việc phân tích kinh doanh trong tổ chức của mình không? Nếu đúng, hãy học R.
Lý do 3: Học ngôn ngữ lập trình R thật dễ dàng với Tidyverse
Học R từng là một thách thức lớn. Về cơ bản R là một ngôn ngữ lập trình phức tạp và không nhất quán. Cấu trúc và hình thức không phải là ưu tiên hàng đầu như trong các ngôn ngữ lập trình khác. Tất cả điều này đã thay đổi với tidyverse, một tập hợp các gói và công cụ có giao diện lập trình được cấu trúc nhất quán.
Khi các công cụ như dplyr
và ggplot2
ra đời, nó đã làm cho đường cong học tập dễ dàng hơn nhiều bằng cách cung cấp một cách tiếp cận nhất quán và có cấu trúc để làm việc với dữ liệu. Khi Hadley Wickham và nhiều người khác tiếp tục phát triển R, tidyverse
ra đời, bao gồm một loạt các gói thường được sử dụng để thao tác dữ liệu, trực quan hóa, lặp lại, mô hình hóa và giao tiếp. Kết quả cuối cùng là R giờ đây dễ học hơn nhiều.
Ngôn ngữ lập trình R được tiếp tục phát triển theo cách có cấu trúc, với các gói nâng cao được xây dựng trên cơ sở hạ tầng tidyverse
. Một trọng tâm mới đang được đặt vào mô hình và thuật toán. Hơn nữa, tidyverse
đang được mở rộng để bao gồm các lĩnh vực chủ đề như văn bản (tidytext
) và tài chính (tidyquant
). Đối với người mới, điều này sẽ giúp bạn tự tin khi lựa chọn ngôn ngữ này. Rõ ràng, ngôn ngữ lập trình R có một tương lai tươi sáng.
Lý do 4: R có não, cơ và tim
Nói R là mạnh thực sự là một cách nói bớt đi. Từ góc độ kinh doanh, R giống như Excel nhưng mạnh mẽ hơn rất nhiều! Nhưng quan trọng hơn cả là sự kết hợp của những gì R cung cấp: não, cơ và tim. Trong R Cheat Sheet mà đã đề cập bên trên có mô tả liên kết đến các công cụ mà chúng ta sẽ tìm hiểu sau đây
Ngôn ngữ lập trình R có bộ não
R triển khai các thuật toán tiên tiến bao gồm:
- H2O (
h2o
) – Gói máy học cao cấp - Keras/TensorFlow (
keras
,tensorflow
)- Các gói học sâu - xgboost – Thuật toán Kaggle hàng đầu
- Modeltime – Chuỗi thời gian (time series) cho dự báo
- Và nhiều thứ khác nữa
Những công cụ này được sử dụng ở khắp mọi nơi, từ các sản phẩm AI đến các Cuộc thi Kaggle và bạn có thể sử dụng chúng trong các phân tích kinh doanh của mình.
Ngôn ngữ lập trình có cơ bắp
R có các công cụ mạnh mẽ để:
- Các phép toán được vector hóa (Vectorized Operations) – R sử dụng các phép toán được vector hóa để thực hiện các phép tính toán học rất nhanh và ngay lập tức
- Vòng lặp (
purrr
) - Phép toán song song (
parallel
,future
) - Tăng tốc mã bằng C ++ (
Rcpp
) - Kết nối với các ngôn ngữ khác (
rJava, reticulate
) - Làm việc với cơ sở dữ liệu – Kết nối với cơ sở dữ liệu (
dbplyr, odbc, bigrquery
) - Xử lý dữ liệu lớn – Kết nối với Apache Spark (
sparklyr
) - Và nhiều thứ khác nữa!
Ngôn ngữ lập trình R có trái tim
Chúng ta đã nói về cơ sở hạ tầng, về tidyverse
, cho phép xây dựng hệ sinh thái các ứng dụng bằng cách tiếp cận nhất quán. Chính cơ sở hạ tầng này mang lại sức sống cho việc phân tích dữ liệu của bạn. tidyverse
cho phép:
- Thao tác dữ liệu (
dplyr, pocketr
) - Làm việc với các kiểu dữ liệu (
stringr
cho chuỗi,lubridate
cho ngày / giờ,forcats
cho phân loại / các yếu tố) - Hình ảnh hóa (
ggplot2
) - Lập trình (
purrr, pocketeval
) - Giao tiếp (
Rmarkdown
,shiny
)
Lý do 5: R được xây dựng cho doanh nghiệp
Hai ưu điểm chính của việc học R so với mọi ngôn ngữ lập trình khác là nó có thể tạo ra các báo cáo sẵn sàng cho doanh nghiệp và các ứng dụng web hỗ trợ máy học. Cả Python hay Tableau hay bất kỳ công cụ nào khác hiện đều không thể làm điều này hiệu quả như R. Hai khả năng mà chúng ta đề cập đến là rmarkdown
để tạo báo cáo và shiny
cho các ứng dụng web tương tác.
Rmarkdown
Rmarkdown là một framework để tạo các báo cáo có thể tái sử dụng, từ đó đã được mở rộng để xây dựng blog, bản trình bày, trang web, sách, tạp chí và hơn thế nữa. Đó là công nghệ cho phép chúng ta thêm vào code với các văn bản để bất kỳ ai cũng có thể theo dõi phân tích và xem kết quả ngay với phần giải thích. Điều thực sự tuyệt vời là công nghệ đã phát triển rất nhiều. Dưới đây là một vài ví dụ về khả năng của nó:
- rmarkdown để tạo báo cáo HTML, Word và PDF
- rmarkdown để tạo bản trình bày
- flexdashboard để tạo ứng dụng web thông qua định dạng Rmarkdown thân thiện với người dùng.
- blogdown để xây dựng blog và trang web
- bookdown để tạo sách trực tuyến
- Tài liệu tương tác
- Báo cáo được tham số hóa để tạo báo cáo tùy chỉnh (ví dụ: báo cáo cho một phân đoạn địa lý, bộ phận hoặc phân đoạn thời gian cụ thể)
Shiny
Shiny là một framework để tạo các ứng dụng web tương tác được cung cấp bởi R. Nó không chỉ mạnh mẽ mà còn cho phép các nhà khoa học phi dữ liệu thu được lợi ích của khoa học dữ liệu thông qua các công cụ ra quyết định tương tác. Dưới đây là một ví dụ về ứng dụng Google Trend được xây dựng bằng shiny
.
Lý do 6: Ngôn ngữ lập trình R được hỗ trợ mạnh mẽ từ cộng đồng
Là một ngôn ngữ mạnh mẽ thôi là không đủ. Để thành công, một ngôn ngữ cần sự hỗ trợ của cộng đồng. Chúng ta sẽ đề cập đến hai cách mà R vượt trội về khía cạnh này: CRAN và R Cộng đồng.
CRAN: R packages do cộng đồng cung cấp
CRAN giống như Apple App store, ngoại trừ mọi thứ đều miễn phí, siêu hữu ích và được xây dựng cho R. Với hơn 17.000 packages, nó có hầu hết mọi thứ bạn có thể cần từ máy học đến máy tính hiệu suất cao đến tài chính và kinh tế lượng! Task views bao gồm các khu vực cụ thể và là một cách để khám phá các dịch vụ của R. CRAN hướng tới cộng đồng, với các tác giả nguồn mở hàng đầu như Hadley Wickham và Dirk Eddelbuettel dẫn đầu. Phát triển package là một cách tuyệt vời để đóng góp cho cộng đồng, đặc biệt là đối với những người muốn thể hiện kỹ năng lập trình của họ và muốn đóng góp.
Hỗ trợ từ cộng đồng
Bạn bắt đầu học R vì khả năng của nó, bạn ở lại với R vì cộng đồng của nó. Cộng đồng R là phần thú vị nhất. Đó là sự chặt chẽ, kiên định, vui vẻ, ngớ ngẩn và hiểu biết cao… tất cả những điều bạn muốn ở một nhóm hoạt động hiệu quả.
Social/Web
R người dùng có thể được tìm thấy nhiều nơi. Một số nguồnphổ biến là:
- R-Bloggers
- #rstats trên Twitter
- The R Project for Statistical Computing trên LinkedIn
Hội nghị
Các hội nghị kinh doanh tập trung vào R đang đạt được sức hút lớn. Dưới đây là một số chương trình mà bạn có thể chú ý:
- EARL – Hội thảo của Mango Solution về các ứng dụng doanh nghiệp và kinh doanh của R
- R / Finance – Hội nghị do cộng đồng tổ chức về phân tích tài sản tài chính và danh mục đầu tư và tài chính ứng dụng
- Rstudio Conf – Hội nghị công nghệ của Rstudio
- New York R – Hội nghị R tập trung vào kinh doanh và công nghệ
Danh sách đầy đủ các hội nghị R có thể được tìm thấy tại đây.
Buổi gặp mặt
Một điều thực sự thú vị về R là nhiều thành phố lớn có một buổi họp mặt gần đó. Các buổi gặp mặt chính xác như những gì bạn nghĩ: một nhóm người dùng R gặp nhau để nói chuyện về R. Họ thường được R-Consortium tài trợ. Bạn có thể xem danh sách đầy đủ các buổi gặp mặt tại đây.
Kết luận
R có nhiều lợi ích khiến nó trở thành lựa chọn cho Khoa học dữ liệu dành cho Busienss (DS4B). Điều đó không có nghĩa là Python cũng không phải là một lựa chọn tốt, nhưng đối với nhiều nhu cầu kinh doanh, không có gì có thể so sánh được với R.
Theo 6 Reasons To Learn R For Business
Bạn có biết?
tham gia cộng đồng ITguru trên Linkedin, Facebook và các kênh mạng xã hội khác có thể giúp bạn nhanh chóng tìm được những chủ đề phát triển nghề nghiệp và cập nhật thông tin về việc làm IT mới nhất
Linkedin Page:
Facebook Group:
cơ hội việc làm IT : ITguru.vn