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

tiểu luận môn dữ liệu lớn trong kinh tế và kinh doanh đề tài ứng dụng phân tích điểm thi đại học bằng ngôn ngữ python

23 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

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học ML.. Python giúp cải thiện năng suất làm việc của các nhà

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO

HỌC VIỆN CHÍNH SÁCH SÁCH VÀ PHÁT TRIỂNKHOA KINH TẾ QUỐC TẾ

***

-TIỂU LUẬN

Môn: Dữ liệu lớn trong kinh tế và kinh doanh

Đề tài: Ứng dụng phân tích điểm thi đại học bằng ngôn ngữ Python

Khóa: 2022-2026

Giảng viên hướng dẫn: TS Đặng Xuân Thọ

HÀ NỘI - 2024Họ và tên:NGUYỄN MAI THƯ - 7133106073

LÊ THỊ THẮM - 7133106065

NGUYỄN VĂN TRUNG - 7133101079

Trang 2

I – Giới thiệu về Python1 Python là gì ?

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển.

2 Đặc điểm

· Python là một ngôn ngữ thông dịch

Python là một ngôn ngữ thông dịch, điều này nghĩa là ngôn ngữ này trực tiếp chạy từng dòng mã Nếu có lỗi trong mã chương trình, nó sẽ ngừng chạy Do đó,lập trình viên có thể nhanh chóng tìm ra lỗi trong đoạn mã.

· Python là một ngôn ngữ dễ sử dụng

Python sử dụng từ ngữ giống trong tiếng Anh Không giống như các ngôn ngữ lập trình khác, Python không sử dụng dấu ngoặc ôm Thay vào đó, ngôn ngữ nàysử dụng thụt đầu dòng

· Python là một ngôn ngữ linh hoạt

Các lập trình viên không cần phải khai báo loại biến khi viết mã bởi vì Python sẽxác định chúng vào thời điểm chạy Vì vậy, bạn có thể viết các chương trình Python một cách nhanh chóng hơn.

· Python là một ngôn ngữ cấp cao

Python gần gũi với ngôn ngữ con người hơn các ngôn ngữ lập trình khác Do đó,các lập trình viên không cần phải lo lắng về những chức năng cơ bản của nó nhưkiến trúc và quản lý bộ nhớ.

· Python là một ngôn ngữ lập trình hướng đối tượng

Python coi mọi thứ đều là đối tượng, nhưng ngôn ngữ này cũng hỗ trợ các phương thức lập trình khác như lập trình hàm và lập trình cấu trúc.

3 Lợi ích của Python:

1 Các nhà phát triển có thể dễ dàng đọc và hiểu một chương trình Python vì ngôn ngữ này có cú pháp cơ bản giống tiếng Anh

Trang 3

2 Python giúp cải thiện năng suất làm việc của các nhà phát triển vì so với những ngôn ngữ khác, họ có thể sử dụng ít dòng mã hơn để viết một chương trình Python.

3 Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể tái sử dụng cho hầu hết mọi tác vụ Nhờ đó, các nhà phát triển sẽ không cần phải viết mã từ đầu.

4 Các nhà phát triển có thể dễ dàng sử dụng Python với các ngôn ngữ lập trình phổ biến khác như Java, C và C++.

5 Cộng đồng Python tích cực hoạt động bao gồm hàng triệu nhà phát triển nhiệt tình hỗ trợ trên toàn thế giới Nếu gặp phải vấn đề, bạn sẽ có thể nhận được sự hỗ trợ nhanh chóng từ cộng đồng.

6 Trên Internet có rất nhiều tài nguyên hữu ích nếu bạn muốn học Python Ví dụ: bạn có thể dễ dàng tìm thấy video, chỉ dẫn, tài liệu và hướng dẫn dành cho nhà phát triển.

7 Python có thể được sử dụng trên nhiều hệ điều hành máy tính khác nhau, chẳng hạn như Windows, macOS, Linux và Unix.

4 Python có lịch sử như thế nào?

Guido Van Rossum, một lập trình viên máy tính ở Hà Lan, đã tạo ra Python Ông bắt đầu phát triển ngôn ngữ này vào năm 1989 tại Centrum Wiskunde & Informatica (CWI), ban đầu chỉ là một dự án tiêu khiển để giúp ông giết thời gian trong dịp Giáng sinh Tên gọi của ngôn ngữ này được lấy cảm hứng từ chương trình truyền hình Monty Python's Flying Circus của đài BBC vì Guido Van Rossum là một “fan cứng” của chương trình này

