Tiểu luận này sẽ trình bày về việc sử dụng mô hình học máy để dự đoán giá đồng coin.. Tiểu luận này mong muốn cung cấp một cái nhìn tổng quan về việc sử dụng mô hình học máy để dự đoán g
Trang 1HỌC VIỆN HÀNG KHÔNG VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
Nhóm sinh viên thực hiện: MSSV:
Trang 2MỤC LỤC:
LỜI MỞ ĐẦU 3
CHƯƠNG I GIỚI THIỆU 4
1 Giới thiệu đề tài: 4
2 Lí do chọn đề tài: 4
3 Ứng dụng thực tiễn: 4
CHƯƠNG II CÔNG NGHỆ ỨNG DỤNG/ CƠ SỞ LÝ THUYẾT 5
1 Tổng quan về khai phá dữ liệu : 5
1.1 Khai phá dữ liệu là gì ? : 5
1.2 Quy trình khai phá dữ liệu : 5
1.3 Ứng dụng thực tiễn của khai phá dữ liệu : 6
2 Mô hình học máy là gì? 6
2.1 Khái niệm: 6
2.2 Phân loại các mô hình học máy: 7
2.3 Mô hình mạng nơ-ron nhân tạo hồi quy (RNN): 7 2.4 99 3 Giới thiệu về JupyterLab: 12
4 Các thư viện Python được sử dụng: 13
4.1 Thư viện Pandas: 13
4.2 Thư viện NumPy: 14
4.3 Thư viện Matplotlib: 14
4.4 Thư viện Keras: 15
CHƯƠNG III SẢN PHẨM 17
1 Dataset: 17
2 Huấn luyện mô hình: 21
3 Trực quan hóa dữ liệu: 24
CHƯƠNG IV KẾT LUẬN 27
TÀI LIỆU THAM KHẢO: 28
Khái quát về LSTM (Long short term memory) 9
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN:
ĐÁNH GIÁ:
ĐIỂM SỐ:
ĐIỂM CHỮ:
CHỮ KÝ GIẢNG VIÊN
Trang 4LỜI MỞ ĐẦU
Thị trường tiền điện tử đang ngày càng phát triển mạnh mẽ với sự ra đời của nhiều đồng coin mới Tuy nhiên, thị trường này cũng mang tính biến động cao với những biến động khó lường về giá trị Do đó, việc dự đoán giá đồng coin là một vấn
đề quan trọng đối với các nhà đầu tư, nhà giao dịch và những người quan tâm đến thị trường này
Học máy là một lĩnh vực của trí tuệ nhân tạo có khả năng học hỏi từ dữ liệu và đưa ra dự đoán Sử dụng mô hình học máy để dự đoán giá đồng coin là một phương pháp mới và đầy tiềm năng
Tiểu luận này sẽ trình bày về việc sử dụng mô hình học máy để dự đoán giá đồng coin Tiểu luận sẽ bao gồm các nội dung sau: giới thiệu về khai thác dữ liệu và quy trình các bước thực hiện khai phá dữ liệu, giới thiệu về các mô hình học máy, mô hình mạng nơ-ron nhân tạo hồi quy, mô hình LSTM, Tiểu luận này mong muốn cung cấp một cái nhìn tổng quan về việc sử dụng mô hình học máy để dự đoán giá đồng coin Tiểu luận này cũng hy vọng sẽ giúp các nhà đầu tư, nhà giao dịch và những người quan tâm đến thị trường tiền điện tử có thêm kiến thức và công cụ để đưa ra quyết định đầu
tư hiệu quả hơn
Ngoài ra, tiểu luận này sẽ đề cập đến những hạn chế của việc sử dụng mô hình học máy để dự đoán giá đồng coin Tiểu luận này cũng sẽ đề xuất những hướng nghiên cứu trong tương lai để cải thiện hiệu quả của việc dự đoán giá đồng coin bằng mô hình học máy
Trang 5CHƯƠNG I GIỚI THIỆU
1 Giới thiệu đề tài:
Lấy cảm hứng từ sự bùng nổ của thị trường tiền điện tử cùng tiềm năng ứng dụng của học máy, đề tài "Dự đoán giá đồng coin sử dụng mô hình học máy" ra đời như một minh chứng cho sự kết hợp hoàn hảo giữa lý thuyết và thực tiễn Dưới sự hướng dẫn tận tình của thầy Trần Anh Tuấn, đề tài không chỉ là nơi chúng em áp dụng kiến thức được học mà còn là cơ hội để rèn luyện tư duy sáng tạo và khả năng nghiên cứu khoa học
Với mục tiêu xây dựng một mô hình dự đoán giá coin chính xác và hiệu quả, đề tài hứa hẹn mang đến những đóng góp thiết thực cho cộng đồng đầu tư, giúp họ đưa
ra quyết định sáng suốt hơn trong bối cảnh thị trường biến động liên tục
2 Lí do chọn đề tài:
Thị trường tiền điện tử đang bùng nổ với sự ra đời của hàng loạt đồng coin mới Tuy nhiên, sự biến động mạnh mẽ của giá coin khiến việc đầu tư trở nên khó khăn
và rủi ro Do đó, việc dự đoán giá coin chính xác là vô cùng quan trọng Học máy
là một lĩnh vực công nghệ tiên tiến với khả năng xử lý dữ liệu phức tạp và dự đoán chính xác Do vậy, việc ứng dụng học máy vào dự đoán giá coin là một hướng đi mới mẻ và tiềm năng Tiểu luận này sẽ nghiên cứu ứng dụng mô hình học máy Random Forest để dự đoán giá Bitcoin, một trong những đồng coin phổ biến nhất hiện nay Mục tiêu của nghiên cứu là cung cấp một công cụ dự đoán giá Bitcoin chính xác và hiệu quả, giúp nhà đầu tư đưa ra quyết định đầu tư sáng suốt hơn
3 Ứng dụng thực tiễn:
Mục tiêu cốt lõi của đề tài này là kiến tạo một mô hình tiên tiến có khả năng dự đoán chính xác giá trị của đồng Bitcoin, đồng tiền ảo dẫn đầu thị trường Mô hình này đóng vai trò như một công cụ hỗ trợ đắc lực cho nhà đầu tư, quản lý quỹ, giúp
họ có cái nhìn sâu sắc và toàn diện về thị trường biến động liên tục Từ đó, họ có thể đưa ra những quyết định đầu tư sáng suốt và hiệu quả hơn
Với sự phát triển mạnh mẽ của công nghệ và những tiến bộ vượt bậc trong phương pháp phân tích dữ liệu, đề tài không chỉ mang đến những kiến thức giá trị
về hành vi thị trường tiền ảo, tâm lý và quan điểm của cộng đồng đối với loại tài sản này, mà còn góp phần tạo ra những công cụ hữu ích hỗ trợ tối ưu cho hoạt động đầu tư trong môi trường biến động không ngừng
Trang 6CHƯƠNG II CÔNG NGHỆ ỨNG DỤNG/ CƠ SỞ LÝ THUYẾT
1 Tổng quan về khai phá dữ liệu :
1.1 Khai phá dữ liệu là gì ? :
- Thuật ngữ Khai phá dữ liệu (KPDL) ra đời vào cuối những năm 80 thế kỷ trước
Có nhiều định nghĩa khác nhau về KPDL, nhưng diễn đạt một cách dễ hiểu thì KPDL là quá trình tìm kiếm những thông tin (tri thức) có ích, tiềm ẩn và mang tính dự đoán trong các khối cơ sở dữ liệu (CSDL) lớn
- Mục đích việc phát hiện tri thức từ dữ liệu KPDL là cốt lõi của quá trình khám phá tri thức gồm có các giải thuật KPDL chuyên dùng, dưới một số quy định về hiệu quả tính toán chấp nhận được KPDL nhằm tìm ra những mẫu mới, những thông tin tiềm ẩn mang tính dự đoán chưa được biết đến, có khả năng mang lại lợi ích cho người sử dụng và KPDL là tìm ra các mẫu được quan tâm nhất tồn tại trong CSDL, nhưng chúng lại bị che giấu bởi một số lượng lớn dữ liệu
1.2 Quy trình khai phá dữ liệu :
Quy trình khai phá dữ liệu gồm các bước như sau :
Bước 1:
- Trích chọn dữ liệu (data selection): Là bước trích chọn những tập dữ liệu cần
được khai phá từ các tập dữ liệu lớn (databases,data warehouses)
Bước 2:
- Tiền xử lý dữ liệu (data preprocessing): Là bước làm sạch dữ liệu (xử lý dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, ), rút gọn dữ liệu (sử dụng các phương pháp thu gọn dữ liệu, histograms, lấy mẫu, ), rời rạc hoá dữ liệu (dựa vào histograms, entropy, phân khoảng,…) Sau bước này,
dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hoá
Bước 3:
Trang 7- Biến đổi dữ liệu (data transformation): Là bước chuẩn hoá và làm mịn dữ liệu
để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật khai phá ở bước sau
Bước 4:
- Khai phá dữ liệu (data mining): Đây là bước quan trọng và tốn nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật khai phá (phần lớn là các kỹ thuật của machine learning) để khai phá, trích chọn được các mẫu (pattern) thông tin, các mối liên hệ đặc biệt trong dữ liệu
1.3 Ứng dụng thực tiễn của khai phá dữ liệu :
- Ngày nay, công nghệ thông tin phát triển đồng nghĩa với việc phát triển các phần mềm ứng dụng Phần mềm KPDL là một công cụ phân tích dùng để phân tích
dữ liệu Nó cho phép người sử dụng phân tích dữ liệu theo nhiều góc nhìn khác nhau, phân loại dữ liệu theo những quan điểm riêng biệt và tổng kết các mối quan hệ đã được bóc tách
- Hiện kỹ thuật KPDL đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau, như: Thương mại (phân tích dữ liệu bán hàng
và thị trường, phân tích đầu tư, quyết định cho vay, phát hiện gian lận, ); Thông tin sản xuất (điều khiển và lập kế hoạch, hệ thống quản lý, phân tích kết quả thử nghiệm…); Thông tin khoa học (dự báo thời tiết, ); CSDL sinh học (ngân hàng gen,…); Khoa học địa lý (dự báo động đất,…); Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet…
- Những gì thu được từ KPDL thật đáng giá Điều đó được chứng minh bằng thực tế: Chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo hiểm
y tế phát hiện ra nhiều trường hợp xét nghiệm không hợp lý; Trong dịch vụ viễn thông đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lợi hàng triệu USD; IBM Suft-Aid đã áp dụng KPDL vào phân tích các lần đăng nhập Web vào các trang liên quan đến thị trường để phát hiện
sở thích khách hàng, từ đó đánh giá hiệu quả của việc tiếp thị qua Web và cải
Trang 8thiện hoạt động của các Website; trang Web mua bán qua mạng cũng tăng doanh thu nhờ áp dụng KPDL trong việc phân tích sở thích mua bán của khách hàng
2 Mô hình học máy là gì?
2.1 Khái niệm:
- Mô hình học máy là một biểu hiện của một thuật toán quét qua hàng núi dữ liệu để tìm ra các mẫu hình hoặc đưa ra dự đoán Được cung cấp dữ liệu, các
mô hình machine learning là “động cơ” toán học của trí tuệ nhân tạo
Ví dụ: mô hình machine learning cho thị giác máy tính có thể xác định ô
tô và người đi bộ trong video thời gian thực Một ứng dụng khác là để xử lý ngôn ngữ tự nhiên có thể dịch các từ và câu
- Về cơ bản, một mô hình là một biểu diễn toán học của các đối tượng và mối quan hệ của chúng với nhau Các đối tượng có thể là bất cứ thứ gì, từ “lượt thích” trên một bài đăng trên mạng xã hội cho đến các phân tử trong một thí nghiệm ở phòng lab
2.2 Phân loại các mô hình học máy:
Loại mô hình ML Các trường hợp sử dụng
Phân loại / hồi quy
2.3 Mô hình mạng nơ-ron nhân tạo hồi quy (RNN):
- Mạng nơ-ron hồi quy (RNN) là một mô hình học sâu được đào tạo để xử
lý và chuyển đổi đầu vào dữ liệu tuần tự thành đầu ra dữ liệu tuần tự cụ thể
Dữ liệu tuần tự là dữ liệu, chẳng hạn như từ, câu hoặc dữ liệu chuỗi thời gian, trong đó các thành phần tuần tự tương quan với nhau dựa trên ngữ
nghĩa phức tạp và quy tắc cú pháp RNN là một hệ thống phần mềm gồm
nhiều thành phần được kết nối với nhau theo cách con người thực hiện chuyển đổi dữ liệu tuần tự, chẳng hạn như dịch văn bản từ ngôn ngữ này
Trang 9sang ngôn ngữ khác Phần lớn RNN đang được thay thế bằng trí tuệ nhân tạo (AI) dựa trên công cụ biến đổi và các mô hình ngôn ngữ lớn (LLM), hiệu quả hơn nhiều trong việc xử lý dữ liệu tuần tự
- Hình ảnh sau đây cho thấy sơ đồ của một RNN:
- RNN được tạo thành từ các nơ-ron: các nút xử lý dữ liệu kết hợp cùng nhau
để thực hiện các tác vụ phức tạp Các nơ-ron được tổ chức dưới dạng lớp đầu vào, đầu ra và ẩn Lớp đầu vào nhận thông tin để xử lý và lớp đầu ra cung cấp kết quả Quá trình xử lý dữ liệu, phân tích và dự đoán diễn ra trong lớp ẩn
- RNN còn nhiều các hạn chế như sau :
+ Phải thực hiện tuần tự: Không tận dụng được khả năng tính toán
song song của máy tính (GPU/TPU)
+ Vanishing gradient(Đạo hàm bị triệt tiêu): Vì hàm kích hoạt (tanh hay sigmoid) của ta sẽ cho kết quả đầu ra nằm trong đoạn [−1,1]
(với sigmoid là [0,1]) nên đạo hàm của nó sẽ bị đóng trong khoảng [0,1] (với sigmoid là [0,0.25]).Ở trên, chúng ta đã dùng chain rule
để tính đạo hàm Có một vấn đề ở đây là, hàm tanh lẫn sigmoid đều
có đạo hàm bằng 0 tại 2 đầu Mà khi đạo hàm bằng 0 thì nút mạng tương ứng tại đó sẽ bị bão hòa Lúc đó các nút phía trước cũng sẽ
bị bão hoà theo Nên với các giá trị nhỏ trong ma trận, khi ta thực hiện phép nhân ma trận sẽ đạo hàm tương ứng sẽ xảy ra Vanishing gradient, tức đạo hàm bị triệt tiêu chỉ sau vài bước nhân Như vậy, các bước ở xa sẽ không còn tác dụng với nút hiện tại nữa, làm cho
Trang 10RNN không thể học được các phụ thuộc xa Vấn đề này không chỉ xảy ra với mạng RNN mà ngay cả mạng neural truyền thống với
nhiều lớp cũng có hiện tượng này
- Với cách nhìn như trên, ngoài Vanishing gradient, ta còn gặp phải Exploding Gradient (bùng nổ đạo hàm) Tùy thuộc vào hàm kích hoạt và tham số của mạng, vấn đề này xảy ra khi các giá trị của ma trận là lớn (lớn hơn 1) Tuy nhiên, người ta thường nói về vấn đề Vanishing nhiều hơn là Exploding, vì 2 lý do sau:
+ Thứ nhất, bùng nổ đạo hàm có thể theo dõi được vì khi đạo hàm bị bùng nổ thì ta sẽ thu được kết quả là một giá trị phi số NaN làm cho chương trình của ta bị dừng hoạt động
+ Thứ hai, bùng nổ đạo hàm có thể ngăn chặn được khi ta đặt một ngưỡng giá trị trên (tham khảo kỹ thuật Gradient Clipping) Còn rất khó để theo dõi sự mất mát đạo hàm cũng như tìm cách xử lí nó
- Để xử lý Vanishing Gradient, có 2 cách phổ biến:
o Cách thứ nhất, thay vì sử dụng activation function là tanh và sigmoid,
ta thay bằng ReLu (hoặc các biến thể như Leaky ReLu) Đạo hàm của ReLu hoặc là 0 hoặc là 1, nên ta có thể kiểm soát phần nào vấn đề mất mát đạo hàm
o Cách thứ hai, ta thấy RNN thuần không hề có thiết kế nào để lọc đi những thông tin không cần thiết Ta cần thiết kế một kiến trúc có thể nhớ dài hạn hơn, đó là LSTM và GRU
2.4 Khái quát về LSTM (Long short term memory):
- Mạng trí nhớ ngắn hạn định hướng dài hạn còn được viết tắt là LSTM
làm một kiến trúc đặc biệt của RNN có khả năng học được sự phục thuộc
trong dài hạn (long-term dependencies) được giới thiệu bởi Hochreiter & Schmidhuber (1997) Kiến trúc này đã được phổ biến và sử dụng rộng rãi
cho tới ngày nay LSTM đã tỏ ra khắc phục được rất nhiều những hạn chế của RNN trước đây về triệt tiêu đạo hàm Tuy nhiên cấu trúc của chúng có phần phức tạp hơn mặc dù vẫn dữ được tư tưởng chính của RNN là sự sao
chép các kiến trúc theo dạng chuỗi
Trang 11- Một mạng RNN tiêu chuẩn sẽ có kiến trúc rất đơn giản chẳng hạn như đối
với kiến trúc gồm một tầng ẩn là hàm tanh như bên dưới
- LSTM cũng có một chuỗi dạng như thế nhưng phần kiến trúc lặp lại có cấu
trúc khác biệt hơn Thay vì chỉ có một tầng đơn, chúng có tới 4 tầng ẩn (3
sigmoid và 1 tanh) tương tác với nhau theo một cấu trúc đặc biệt
-
- Đầu tiên, chúng ta có i,f,g có công thức gần giống hệt nhau và chỉ khác mỗi
ma trận tham số Chính ma trận này sẽ quyết định chức năng khác nhau của từng cổng σ là ký hiệu của hàm sigmoid
+ Input gate i - cổng vào : Cổng vào giúp quyết định bao nhiêu lượng
thông tin đầu vào sẽ ảnh hưởng đến trạng thái mới Quyết định bằng cách nào, thông qua đặc điểm của hàm sigmoid (đầu ra nằm trong khoảng [0,1]), như vậy khi một vector thông tin đi qua đây, nếu nhân với 0, vector sẽ bị triệt tiêu hoàn toàn Nếu nhân với 1, hầu hết thông tin sẽ được giữ lại
+ Tương tự như vậy, f là forget gate - cổng quên: Cổng quyết định
sẽ bỏ đi bao nhiêu lượng thông tin đến từ trạng thái trước đó
Trang 12+ Cuối cùng, cổng o là output gate - cổng ra: Cổng điều chỉnh lượng thông tin có thể ra ngoài yt và lượng thông tin truyền tới trạng
thái tiếp theo
+ Tiếp theo, g thực chất cũng chỉ là một trạng thái ẩn được tính dựa
trên đầu vào hiện tại xt và trạng thái trước ht−1 Tính hoàn toàn
tương tự như input gate, chỉ thay vì dùng sigmoid, ta dùng tanh Kết hợp hai điều này lại để cập nhật trạng thái mới
+ Cuối cùng, ta có ct là bộ nhớ trong của LSTM Nhìn vào công thức,
có thể thấy nó là tổng hợp của bộ nhớ trước ct−1 đã được lọc qua
cổng quên f, cộng với trạng thái ẩn g đã được lọc bởi cổng vào i Cell state sẽ mang thông tin nào quan trọng truyền đi xa hơn và sẽ được dùng khi cần Đây chính là long term memory
+ Sau khi có ct, ta sẽ đưa nó qua cổng ra để lọc thông tin một lần nữa, thu được trạng thái mới ht
- Nếu nhìn kỹ một chút, ta có thể thấy RNN truyền thống là dạng đặc biệt của LSTM Nếu thay giá trị đầu ra của input gate là 1 và đầu ra forget gate là
0 (không nhớ trạng thái trước), ta được RNN thuần
- So sánh RNN và LSTM :
Nhìn một lượt qua kiến trúc LSTM và RNN, có thể tóm tắt như sau: + Thứ nhất, LSTM có long-term memory Tuy nhiên ht, gt khá giống với RNN truyền thống, tức có short-term memory Nhìn chung, LSTM giải quyết phần nào vanishing gradient so với RNN,
nhưng chỉ một phần
+ Với bộ dữ liệu lớn RNN đã chậm, LSTM nay còn chậm hơn + Tuy vậy, với những cải tiến so với RNN thuần, LSTM đã và đang được sử dụng phổ biến Trên thực tế, cách cài đặt LSTM cũng rất
đa dạng và linh hoạt theo bài toán, tuy nhiên vẫn dựa trên LSTM chuẩn như trên
Trang 133 Giới thiệu về Jupyter:
- Jupyter là một thuật ngữ được ghép từ ba ngôn ngữ lập trình Julia, Python
và R Trước đây Jupyter Notebook có tên là IPython Notebook, đến năm
2014 tách ra khỏi IPython và đổi tên thành Jupyter Notebook
- Jupyter Notebook là một nền tảng tính toán khoa học mã nguồn mở, bạn
có thể sử dụng để tạo và chia sẻ các tài liệu có chứa code trực tiếp, phương trình, trực quan hóa dữ liệu và văn bản tường thuật
- Jupyter Notebook được coi là môi trường điện toán tương tác đa ngôn ngữ, hỗ trợ hơn 40 ngôn ngữ lập trình cho người dùng
- Với Jupyter Notebook, người dùng có thể đưa dữ liệu, code, hình ảnh, công thức, video, vào trong cùng một file, giúp cho việc trình bày trở nên dễ dàng hơn Bạn có thể vừa trình chiếu vừa chạy code để tương tác trên đó, cốt lõi của việc này là Markdown
- Lợi ích mà Jupyter mang lại:
+ Phân tích khám phá dữ liệu (Exploratory Data Analysis):
Jupyter cho phép người dùng xem kết quả của code in-line (mã inline) mà không cần phụ thuộc vào các phần khác của code Trong Notebook mọi ô của code có thể được kiểm tra bất cứ lúc nào, điều này đã giúp Jupyter trở nên khác biệt so với các ID như Pycharm, VSCode Việc Jupyter có thể xuất code in-line đã giúp ích rất nhiều
trong quá trình phân tích khám phá dữ liệu (EDA)
+ Bộ đệm dễ dàng trong ô tích hợp: Từng ô tự duy trì trạng thái
hoạt động sẽ hơi khó, nhưng với Jupyter, công việc này sẽ được thực hiện tự động Vì Jupyter lưu trữ kết quả hoạt động của mọi ô đang chạy, cho dù là code đang đào tạo mô hình machine learning
hay code đang tải xuống gigabyte dữ liệu từ một máy chủ từ xa + Độc lập ngôn ngữ: Jupyter Notebook ở định dạng JSON, vì thế nó
được biết đến là một nền tảng độc lập cũng như độc lập về ngôn
ngữ
Trang 14+ Trực quan hóa dữ liệu (Data Visualisation): Jupyter Notebook
hỗ trợ trực quan hóa dữ liệu và hiển thị thêm một số đồ họa và biểu
đồ Những điều này được tạo ra từ code với sự trợ giúp của các mô -đun như Matplotlib, Plotly hoặc Bokeh Ngoài ra, Jupyter còn cho phép người dùng cùng chia sẻ code và bộ dữ liệu hoặc thay đổi
tương tác với nhau
+ Tương tác trực tiếp với code: Jupyter Notebook sử dụng
"ipywidgets" packages, cung cấp cho người dùng giao diện chuẩn nhằm khám phá sự tương tác trực tiếp với code và với dữ liệu Người dùng có thể chỉnh sửa và chạy code, làm cho code của Jupyter non-static Ngoài ra, nó còn cho phép người dùng kiểm soát
nguồn đầu vào của code và phản hồi lại trực tiếp trên trình duyệt + Các mẫu code tài liệu: Jupyter giúp người dùng dễ dàng giải thích
từng dòng code của họ với các phản hồi được đính kèm Dù trong code đã có đầy đủ các chức năng nhưng người dùng vẫn có thể tăng
thêm sự tương tác bằng các lời giải thích
4 Các thư viện Python được sử dụng:
4.1 Thư viện Pandas:
- Pandas là một thư viện Python cung cấp các cấu trúc dữ liệu nhanh, mạnh
mẽ, linh hoạt và mang hàm ý Tên thư viện được bắt nguồn từ panel data (bảng dữ liệu) Pandas được thiết kế để làm việc dễ dàng và trực quan với
dữ liệu có cấu trúc (dạng bảng, đa chiều, có tiềm năng không đồng nhất) và
dữ liệu chuỗi thời gian
- Mục tiêu của pandas là trở thành khối căn bản (building block) cấp cao cơ bản cho công việc thực tế, phân tích dữ liệu thế giới thực trong Python, và rộng hơn là trở thành công cụ thao tác / phân tích mã nguồn mở mạnh mẽ và linh hoạt nhất có sẵn trong bất kỳ loại ngôn ngữ lập trình nào