1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận nhóm học phần dữ liệu lớn trong kinh tế và kinh doanh Đề tài ngôn ngữ lập trình cho phân tích dữ liệu python

25 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ngôn ngữ lập trình cho phân tích dữ liệu Python
Tác giả Nguyễn Hữu Tý, Nguyễn Hoàng Khánh, Nguyễn Nam Khánh, Phạm Thị Thúy Linh
Người hướng dẫn TS. Nguyễn Hữu Xuân
Trường học Học viện Chính sách và Phát triển
Chuyên ngành Dữ liệu lớn trong kinh tế và kinh doanh
Thể loại Tiểu luận nhóm
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 3,13 MB

Nội dung

Python không chỉ là một ngôn ngữ lập trình, mà còn là một hệ sinh thái đa dạng và phong phú, với hàng ngàn thư viện và công cụ hỗ trợ mọi khía cạnh của phân tích dữ liệu... Do đó, các lậ

Trang 1

HOC PHAN DU LIEU LON

TRONG KINH TE VA KINH

Trang 2

1 Các thư viện Python quan trọng cho phân tích dữ

1.1 Thư viện Numpy ch ng n ng Tnhh Ho 6

1.11 Ưu điểm thư viện Numpy

1.4 Thư viện Seaborn tt ng ng nen ng nh nến 11

Trang 3

Trước tiên, chúng em xin được gửi lời cảm ơn đến giảng viên TS

Nguyễn Hữu Xuân Trường đã giảng dạy trong chương trình học phần

Dữ liệu lớn trong kinh tế và kinh doanh, Học viện Chính sách và Phát

triển, thầy đã truyền đạt cho chúng em những kiến thức hữu ích về

Dữ liệu lớn trong kinh tế và kinh doanh làm cơ sở cho chúng em thực

hiện tốt bài tiểu luận này

Chúng em xin gửi lời biết ơn sâu sắc đến Học viện đã luôn tạo

điều kiện tốt nhất cho chúng emiđược học tập học phần Dữ liệu lớn

trong kinh tế và kinh doanh

Trong quá trình làm tiểu luận, do kinh nghiệm và thời gian còn

hạn chế nên bài làm khó tránh được những thiếu sót Chúng em rất

mong nhận được sự góp ý từ thầy để đề tài của nhóm chúng em

được hoàn thiện hơn

Chúng em xin chân thành cảm ơn!

VVVVVVVVVVVVVVVVVVVVVVVVVVNhóm si:

hiện

Trang 4

LỜI MỞ ĐẦU

Python không chỉ là "chìa khóa vạn năng” mà còn là "cánh cửa

thần kỳ" mở ra thế giới dữ liệu đầy màu sắc Hãy tưởng tượng dữ liệu

như một đại dương bao la, ẩn chứa vô vàn kho báu giá trị Python chính là con tàu vững chắc, trang bị đầy đủ công cụ hiện đại, giúp bạn khám phá từng ngóc ngách của đại dương này

Ví dụ, với thư viện Pandas có thể dễ dàng "đánh bắt" dữ liệu từ

nhiều nguồn khác nhau như file CSV, Excel, cơ sở dữ liệu SQL, thậm chí cả dữ liệu từ các trang fieb Sau đó có thể "làm sạch" dữ liệu, loại

bỏ những tạp chất không cần thiết, sắp xếp và chuẩn bị dữ liệu sẵn

sàng cho quá trình phân tích

Tiếp theo, với Matplotlib và Seaborn, là một "họa sĩ" tài ba, biến những con số khô khan thành những biểu đồ trực quan, sinh

động.Có thể vẽ biểu đồ đường thể hiện xu hướng tăng trưởng doanh

số, biểu đồ cột so sánh hiệu quả của các chiến dịch marketing, hay biểu đồ tròn thể hiện sự phân bố thị phần của các sản phẩm

Và nếu muốn đi sâu hơn vào việc dự đoán tương lai, khám phá

những quy luật ẩn giấu trong dữ liệu, Scikit-learn sẽ là "nhà tiên tri" Với hàng loạt các thuật toán học máy mạnh mẽ có thể xây dựng những mô hình dự đoán khách hàng nào có khả năng rời bỏ dịch vụ, sản phẩm nào sẽ được ưa chuộng trong tương lai, hay thậm chí dự đoán kết quả của một trận bóng đá

Python không chỉ là một ngôn ngữ lập trình, mà còn là một hệ sinh thái đa dạng và phong phú, với hàng ngàn thư viện và công cụ

hỗ trợ mọi khía cạnh của phân tích dữ liệu

Trang 5

GIỚI THIỆU

Khi máy tính ngày càng trở nên phổ biến vào những năm 1950,

1960 và 1970, các nhà khoa học máy tính đã tập trung phát triển chúng hơn nữa, cùng với đó là các phần mềm để thực hiện các tính toán dài, phức tạp và tự động hóa việc thu thập dữ liệu Các phần mềm này được viết bằng nhiều ngôn ngữ lập trình khác nhau Có rất

nhiều ngôn ngữ lập trình, mỗi ngôn ngữ đã được thiết kế để lấp đầy

khoảng trống chưa được đáp ứng trong khả năng của những ngôn ngữ đi trước, nhưng dù vậy, mọi ngôn ngữ được sử dụng phổ biến

đều có ưu điểm và nhược điểm Do đó, các lập trình viên chuyên

nghiệp thường có xu hướng sử dụng đồng thời một số ngôn ngữ lập

trình, nhưng vì các nhà khoa học có ít thời gian hơn đáng kể để đầu

tư nên họ thường thích thành thạo một ngôn ngữ có thể đáp ứng càng nhiều nhu cầu càng tốt từ thu thập dữ liệu, trực quan hóa dữ liệu, phân tích dữ liệu, Trong các ngôn ngữ lập trình thông dụng, Python là có thể được xem là một ngôn ngữ đáp ứng tốt các nhu cầu nghiên cứu của các nhà khoa học (Van Rossum, 1998) Hơn nữa, các tác giả của bài viết này cảm thấy rằng Python là một trong những ngôn ngữ dễ nhất dành cho người mới học, đồng thời đáp ứng tốt nhất cho mục đích khoa học, chẳng hạn như tự động hóa, xử lý số liệu, trực quan hóa và phân tích số liệu Nó cũng cung cấp một môi trường nơi người dùng chỉ có thể bắt đầu với những khả năng đơn giản nhưng có thể tiến tới sử dụng các tính năng mạnh mẽ hơn, chẳng hạn như lập trình hướng đối tượng, khi kỹ năng phát triển

1 Lịch sử hình thành:

Guido van Rossum bắt đầu phát triển Python vào tháng 12 năm

1989 tại Centrum Wiskunde & Informatica (CWI) ở Amsterdam Ông muốn tạo ra một ngôn ngữ lập trình mới với cú pháp dễ đọc nhằm thay thế cho ngôn ngữ ABC mà ông đang làm việc Những phiên bản ngôn ngữ Python được phát triển sau đó bao gồm: Python 1.0 được phát hành vào tháng 2 năm 1991, ngôn ngữitập trung cải thiện cácitính năng cơ bản và giao diện tương tác

Phiên bản 2.0 của Python được phát hành vào năm 2000 với

nhiều yếu tố cải tiến và tính năng mới

Python 3.0 - một phiên bảnitương thích ngược với Python 2.x - được phát hành vào năm 2008 Nền tảng ra đời vớiimục tiêu cải

Trang 6

thiện cú pháp, loại bỏ tính năng lỗi thời và làm cho ngôn ngữ trở nên

ngắn gọn hơn

Trải qua nhiều giai đoạn thay đổi, Python đã trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới Các phiên bản Python tiếp theo được cập nhật bằng nhiều yếu tố cải tiến, sửa lỗi và tiện ích mới Điều này đã giúp ngôn ngữ trở nên mạnh mẽ hơn và phù hợp với mọi nhu cầu của người dùng