Lịch sử các phiên bản Python:

· Guido Van Rossum cho ra mắt phiên bản đầu tiên của ngôn ngữ Python (phiên bản 0.9.0) vào năm 1991 Ngôn ngữ này đã bao gồm các tính năng hữu ích như một số kiểu dữ liệu và hàm để xử lý lỗi

· Python 1.0 đã được ra mắt vào năm 1994 với các hàm mới để dễ dàng xử lý danh sách dữ liệu, chẳng hạn như ánh xạ, lọc và lược bỏ.

· Python 2.0 đã được ra mắt vào ngày 16 tháng 10 năm 2000, với các tính năng hữu ích mới cho lập trình viên, chẳng hạn như hỗ trợ ký tự Unicode và cách xử lý chi tiết một danh sách nhanh chóng hơn.

· Python 3.0 đã được ra mắt vào ngày 3 tháng 12 năm 2008 Phiên bản này bao gồm các tính năng như hàm in và hỗ trợ nhiều hơn cho việc phân chia số và xử lý lỗi

5 Ứng dụng của Python

5.1 Ứng dụng Python phát triển trang web

Trang 4

Python là một lựa chọn tuyệt vời để phát triển web nhờ trên Python có nhiềuframework web, chẳng hạn như Django, Pyramid và Flask Các framework nàyđã được sử dụng để tạo các trang web và dịch vụ như Spotify, Reddit vàMozilla.

Ngoài ra, còn có các thư viện và mô-đun mở rộng đi kèm với các frameworkPython, nhờ vậy các chức năng truy cập cơ sở dữ liệu, quản lý nội dung và dataauthorisation đều có thể thực hiện được và dễ dàng Với tính linh hoạt củaPython, không có gì ngạc nhiên khi Python ngày được sử dụng rộng rãi trongphát triển web.

Phát triển web bao gồm những hàm backend phức tạp mà các trang web thực hiện để hiển thị thông tin cho người dùng.

Ví dụ: các trang web phải tương tác với cơ sở dữ liệu, giao tiếp với các trang web khác và bảo vệ dữ liệu khi truyền qua mạng

Python hữu ích trong việc lập trình mã phía máy chủ bởi vì ngôn ngữ này cung cấp nhiều thư viện bao gồm mã viết sẵn cho các hàm backend phức tạp Các nhàphát triển cũng sử dụng một loạt các khung Python cung cấp tất cả những công cụ cần thiết để xây dựng ứng dụng web một cách nhanh chóng và dễ dàng hơn Ví dụ: các nhà phát triển có thể tạo ứng dụng web khung trong nháy mắt bởi vì họ không cần phải lập trình nó từ đầu Sau đó, họ có thể kiểm tra ứng dụng web này bằng cách sử dụng các công cụ kiểm thử của khung, mà không cần phụ thuộc vào những công cụ kiểm thử bên ngoài.

5.2 Tự động hóa bằng các tập lệnh Python:

Ngôn ngữ tập lệnh là một ngôn ngữ lập trình tự động hóa các tác vụ mà thường được con người thực hiện Các lập trình viên thường xuyên sử dụng các tập lệnhPython để tự động hóa nhiều tác vụ hàng ngày như:

Trang 5

· Đổi tên một số lượng lớn tệp cùng lúc· Chuyển đổi một tệp sang một loại tệp khác· Loại bỏ các từ trùng lặp trong tệp văn bản· Thực hiện các phép tính toán cơ bản· Gửi email

· Tải xuống nội dung

· Thực hiện phân tích nhật ký cơ bản· Tìm kiếm lỗi trong nhiều tệp

5.3 Phân tích dữ liệu và máy học:

