Vẽ biểu đồ với bằng thư viện của Julia

Tram Ho

Trong lĩnh vực tính toán khoa học (science computing), có thể nói rằng khi nói rằng Julia là một trong những ngôn ngữ được sử dụng nhiều nhất hiện nay. Đây là ngôn ngữ lập trình có nguồn mở và miễn phí, có thể cho hiệu năng cao và thậm chí còn cạnh tranh được với các ngôn ngữ lập trình phổ biến nhất như Python và R trong lĩnh vực khoa học dữ liệu. Thường được sử dụng trong các bài toán của khoa học dữ liệu, hiển nhiên mà nói bản thân Julia và các thư viện của nó có thể sử dụng để giải quyết một cách dễ dàng các bài toán của lĩnh vực này mà một trong số đó là trực quan hóa dữ liệu thành các dạng biểu đồ, … để người dùng có thể dễ dàng trích xuất được tri thức từ dữ liệu thay vì chỉ có thể làm việc với các con số vô hồn. Bài viết này giới thiệu về Julia cũng như sử dụng thử một số thư viện của Julia để tạo biểu đồ từ dữ liệu có sẵn.

Julia là gì

Julia là ngôn ngữ lập trình có nguồn mở và miễn phí được sử dụng rộng rãi trong tính toán khoa học. Nó có tính năng đánh máy tùy chọn, đa điều phối và hiệu suất tốt, đạt được bằng cách sử dụng tính năng type reference và biên dịch Just-In-Time (JIT), được triển khai bằng LLVM. Đây cũng là một mô hình đa dạng, kết hợp các tính năng của ngôn ngữ lập trình bắt buộc, chức năng và hướng đối tượng. Julia cung cấp sự dễ dàng và tính biểu cảm cho tính toán số cao cấp, giống như các ngôn ngữ như R, MATLAB và Python, nhưng cũng hỗ trợ lập trình chung.

Mặc dù một số ngôn ngữ khác có sẵn trước đó mà đáng chú ý nhất là Python cũng thường được sử dụng để xử lý và trích xuất dữ liệu với cú pháp sáng sủa, dễ đọc cũng như dễ học và dễ sử dụng. Tuy nhiên, ngôn ngữ này lại là ngôn ngữ thông dịch bởi vậy thường được đánh giá rằng có hiệu năng không được tốt. Việc sử dụng những thư viện với những hàm tính toán được viết bằng C (Numpy,…) phần nào giải quyết được kể trên, tuy nhiên, các cơ chế parallel computing hay concurrency computing của Python khá hạn chế, trong khi đây là các tính năng quan trọng trong tương lai khi mà lượng data cần xử lý ngày càng lớn hơn.

Bởi lý do trên, năm 2012, ngôn ngữ Julia được giới thiệu và kì vọng rằng sẽ có những ưu kiểm tương tự như trên mà có thể cải thiện đáng kể hiệu năng. Và thật vậy, Julia sử dụng cơ chế biên dịch JIT (Just In Time) được xây dựng trên nền tảng LLVM, code Julia sẽ được dịch trực tiếp thành mã máy, do đó có tốc độ xử lý có thể sánh bằng với C hay C++. Bên cạnh đó, nó còn hỗ trợ tốt các cơ chế parallel computing hay concurrency computing cũng như cung cấp sẵn các thư viện giống như Matlab để có thể hỗ trợ sẵn các phép xử lý cần thiết trong tính toán như tính toán vector hay ma trận.

Cài đặt và sử dụng Julia

Cài đặt

Để có thể sử dụng, chúng ta truy cập https://julialang.org/downloads/ sau đó chọn đến mục tương ứng với hệ điều hành của mình và nhấn về để tải một tập tin nén. Julia không yêu cầu cài thêm các thành phần gì để có thể chạy (ít nhất đúng trên linux còn các hệ điều hành còn lại mình chưa thử :v). Sau khi giải nén, bạn đã có thể sử dụng Julia bằng cách thực thi file tên julia trong thư mục bin.

Ngoài ra, bạn có thể cài đặt Julia các cách khác như cài đặt từ chocolatey trên Windows bằng câu lệnh choco install julia --confirm hoặc sudo apt install julia nếu đang sử dụng Debian/Ubuntu. Để biết thêm chi tiết vui lòng truy cập https://julialang.org/downloads/platform/

Sử dụng

Nếu như đã từng sử dụng Python, các bạn sẽ làm quen với Julia mà không mất nhiều công sức. Mở terminal và gõ julia, Julia sẽ thực thi từng dòng code mỗi khi bạn nhấn Enter.

Các file của Julia thường có đuôi .jl và có thể thực thi bằng cách gõ julia ten_cua_file.jl. Việc cài đặt package trong Julia thực hiện hơi khác so với các trình quản lý gói khác một chút. Julia thực hiện cài đặt package khi một đoạn code Julia được chạy (gọi function thực hiện cài đặt) thay vì cần ta cài đặt trước.

Trực quan hóa dữ liệu bằng thư viện của Julia

Bên cạnh một số một số gói hỗ trợ việc vẽ biểu đồ như Plots.jl, Julia còn có một số gói khác như PlotlyJS. Gói PlotlyJS của Julia không chỉ nhanh chóng taọ các biểu đồ trực quan mà còn cung cấu khả năng tương tác với vô vàn loại biểu đồ khác nhau cho từng mục đích cụ thể.

Để có thể sử dụng, sử dụng câu lệnh sau để Julia tự động tải về gói Plotly

Tiếp đó là cấu hình để sử dụng Ploty bằng đoạn mã sau:

Bắt đầu bằng biểu đồ dạng đường cơ bản, PlotlyJS có thể dễ dàng vẽ bằng cách dùng hàm plot()

Khi đó chúng ta có thể tương tác, thu nhỏ phóng to cũng như di chuyển và chụp lại biểu đồ dưới dạng png. Không chỉ vậy, chúng ta có thể nhanh chóng phân cụm cho dữ liệu bằng Clustering.jl. Ví dụ sau cho thấy cách thức thực hiện dễ dàng và tường minh như thế nào.

Khi đó kết quả thu được sẽ như sau:

Tổng kết

Bài viết này giới thiệu về Julia cũng như sử dụng thử một số thư viện của Julia để tạo biểu đồ từ dữ liệu có sẵn. Qua phần đầu, hẳn ta cũng có thể thấy Julia rất dễ học và sử dụng, ai đã quen thuộc với Python, Matlab đều có thể nhanh chóng làm quen và sử dụng. Bên cạnh đó, Julia cũng có rất nhiều thư viện hữu ích như Clustering.jl và kể trên PlotlyJS.jl. Bài viết đến đây kết thúc, cảm ơn mọi người đã dành thời gian đọc.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo