NGÂN HÀNG NHÀ NƯỚC VIỆT NAMBỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHỐ HỒ CHÍ MINHBộ môn Kinh tếBÀI TIỂU LUẬNMÔN: LẬP TRÌNH PYTHON CHO PHÂN TÍCH DỮ LIỆUĐề tài: Phân tích dữ
Trang 1NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHỐ HỒ CHÍ MINH
Bộ môn Kinh tế
BÀI TIỂU LUẬN MÔN: LẬP TRÌNH PYTHON CHO PHÂN TÍCH DỮ LIỆU
Đề tài: Phân tích dữ liệu chất lượng rượu vang đỏ
Lớp học phần
Nhóm thực hiện
: L15 : Nhóm 2
TP.HỒ CHÍ MINH NĂM 2024
Trang 2Thành viên thực hiện
hoàn thiện
1 Nguyễn Phú Thịnh 05061022133
8
Chương 2 và phân tích dữ
liệu
20%
2 Cao Văn Chí Cường 05061022008
5
Chương 1 và phân tích dữ
liệu
20%
3 Lê Thị Minh Thư 05061022136
6
Chương 4 và trình bày kết
quả biểu đồ và bảng
20%
4 Phạm Thị Phương Dung 05061022010
2
Chương 3 và trình bày kết
quả biểu đồ và bảng
20%
5 Nguyễn Dương Tuyết
Hân
05061022092
1
Chương 5 và tìm bộ dữ liệu 20%
1
Trang 3Mục lục
Chương 1: Mục tiêu và phạm vi 4
1.1 Giới thiệu 4
1.2 Mục tiêu 4
1.3 Phạm vi 4
Chương 2: Dữ liệu và nội dung 4
2.1 Xem thông tin cơ bản của dữ liệu 4
2.2 Xem một số dòng đầu tiên của dữ liệu 4
2.3 Mô tả thống kê của dữ liệu 4
2.4 Trực quan hóa dữ liệu 7
Chương 3: Công cụ 9
3.1 Tổng quan về Python 9
3.2 Thư viện NumPy: 10
3.3 Thư viện Pandas 10
3.4 Thư viện Matplotlib: 10
Chương 4: Kết quả và thảo luận 11
Chương 5: Kết luận 11
TÀI LIỆU THAM KHẢO 12
Trang 5Chương 1: Mục tiêu và phạm vi
1.1 Giới thiệu
Trong lĩnh vực sản xuất và tiêu thụ rượu vang, việc đánh giá chất lượng của sản phẩm là rất quan trọng Trong tiểu luận này, chúng ta sẽ phân tích dữ liệu về chất lượng rượu vang
đỏ để hiểu sâu hơn về các yếu tố ảnh hưởng đến chất lượng của rượu vang
1.2 Mục tiêu
Phân tích cấu trúc dữ liệu: Xác định và mô tả các biến trong tập dữ liệu
Phân tích thống kê cơ bản: Khám phá và mô tả dữ liệu bằng các thống kê cơ bản
Trực quan hóa dữ liệu: Sử dụng biểu đồ để hiểu sâu hơn về phân phối và mối quan
hệ giữa các biến
1.3 Phạm vi
Dự án sẽ tập trung vào tập dữ liệu về chất lượng rượu vang đỏ từ một nguồn cụ thể Phạm
vi của dự án bao gồm:
Tập dữ liệu Red Wine Quality sẽ được sử dụng
Các biến số hoặc yếu tố cụ thể sẽ được phân tích
Các phương pháp phân tích hoặc mô hình hóa cụ thể sẽ được áp dụng
Các giả định hoặc hạn chế sẽ được xác định
Trang 6Chương 2: Dữ liệu và nội dung
2.1 Xem thông tin cơ bản của dữ liệu
Tập dữ liệu chứa 1599 mẫu với 12 biến, bao gồm 10 biến đo lường và 2 biến phân loại Tất
cả các biến đều không có giá trị null
2.2 Xem một số dòng đầu tiên của dữ liệu
Các dòng đầu tiên của dữ liệu cho thấy các mẫu với các giá trị của các biến như fixed acidity, volatile acidity, citric acid, alcohol và quality
2.3 Mô tả thống kê của dữ liệu
Thực nghiệm:
1
Trang 7<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1599 entries, 0 to 1598
Data columns (total 12 columns):
# Column Non-Null Count Dtype - - - -
0 fixed acidity 1599 non-null float64
1 volatile acidity 1599 non-null float64
2 citric acid 1599 non-null float64
3 residual sugar 1599 non-null float64
4 chlorides 1599 non-null float64
5 free sulfur dioxide 1599 non-null float64
6 total sulfur dioxide 1599 non-null float64
Trang 87 density 1599 non-null float64
8 pH 1599 non-null float64
9 sulphates 1599 non-null float64
10 alcohol 1599 non-null float64
11 quality 1599 non-null int64
dtypes: float64(11), int64(1)
memory usage: 150.0 KB
None
fixed acidity volatile acidity citric acid residual sugar chlorides \
0 7.4 0.70 0.00 1.9 0.076
1 7.8 0.88 0.00 2.6 0.098
2 7.8 0.76 0.04 2.3 0.092
3 11.2 0.28 0.56 1.9 0.075
4 7.4 0.70 0.00 1.9 0.076
free sulfur dioxide total sulfur dioxide density pH sulphates \
0 11.0 34.0 0.9978 3.51 0.56
1 25.0 67.0 0.9968 3.20 0.68
2 15.0 54.0 0.9970 3.26 0.65
3 17.0 60.0 0.9980 3.16 0.58
1
Trang 94 11.0 34.0 0.9978 3.51 0.56
alcohol quality
0 9.4 5
1 9.8 5
2 9.8 5
3 9.8 6
4 9.4 5
fixed acidity volatile acidity citric acid residual sugar \
count 1599.000000 1599.000000 1599.000000 1599.000000 mean 8.319637 0.527821 0.270976 2.538806
std 1.741096 0.179060 0.194801 1.409928
min 4.600000 0.120000 0.000000 0.900000
25% 7.100000 0.390000 0.090000 1.900000
50% 7.900000 0.520000 0.260000 2.200000
75% 9.200000 0.640000 0.420000 2.600000
max 15.900000 1.580000 1.000000 15.500000
chlorides free sulfur dioxide total sulfur dioxide density \
count 1599.000000 1599.000000 1599.000000 1599.000000
Trang 10mean 0.087467 15.874922 46.467792 0.996747 std 0.047065 10.460157 32.895324 0.001887 min 0.012000 1.000000 6.000000 0.990070 25% 0.070000 7.000000 22.000000 0.995600 50% 0.079000 14.000000 38.000000 0.996750 75% 0.090000 21.000000 62.000000 0.997835 max 0.611000 72.000000 289.000000 1.003690
pH sulphates alcohol quality
count 1599.000000 1599.000000 1599.000000 1599.000000 mean 3.311113 0.658149 10.422983 5.636023
std 0.154386 0.169507 1.065668 0.807569
min 2.740000 0.330000 8.400000 3.000000
25% 3.210000 0.550000 9.500000 5.000000
50% 3.310000 0.620000 10.200000 6.000000
75% 3.400000 0.730000 11.100000 6.000000
max 4.010000 2.000000 14.900000 8.000000
1
Trang 11 Trung bình fixed acidity: 8.32
Trung bình volatile acidity: 0.53
Trung bình citric acid: 0.27
Trung bình alcohol: 10.42
Chất lượng trung bình của rượu vang: 5.64
2.4 Trực quan hóa dữ liệu
Biểu đồ phân phối chất lượng rượu vang: Biểu đồ countplot cho thấy phân phối không đồng đều của chất lượng rượu vang, với số lượng lớn rượu vang có chất lượng trung bình
Trang 12 Heatmap tương quan giữa các biến: Heatmap cho thấy một số tương quan giữa các biến đo lường như alcohol và chất lượng rượu vang
1
Trang 13Chương 3: Công cụ
3.1Tổng quan về Python
Python là một ngôn ngữ lập trình thông dịch, được phát triển bởi Guido van Rossum và ra mắt lần đầu vào năm 1991 Được thiết kế với sự tập trung vào đơn giản, dễ đọc và dễ học, 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 đặc điểm của Python:
Trang 141 Ngôn ngữ đa mục đích: Python được sử dụng cho nhiều mục đích khác nhau, từ phát triển web, xử lý dữ liệu, đến máy học và trí tuệ nhân tạo
2 Cú pháp đơn giản: Python có cú pháp đơn giản và gần gũi với ngôn ngữ tự nhiên, giúp người lập trình dễ dàng đọc và viết mã
3 Thư viện phong phú: Python có một hệ sinh thái thư viện phong phú, bao gồm các thư viện như NumPy, Pandas, Matplotlib cho phân tích dữ liệu, TensorFlow, PyTorch cho máy học và trí tuệ nhân tạo, Flask, Django cho phát triển web, và nhiều thư viện khác nữa
4 Hỗ trợ đa nền tảng: Python có thể chạy trên nhiều hệ điều hành khác nhau như
Windows, Linux, macOS, cũng như các nền tảng di động như Android và iOS
5 Cộng đồng lớn và hỗ trợ tốt: Python có một cộng đồng lập trình viên lớn, cung cấp nhiều tài liệu học tập, hỗ trợ và tham khảo
6 Mã nguồn mở: Python là một ngôn ngữ mã nguồn mở, cho phép người dùng sửa đổi, phân phối và sử dụng miễn phí
• Ưu điểm của Python
- Cú pháp đơn giản, dễ đọc
- Bố cục trực quan, dễ hiểu
- Mã ngắn gọn hơn so với các NNLT khác
- Có các bộ thư viện chuẩn, module ngoài
- Chạy được trên nhiều nền tảng
- Cộng đồng lập trình lớn, hệ thống thư viện đầy đủ, mã nguồn chia sẻ nhiều và phong phú
1
Trang 15• Nhược điểm của Python
- Chương trình chạy chậm
- Giao tiếp khó khăn với thư viện viết bằng NNLT khác khăn với thư viện
- Yếu trong hỗ trợ tính toán trên di tính toán trên di động
- Cách viết khối lệnh dễ gây nhầm lẫn
- Gỡ lỗi đòi hỏi kinh nghiệm
- Ít hỗ trợ các cơ sở dữ liệu
Trong Python, có rất nhiều thư viện được phát triển để hỗ trợ các nhiệm vụ khác nhau trong phát triển phần mềm, khoa học dữ liệu, machine learning, và nhiều lĩnh vực khác Một số thư viện phổ biến và hữu ích trong Python:
3.2 Thư viện NumPy: NumPy là một thư viện cơ bản cho tính toán khoa học và tính toán
số học trong Python Nó cung cấp các cấu trúc dữ liệu mảng nhiều chiều (arrays) và một loạt các chức năng để làm việc với chúng
3.3 Thư viện Pandas: Pandas là một thư viện mạnh mẽ cho phân tích và xử lý dữ liệu Nó
cung cấp các cấu trúc dữ liệu dễ sử dụng như DataFrame và Series, cho phép người dùng thực hiện các thao tác như lọc, sắp xếp, và biến đổi dữ liệu một cách hiệu quả
3.4Thư viện Matplotlib: Matplotlib là một thư viện vẽ đồ thị mạnh mẽ trong Python, cho
phép người dùng tạo ra các biểu đồ 2D đẹp mắt như đồ thị đường, histogram, biểu
đồ phân tán, và nhiều loại biểu đồ khác
Trang 16 Trong code trên, chúng em đã sử dụng các thư viện Python sau:
- pandas (imported as pd): Được sử dụng để làm việc với dữ liệu dạng bảng và chuỗi thời gian thông qua các cấu trúc dữ liệu như DataFrame và Series
- matplotlib.pyplot (imported as plt): Được sử dụng để tạo và hiển thị các biểu đồ, đồ thị và hình ảnh
- seaborn (imported as sns): Được sử dụng để tạo các biểu đồ thống kê trực quan và đẹp mắt
Chương 4: Kết quả và thảo luận
Từ bộ dữ liệu ta có :
Trung bình fixed acidity: 8.32
Trung bình volatile acidity: 0.53
Trung bình citric acid: 0.27
Trung bình alcohol: 10.42
Chất lượng trung bình của rượu vang: 5.64
Heatmap cho thấy một số tương quan giữa các biến đo lường như alcohol và chất lượng rượu vang
1
Trang 17Chương 5: Kết luận
Phân tích dữ liệu chất lượng rượu vang đỏ đã cung cấp cái nhìn tổng quan về cấu trúc và phân phối của dữ liệu
Sử dụng các biểu đồ và phân tích thống kê, chúng ta có thể hiểu rõ hơn về mối quan
hệ giữa các biến và chất lượng rượu vang
Tiếp theo, có thể thực hiện các phân tích chi tiết hơn để đưa ra các nhận định và khuyến nghị cụ thể cho ngành công nghiệp rượu vang
Trang 18TÀI LIỆU THAM KHẢO
UC Irvine Machine Learning Repository Available at: https://archive.ics.uci.edu/datasets
Kaggle Available at: https://www.kaggle.com/datasets
https://unitrain.edu.vn/truc-quan-hoa-du-lieu-voi-python/
https://aws.amazon.com/vi/what-is/data-visualization/
1