Trang 7

1,1,1 ƯUu điểm thư viện Numpy

- _ Hiệu suất vượt trội: NumPy được xây dựng bằng ngôn ngữ C, cho phép thực hiện các phép tính trên mảng với tốc độ nhanh hơn đáng kể so với việc sử dụng các danh sách (list) thông thường của Python Điều này đặc biệt quan trọng khi làm việc với các tập dữ liệu lớn

- Cấu trúc dữ liệu mảng: Mảng NumPy là một cấu trúc đồng

nhất, nghĩa là tất cả các phần tử trong mảng phải có cùng kiểu

dữ liệu Điều này giúp tiết kiệm bộ nhớ và tăng tốc độ xử lý

- _ Hỗ trợ toán học và logic: NumPy cung cấp một loạt các hàm toán học (như cộng, trừ, nhân, chia, lũy thừa, hàm lượng giác,)

và logic (so sánh, điều kiện, ) để làm việc với mảng một cách

dễ dàng

- Nền tảng cho các thư viện khác: Nhiều thư viện phân tích

dữ liệu khác như Pandas, SciPy, Matplotlib đều dựa trên NumPy

Việc nắm vững NumPy sẽ giúp bạn dễ dàng làm việc với các

thư viện này

1.1.2 Thao tác với thư viện Numpy

- Đổi tượng mảng đa chiều

e Tao ndarray

e Cac kiểu dữ liệu cho ndarray

¢ Chi muc mảng va index

se Chuyển đổi mảng

- Ham toán học và thống kê

Trong Numpy cung cấp một số hàm thống kê cơ bản như: + abs, fabs: tính toán giá trị tuyệt đối theo từng phần tử + sqrt: tinhs can bac hai cua tung phan tu trong mang + square: tính bình phương mỗi phần tử trong mảng

+ exp: hàm số e* cho mỗi phần tử

+ Khac: log, sign, ceil, floor, rint,

- _ Đại số tuyến tinh

Trang 8

Các phép toán đại số tuyến tính, như nhân ma trận, phân rã, định thức và toán ma trận vuông khác, là một phần quan trọng của nhiều thư viện mảng Nhân hai mảng hai chiều vớii:là một tích số theo phần tử, trong khi phép nhân ma trận yêu cầu sử dụng hàmidothoặcietoán tử trung tố.idotvừa là một phương thức mảng vừa là một hàm trong khônginumpygian tên để thực hiện phép nhân ma trận

- _ Tạo số ngẫu nhiên

Giúp tạo ra một mảng số ngẫu nhiên

In [141]: samples = np.random.standard_normal(size=(4, 4))

In [142]: samples Out [142]:

1.2 Thư viện Pandas

Pandas (Python Data Analysis Library) là một thư viện Python được sử dụng rộng rãi trong lĩnh vực khoa học dữ liệu và phân tích

dữ liệu Nó cung cấp các cấu trúc dữ liệu linh hoạt và hiệu quả (chủ yếu là Series và DataFrame) để làm việc với dữ liệu dạng bảng, cùng với một loạt các công cụ mạnh mẽ để thao tác, xử lý, phân tích và trực quan hóa dữ liệu

1.2.1 Uu diém thu vién Pandas

Dễ dàng làm việc với dữ liệu có cấu trúc: Pandas cung cấp

các cấu trúc dữ liệu Series và DataFrame tương tự như bảng

tính Excel hoặc bảng trong SQL, giúp bạn dễ dàng tổ chức, truy

cập và thao tác dữ liệu

Xử lý dữ liệu mạnh mẽ: Pandas cung cấp một loạt các công

cụ để xử lý dữ liệu như lọc, sắp xếp, nhóm, kết hợp, điền giá trị

thiếu, chuyển đổi kiểu dữ liệu,

Phân tích dữ liệu hiệu quả: Pandas tích hợp với các thư viện khác như NumPy và Matplotlib, cho phép bạn thực hiện các phép tính thống kê, phân tích dữ liệu theo nhóm, và trực quan hóa dữ liệu một cách dễ dàng