Lập trình Python được sử dụng khá phổ biến trong phân tích dữ liệu, một lĩnhvực đang phát triển nhanh chóng Như một nhu cầu tất yếu của việc ứng dụngtin học hóa và thời đại công nghệ số là chúng ta đang có nhiều dữ liệu hơn baogiờ hết, nên rất cần có những nhân sự có thể thu thập, xử lý và tổ chức thông tin.Python là sự lựa chọn hợp lý cho khoa học dữ liệu và phân tích dữ liệu Ngônngữ này dễ học, linh hoạt và được hỗ trợ nhiều thư viện cho phép thực hiện cácthao tác xử lý, phân tích dữ liệu một cách nhanh chóng Đặc biệt khi làm việcvới một lượng lớn dữ liệu, Python càng phát huy hiệu quả hơn.

Khoa học dữ liệu trích xuất thông tin quý giá từ dữ liệu và máy học (ML) dạy máy tính tự động học hỏi từ dữ liệu và đưa ra các dự đoán chính xác Dữ liệu sử dụng Python cho các tác vụ khoa học dữ liệu sau:

· Sửa và loại bỏ dữ liệu không chính xác, hay còn được gọi là làm sạch dữ liệu

Trang 6

· Trích xuất và chọn lọc các đặc điểm đa dạng của dữ liệu· Ghi nhãn dữ liệu gán tên có ý nghĩa cho dữ liệu

· Tìm các số liệu thống kê khác nhau từ dữ liệu

· Trực quan hóa dữ liệu bằng cách sử dụng các biểu đồ và đồ thị, chẳng hạn như biểu đồ đường, biểu đồ cột, biểu đồ tần suất và biểu đồ tròn

Các nhà khoa học dữ liệu sử dụng những thư viện ML của Python để đào tạo cácmô hình ML và xây dựng các công cụ phân loại giúp phân loại dữ liệu một cách chính xác Các chuyên gia từ nhiều lĩnh vực sử dụng những công cụ phân loại dựa trên Python để thực hiện các tác vụ phân loại, chẳng hạn như phân loại hình ảnh, văn bản cũng như lưu lượng truy cập mạng, nhận dạng giọng nói và nhận diện khuôn mặt Các nhà khoa học dữ liệu cũng sử dụng Python cho deep learning, một kỹ thuật ML nâng cao.

5.4 Phát triển game:

Python giúp việc phát triển game trở nên dễ dàng với hơn với thư viện Pygame cực kỳ hữu ích Nó hỗ trợ xây dựng hình hoạ, âm nhạc, âm thanh, video và các dự án đa phương tiện Bạn có thể tạo ra các game cross-platform sử dụng Kivy, ứng dụng chạy trên cả Windows, Mac, Linux, Android và iOS.

Được trang bị sẵn kho tài nguyên đa dạng, ngôn ngữ lập trình Python ứng dụngthực tế để phát triển game Python cung cấp cho bạn rất nhiều tiện ích hữu dụngđược mở rộng dành riêng cho việc phát triển game

Hai trong số những game nổi tiếng được ứng dụng code Python là PyGame vàPySoy Ngoài ra, một số tựa game khác đã sử dụng ngôn ngữ lập trình nền tảnglà Python để xây dựng là Battlefield 2, Vega Strike hay Frest on Fire Ngườidùng còn có thể sử dụng Python để lập trình các hành động, tác vụ hoặc tạo câyhội thoại, dùng ở game engine chính.

5.5 Phát triển ngôn ngữ lập trình

Trang 7

Với thiết kế đơn giản, tinh tế và cú pháp dễ đọc – dễ hiểu, Python đã truyền cảmhứng cho việc tạo ra các ngôn ngữ lập trình mới Các ngôn ngữ như Cobra,CoffeeScript và Go đều sử dụng cú pháp tương tự như Python.

Điều đó có nghĩa là Python là một ngôn ngữ khởi đầu hữu ích Vì vậy, nếu bạnmới bắt đầu học lập trình, việc hiểu Python có thể giúp bạn mở rộng sang cáclĩnh vực khác dễ dàng hơn.

II.PHÂN TÍCH ĐIỂM THI ĐẠI HỌC BẰNG PYTHON CODE, VẼ BIỂU ĐỒ TRỰC QUAN

1.Collect data by curl

File raw data.txt chứa dữ liệu điểm thi của các thí sinh được lấy từ website diemthi.hcm.edu.vn bằng công cụ curl và Python Dữ liệu được lưu trữ dưới dạng HTML5.

Mô tả code:

Import thư viện subprocess: Dùng để thực thi các lệnh trong terminal.Khai báo biến:

Trang 8

- start: Số báo danh đầu tiên.- end: Số báo danh kết thúc.- file: File để lưu trữ dữ liệu.

*.Lặp từ số báo danh đầu tiên đến số báo danh kết thúc:

- Tạo lệnh curl để lấy dữ liệu điểm thi của thí sinh với số báo danh hiện tại.- Sử dụng subprocess.check_output để thực thi lệnh curl và lấy kết quả.- Ghi kết quả vào file raw_data.txt.

2.Làm sạch dữ liệu (Clean up raw data)

- Tóm tắt quy trình làm sạch dữ liệu thô:* Xử lý dữ liệu thô:

· Loại bỏ các phần thừa:

- Xóa các dòng đầu tiên chứa DOCTYPE.- Xóa các dòng trống.

- Chuyển đổi các ký tự đặc biệt sang dạng có thể đọc được.

· Lưu trữ dữ liệu đã xử lý vào một biến và chuyển đổi sang định dạng CSV.* Sắp xếp dữ liệu:

- Sử dụng thư viện csv trong Python để mở file text.- Sắp xếp dữ liệu theo yêu cầu.

- Lưu trữ dữ liệu đã sắp xếp sang file CSV mới.* Mở file dữ liệu:

- Mở file CSV đã được làm sạch bằng Sublime Text để xem dữ liệu dạng Raw.- Mở file CSV bằng Excel để xem dữ liệu dạng bảng.

* Xử lý file Excel:

- Chuyển đổi định dạng file Excel sang UTF-8.- Tải file Excel để hiển thị dữ liệu đẹp và rõ ràng.Chú ý:

- Khi phân tích dữ liệu, sử dụng file CSV để thao tác trực tiếp với code.- Khi cần hiển thị dữ liệu trực quan, sử dụng file Excel đã được xử lý.Code ví dụ cho phần làm sạch dữ liệu:

Pythonimport csv# Mở file text

with open('raw_data.txt', 'r') as f:# Đọc từng dòng trong file

Trang 9

lines = f.readlines() # Xử lý từng dòng

for line in lines:

# Loại bỏ các phần thừaline = line.strip()

line = line.replace('DOCTYPE', '')#

# Lưu trữ dữ liệu đã xử lýprocessed_data.append(line)# Ghi dữ liệu vào file CSV

with open('clean_data.csv', 'w', newline='') as f:writer = csv.writer(f)

writer.writerow(processed_data)Kết luận:

- Quy trình làm sạch dữ liệu thô bao gồm các bước xử lý dữ liệu thô, sắp xếp

dữ liệu và mở file dữ liệu Việc sử dụng file CSV và file Excel phù hợp sẽ giúp thao tác và hiển thị dữ liệu hiệu quả.

- Đọc và xử lý dữ liệu học sinh từ Excel bằng Python

Chú ý: Phần bài làm khá dài nên chỉ có thể đưa tóm tắt về code Ý chính

3 Chuyển thành file Excel, phân tích với excel

Mở file Excel và xử lý ký tự đặc biệt:

+, Mở file Excel chứa thông tin học sinh Lúc này, bảng tính sẽ hiển thị tất cả dữliệu nhưng có thể gặp vấn đề với các ký tự đặc biệt.

+, Chọn tab Data -> Get Data -> From Text/CSV.+, Chọn file Excel vừa mở ở bước 1.

+, Trong cửa sổ Text Import Wizard, chọn File origin -> Unicode (UTF-8).+, Nhấn Load để tải dữ liệu.

Lý do chọn UTF-8:

UTF-8 là định dạng mã hóa ký tự phổ biến, hỗ trợ tốt tiếng Việt và các ngôn ngữkhác Việc chọn UTF-8 giúp đảm bảo dữ liệu được hiển thị chính xác, tránh lỗi font chữ hoặc ký tự

- Phân tích dữ liệu với file CSV:

+, Để phân tích dữ liệu, ta có thể sử dụng file CSV thay vì file Excel Lý do là vì:

File CSV có cấu trúc đơn giản, dễ đọc và xử lý bằng code.

+, Có thể sử dụng các thư viện Python để đọc file CSV và thao tác với dữ liệu một cách hiệu quả.