Trang 9

- Đọc và ghi dữ liệu linh hoạt: Pandas hỗ trợ đọc và ghi dữ liệu từ nhiều định dạng khác nhau như CSV, Excel, SQL, JSON,

HTML,

1.2.2 Tim hiéu thu vién Pandas

Sê-ri là một đối tượng giống như mảng một chiều chứa một chuỗi các giá trị (có kiểu tương tự như kiểu NumPy) cùng loại và một mảng nhãn dữ liệu liên quan, được gọi làichỉ mụcicủa nó Chuỗi đơn giản nhất được hình thành chỉ từ một mảng dữ liệu:

data = {"state": ["Ohio", "Ohio", "Ohio", "Nevada", "Nevada", "Nevada"],

"year": [2000, 2001, 2002, 2001, 2002, 2003],

"pop": [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}

frame = pd.DataFrame(data)

In [50]: frame | Out [50]:

state year pop

Trang 10

+ Ghép nối, kết hợp dữ liệu

+ Thống kê mô tả

+ Trực quan hóa dữ liệu

1.3 Thư viện Matplotiib

Matplotlib là một thư viện nổi tiếng và mạnh mẽ trong việc tạo

ra các biểu đồ và biểu đồ mô tả dữ liệu trên python Được phát triển

bởi John Hunter vào năm 2002, cho phép người dùng tạo ra các loại biểu đồ đơn giản hoặc phức tạp với độ tùy chỉnh cao Nó cũng hỗ trợ các loại biểu đồ khác nhau như đường, cột, barchart, scatter plot và nhiều hơn nữa

Để cài đặt Matplotlib nếu bạn có Anaconda chỉ cần gõ conda install matplotlib hoặc sử dụng tools pip pip install matplotlib Thao tac với thư viện Matplotlib

-Tạo một biểu đồ đơn giản

Import matplotlib.pyplot as plt

Import numpy as np

Ở đây chúng ta import Matplotlib’s Pyplot module và thư viện Numpy

vì hầu hết các dữ liệu mà ta sẽ làm việc sẽ chỉ ở dạng mảng

Chuyển hai mảng làm đối số đầu vào cho phương thức plot() và sử

dụng phương thức shofi() để gọi biểu đồ được yêu cầu

10

Trang 11

Định dạng mặc định là b- có nghĩa là một đường màu xanh lam đặc,

go có nghĩa là vòng tròn màu xanh lá cây Tương tự như vậy, chúng

ta có thể thực hiện nhiều kết hợp như vậy để định dạng biểu đồ của

mình

11

Trang 12

10 15 20 25 30 35 40

X label

-Tạo biểu đồ thanh

Sử dụng phương thức bar() để tạo các biểu đồ thanh có các đối số:

biến phân loại, giá trị và màu sắc của chúng (nếu bạn muốn chỉ định

bất kỳ)

Để tạo biểu đồ thanh ngang sử dụng phương thức barh()

Để chồng các cột, có thể sử dụng đối số bottom và đề cập đến biểu

đồ thanh mà chúng ta muốn xếp chồng bên dưới làm giá trị của nó

12

Trang 13

boys_average_marks = [68, 67, 77, 61, 70]

girls_average_marks = [72, 97, 69, 69, 66]

index = np.arange(5)

width = 0.30

plt.bar(index, boys_average_marks, width, color="blue", label="Bo

plt.bar(index, girls average marks, width, color="red", label="Gi

s Marks" » bottom=boys average marks)

Một loại biểu đồ cơ bản nữa là biểu đồ Pie có thể được tạo bằng

phương thức pie()

13

Trang 14

market_share = [20, 25, 15, 10, 29]

Explode = [0,0.1,0,0,0]

plt.pie(market_share,explode=Explode, labels=firms,shadow=True,startangle=45) plt.axis( ‘equal’ )

plt.legend(title="List of Firms")

plt.show()

Firm A

List of Firms Firm A Firm B Firm C

Firm D

Firm E Firm B Firm E

Firm C

1.4 Thu vién Seaborn

Seaborn là một thư viện trực quan hóa dữ liệu thống trị, là một lý do khác để các lập trình viên hoàn thành các dự án một cách hiệu quả Thư viện Python Seaborn được sử dụng để giảm bớt nhiệm vụ trực quan hóa dữ liệu đầy thách thức và nó dựa trên Matplotlib Seaborn cho phép tạo đồ họa thống kê thông qua các chức năng sau:

e Mot API dựa trên tập dữ liệu cho phép so sánh giữa nhiều biến

se Hỗ trợ lưới nhiều ô để dễ dàng xây dựng các hình ảnh trực quan

14

Trang 15

Để cài đặt thư viện Python Seaborn, bạn có thể sử dụng các lệnh sau dựa trên nền tảng bạn sử dụng: Pip install seaborn hoặc Conda install seaborn Sau khi cài đặt này, chỉ cần đảm bảo cài đặt các gói

và thư viện mà seaborn phụ thuộc vào

Thao tác với thư viện Seaborn

Đầu tiên, chúng ta sẽ khai báo dữ liệu và lưu vào một list Ví dụ, ta

sẽ sử dụng dữ liệu về số lượng sản phẩm bán được trong 6 tháng đầu

tiên của năm

# khai báo dữ liệu

Months = [1,2,3,4,5,6]

Products sold = [1000, 1500, 2000, 3000, 3500, 4000]

# tạo biểu đồ đường bằng Seaborn

Sns.lineplot(x=months, y=products_sold)

# tùy chỉnh biểu đồ đường

Sns.lineplot(x=months, y=products_ sold, color="red”, linestyle="—fl)

# khai báo dữ liệu

Sns.countplot(x=products, data=sales, color=”green”)

# khai báo dữ liệu

Regions = [flKhu vực A”, flKhu vực B”, flKhu vực C”]

Sales = [50000, 80000, 100000]

# tạo biểu đồ hình tròn bằng Seaborn

15

Trang 16

Thư viện này tập trung sâu trong việc xây dựng các yếu tố: dễ sử

dụng, dễ code, dễ tham khảo, dễ làm việc, hiệu quả cao

Nhóm thuật toán

Thư viện tập trung vào việc mô hình hóa dữ liệu Sau đâu là một số nhóm thuật toán được xây dựng bởi thư viện scikit-learn:

¢ Clustering: Nhém thuật toán Phân cụm dữ liệu không gán nhãn

Ví dụ thuật toán KMeans

e Cross Validation: Kiểm thử chéo, đánh giá độ hiệu quả của thuật toán học giám sát sử dụng dữ liệu kiểm thử (validation data) trong quá trình huấn luyện mô hình

se Datasets: Gồm nhóm các Bộ dữ liệu được tích hợp sẵn trong thư viện Hầu như các bộ dữ liệu đều đã được chuẩn hóa và mang lại hiêu suất cao trong quá trình huấn luyện như ïiris, digit,

s« _ Dimensionality Reduction: Mục đích của thuật toán này là để Giảm số lượng thuộc tính quan trọng của dữ liệu bằng các

phương pháp như tổng hợp, biểu diễn dữ liệu và lựa chọn đặc

trưng Ví dụ thuật toán PCA (Principal component analysis)

e Ensemble methods: Các Phương pháp tập hợp sử dụng nhiều thuật toán học tập để có được hiệu suất dự đoán tốt hơn so với bất kỳ thuật toán học cấu thành nào

e eature extraction: Trích xuất đặc trưng Mục đích là để định nghĩa các thuộc tình với dữ liệu hình ảnh và dữ liệu ngôn ngữ

e Feature selection: Trich chon dac trung Lua chọn các đặc trưng

có ý nghĩa trong việc huấn luyện mô hình học giám sát

se Parameter Tuning: Tinh chỉnh tham số Các thuật toán phục vụ việc lựa chọn tham số phù hợp để tối ưu hóa mô hình

Ngày đăng: 14/11/2024, 20:57

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w