Đọc file Excel và sắp xếp theo tên:

Trang 10

Để đọc file Excel và sắp xếp dữ liệu theo tên học sinh, ta có thể sử dụng code Python sau:

- Kết quả, sau đó sort theo tên, sort theo điểm, sort theo các thông tin khác,

ngoài ra , còn làm một số thao tác tìm kiếm… xử lý trực tiếp trong excel, phần này đã có trong slide.FILE dữ liệu ở một tệp riêng khác

- Tuy nhiên, khi phân tích dữ liệu ta sử dụng file csv, ta làm việc trực tiếp với

code đọc từng dòng và chia cắt dấu phẩy Điều này dễ hơn việc phân tích trực quan bằng excel, đôi khi xử lý bằng excel sẽ gây ra rối về mặt dữ liệu , cho người sử dụng dữ liệu.

Kết quả :

- Có khá nhiều người lớn tuổi ,40 tuổi trở lên đi thi đại học

- Dữ liệu có vấn đề khi có 3 người sinh ngày 0/0

- Có 2 người sinh năm 2003, thi trước tuổi, 2 người này đều sinh tháng 1,

điểm toán của 2 người này đều rất cao, trên 9

Trang 11

- 5 bạn điểm văn cao nhất trong này là 9.25

3 Vẽ biểu đồ trực quan bằng file CSV

- Dùng excel rất hạn chế, chỉ có một số hàm đơn giản có sẵn, Khó để đổi dữ liệuVD :

+, 1 là số không đi thi

+, Điểm nhập bằng chữ sẽ khó tìm ras

+, Excel không xử lý được quá nhiều dữ liệu, khó xử lý dữ liệu lớn Vì vậy phải dùng python ( Scripting language) để xử lý dễ hơn+, Có thể điều khiển toàn bộ dữ liệu

+, Tuy nhiên không tiện, cần một đội chỉ biết làm về excel, cần một đội data engineer để phân tích

Giải thích về ngôn ngữ kịch bản (Scripting language trong phân tích dữ liệu )

Trang 12

- Phân tích dữ liệu từ nhiều nguồn khác nhau, bao gồm tệp tin, cơ sở dữ liệu và API.

- Thực hiện các thao tác dữ liệu phức tạp, như lọc, sắp xếp, nhóm và chuyển đổi dữ liệu.

*, Trực quan hóa dữ liệu:

- Tạo các biểu đồ và đồ thị trực quan để truyền tải thông tin từ dữ liệu.- Tùy chỉnh giao diện trực quan hóa để đáp ứng nhu cầu cụ thể.

1.Python: Sử dụng Pandas để đọc dữ liệu từ tệp CSV, lọc dữ liệu theo các tiêu

chí cụ thể và vẽ biểu đồ để trực quan hóa dữ liệu.

2.R: Sử dụng ggplot2 để tạo các biểu đồ và đồ thị tùy chỉnh, thực hiện phân tích

thống kê và xây dựng các mô hình dự đoán.

3.JavaScript: Sử dụng D3.js để tạo các biểu đồ tương tác và trực quan hóa dữ

liệu trên trang web.

-Có nhiều phần mềm mềm như teablue để phân tích

Trang 13

4 Vẽ biểu đồ trực quan bằng file CSV

A, Vẽ biểu đồ thí sinh bỏ thi hoặc không đăng kí (Bar chart the best chosen)Code :

#read file

With open(“Clean_data.csv, encoding= “utf8) as file:data = file.read().split(“\n”)

header = data[0]students = data[1:]

#remove last student(empty student)students.pop()

total_student = len(students)#split header

Header = header.split(“,”)Subject = header[5:]#split each student in listFor i in range(len(students)):

Student[i] = student[i].split(“,”)Not_taken_exam = [0,0,0,0,0,0,0,0,0,0,0]#loop through all students

Figure, axis = plt.subplots()

Y_pos = numpy.arrage(len(subjects))Print(y_pos)

Plt.bar(y_pos, not_taken_exam_percentage)Plt.xticks(y_pos,subjects)

Axis.set_ylim(0,100)#Lable and title

Plt.title(‘Số học sinh bỏ thi hoặc không đăng kí’)Rects = axis.patches

Ngày đăng: 28/06/2024, 15:28

Xem thêm:

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w