Hệ thống này giúp quản lý thông tin nhân viên, tính lương, thưởng, theo dõi hiệu suất công việc, v.v.. Yêu cầu 2: Giao diện người dùngChức năng: - Thêm mới nhân viên - Sửa thông tin nhân
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
Lưu Minh Chiến - 0181866 Ngô Anh Đức -
Trang 2Mục lục
2
Trang 3Chương 1: Bài tập lớn số 1
I Giới thiệu
Hệ thống quản lý nhân sự là một phần quan trọng trong việc vận hành của bất kỳ doanh nghiệp nào, đặc biệt là các doanh nghiệp bán lẻ Hệ thống này giúp quản lý thông tin nhân viên, tính lương, thưởng, theo dõi hiệu suất công việc, v.v Việc sử dụng hệ thống quản lý nhân sự hiệu quả có thể giúp doanh nghiệp tiết kiệm thời gian, chi phí và nâng cao năng suất làm việc của nhân viên
II Phân tích yêu cầu
1 Yêu cầu 1: Xây dựng các lớp để quản lí nhân viên
Yêu cầu xây dựng các lớp để quản lý nhân viên một cách hợp lý Lớp là một trong những khái niệm cơ bản của lập trình hướng đối tượng (OOP), giúp mô hình hóa các đối tượng trong thế giới thực và khai thác các đặc tính của OOP như tính trừu tượng, tính kế thừa, đa hình, để xây dựng hệ thống phần mềm hiệu quả
Trang 42 Yêu cầu 2: Giao diện người dùng
Chức năng:
- Thêm mới nhân viên
- Sửa thông tin nhân viên
- Xóa nhân viên
- Tìm kiếm nhân viên
- Hiển thị danh sách nhân viên theo vị trí việc làm
- Tính tổng doanh thu, các loại doanh thu trung bình trong tháng
- Tính tổng lương trong tháng
- Sắp xếp danh sách nhân viên có doanh thu cao nhất
- Thống kê danh sách nhân viên có mức lương thấp hoặc cao hơn mức lương trung bình của toàn bộ nhân viên trong hệ thống
- Hiển thị nhóm có tổng doanh thu cao nhất
- Thoát chương trình
3 Yêu cầu 3: Giao diện người dùng
- Thêm mới nhân viên: Yêu cầu nhập thông tin thí sinh và lưu vào hệ thống
4
Trang 7- Sửa thông tin nhân viên: Yêu cầu nhập thông tin cần sửa, kiểm tra và lưu vào hệ thống.
Trang 9- Xóa nhân viên: Khi xóa nhân viên lưu ý cho người dùng lựa chọn xóa vĩnh viễn hoặc xóa có sao lưu
- Tìm kiếm nhân viên: Tìm kiếm thông qua Mã nhân viên hoặc Tên nhân viên
Trang 104 Yêu cầu 4: Tính tổng doanh thu, doanh thu trung bình
- Tính doanh thu dựa trên thu nhập của cửa hàng
5 Yêu cầu 5: Hiển thị danh sách nhân viên
- Hiển thị danh sách nhân viên theo vị trí việc làm
10
Trang 116 Yêu cầu 6: Tính tổng lương trong tháng
Tính tổng lương dựa theo từng vị trí của nhân viên trong cửa hàng
7 Yêu cầu 7: Sắp xếp danh sách nhân viên có doanh thu cao nhất
- Hiển thị danh sách nhân viên
Trang 12- Sắp xếp theo doanh thu của nhân viên
8 Yêu cầu 8: Thống kê danh sách nhân viên có mức lương thấp hoặc cao hơn mức lương trung bình của toàn bộ nhân viên trong hệ thống
- Hiển thị danh sách có mức lương cao hơn mức lương trung bình
- Hiển thị danh sách có mức lương thấp hơn mức lương trung bình
12
Trang 139 Yêu cầu 9: Hiển thị nhóm có tổng doanh thu cao nhất
- Hiển thị danh sách nhóm nhân viên có tổng doanh thu cao nhất
10 Yêu cầu 10: Hiển thị nhân viên bán hàng làm lâu nhất
Trang 1412 Yêu cầu 12: Thoát chương trình
III Test case
ID Case Data Expect Result Actual Result Result
1 Kiểm tra xem
Đối tượng được tạo thành công và có các thuộc tính:
• id: Mã nhân viên
• name: Tên nhân viên
• phone: Số điện thoại
• email: Email
• position: Vị trí làm việc (quản lý hoặc bán hàng)
Đối tượng được tạo thành công và có các thuộc tính:
• id: Mã nhân viên
• name: Tên nhân viên
• phone: Số điện thoại
• email: Email
• position: Vị trí làm việc (quản lýhoặc bán hàng)
Đối tượng được tạo thành công và có các thuộc tính:
• id: Mã nhân viên
• name: Tên nhân viên
• phone: Số điện thoại
• email: Email
• position: Vị trí làm việc (quản lý)
Đối tượng được tạo thành công và có các thuộc tính:
• id: Mã nhân viên
• name: Tên nhân viên
• phone: Số điện thoại
• email: Email
• position: Vị trí làmviệc (quản lý)
Pass
14
Trang 15• team: Nhóm quản lý.
• num_of_employee:
Số nhân viên trong nhóm quản lý
• revenue: Tổng doanh thu nhóm
• team: Nhóm quản lý
• num_of_employee:
Số nhân viên trong nhóm quản lý
• revenue: Tổng doanh thu nhóm
3 Kiểm tra xem
lớp Salesman có
được tạo thành
công hay không
Tạo một đối tượng mới của lớp Salesman
Đối tượng được tạo thành công và có các thuộc tính:
• id: Mã nhân viên
• name: Tên nhân viên
• phone: Số điện thoại
• email: Email
• position: Vị trí làm việc (bán hàng)
• revenue: Doanh thu
• email: Email
• position: Vị trí làmviệc (bán hàng)
• revenue: Doanh thu
• working_month: Số tháng làm việc
-Tạo một đối tượng mới của lớp Employee
và gán giá trị cho các thuộc tính
Các giá trị được gán cho các thuộc tính
Các giá trị được gán cho cácthuộc tính
Pass
5 Kiểm tra xem
các phương thức
-Cung cấp dữ liệu cho các
Các phương thức hoạt động đúng và trả về kết
Các phương thức hoạt động đúng và trả về kết quả chính
Pass
Trang 166 Kiểm tra xem
-Tạo một đối tượng mới của lớp Manager
và gán giá trị cho các thuộc tính
Các giá trị được gán cho các thuộc tính
Các giá trị được gán cho cácthuộc tính
-Sử dụng chức năng thêm nhân viên mới trong hệ thống
Nhân viên mới được thêm vào hệ thống thành công
và có đầy đủ thông tin
Nhân viên mới được thêm vào hệ thống thành công và
có đầy đủ thông tin
có trong hệ thống
-Cung cấp thông tin mới
để sửa đổi
-Sử dụng chức năng sửa thôngtin nhân viên trong hệ thống
Thông tin nhân viên được sửa đổi thành công Thông tin nhân viên được sửa đổi thành công Pass
9 Kiểm tra xem
có trong hệ thống
-Sử dụng chức năng xóa nhân viên trong hệ thống
Nhân viên được xóa khỏi
-Sử dụng chức năng tìm kiếm nhân viên trong hệ thống
Danh sách nhân viên thỏa mãn điều kiện tìm kiếm được hiển thị
Danh sách nhân viên thỏa mãn điều kiện tìm kiếm được hiển thị
Pass
11 Kiểm tra xem
chức năng xem
-Chọn một nhân viên
Hiển thị đầy đủ thông tin chi tiết của nhân viên được
Hiển thị đầy đủ thông tin chi tiết của nhân viên được
Pass16
Trang 17chi tiết thông tin
-Sử dụng chức năng xuất danhsách nhân viêntrong hệ thống
Danh sách nhân viên được xuất thành file với định dạng đã chọn
Danh sách nhân viên được xuất thành file với định dạng đã chọn
-Xác nhận thông tin chấmcông
-Sử dụng chức năng chấm công cho nhân viên trong hệ thống
Thông tin chấm công đượcghi nhận thành công
Thông tin chấm công được ghi nhận thành công
-Cung cấp các thông số lương(lương cơ bản,
hệ số lương, thưởng, v.v.)
-Sử dụng chức năng tính lương cho nhân viên trong hệ thống
Bảng lương của nhân viên được hiển thị với số tiền lương đúng
Bảng lương của nhân viên được hiển thị với số tiền lương đúng
-Chọn định
Bảng lương được xuất thành file với định dạng đãchọn
Bảng lương được xuất thànhfile với định dạng đã chọn
Pass
Trang 18doanh thu cao
hệ số lương, thưởng, v.v.)
-Sử dụng chức năng tính lương cho nhân viên trong hệ thống
-Sử dụng chức năng xuất bảnglương trong hệ thống
Xuất bảng các nhân viên
có lương thấp(cao) hơn so với lương trung bình của các nhân viên trong hệ thống
Xuất bảng các nhân viên có lương thấp(cao) hơn so với lương trung bình của các nhân viên trong hệ thống
Đưa ra nhóm có tổng doanh thu cao nhất Đưa ra nhóm có tổng doanh thu cao nhất Pass
Xuất tổng doanh thu, các loại doanh thu trung bình cần truy xuất của cửa hàngtrong tháng hiện tại
Xuất tổng doanh thu, các loại doanh thu trung bình cần truy xuất của cửa hàng trong tháng hiện tại
Pass
20 Thêm thông tin
nhân viên mới
không đúng định
dạng
Tên: NamTuổi:
haimuoilamQuê quán:
12424
Hiện thông báo yêu cầu nhập lại thông tin nhân viên theo quy định
Hiện thông báo yêu cầu nhập lại thông tin nhân viên theo quy định
Xuất bảng thông tin doanh thu của n nhân viên có doanh thu cao nhất theo thứ tự giảm dần
Xuất bảng thông tin doanh thu của n nhân viên có doanh thu cao nhất theo thứ
tự giảm dần
Pass
18
Trang 19năng tính doanh thu theoyêu cầu
-Thực hiện cách tính lương theo cấpbậc đã được cài đặt:
-Lưu thông tin lương của từngnhân viên
Xuất bảng lương chi tiết của nhân viên kèm theo cấp bậc
Xuất bảng lương chi tiết củanhân viên kèm theo cấp bậc
-Sắp xếp các nhân viên theo từng cấp bậc
Hiển thị bảng danh sách nhân viên cũng với cấp bậc của nhân viên đó theo từng nhóm theo thứ tự chức vụ giảm dần
Hiển thị bảng danh sách nhân viên cũng với cấp bậc của nhân viên đó theo từng nhóm theo thứ tự chức vụ giảm dần
Lưu lỗi của nhân viên vào
bị phạt của từng nhân viêntrong tháng hiện tại-Sử dụng chức năng tính toán
Hiển thị tổng lương mà cửa hàng phải trả cho nhânviên trong tháng hiện tại
Hiển thị tổng lương mà cửa hàng phải trả cho nhân viên trong tháng hiện tại
Pass
Trang 20Xóa nhân viên có sao lưu thành công
Xóa nhân viên có sao lưu thành công
Hiển thị bảng bao gồm cáclỗi của từng nhân viên và
số lần vi phạm của từng lỗi
đố trong tháng hiện tại
Hiển thị bảng bao gồm các lỗi của từng nhân viên và sốlần vi phạm của từng lỗi đố trong tháng hiện tại
vị trí việc làm trong cửa hàng
-Kiểm tra số lượng chỉ tiêu của từng vị trí
Hiển thị bảng vị trí của từng việc làm và số lượng chỉ tiêu còn thiếu
Hiển thị bảng vị trí của từngviệc làm và số lượng chỉ tiêu còn thiếu
Hiển thị bảng chi phí nhập hàng theo từng giai
đoạn(ngày, tháng, quý)
Hiển thị bảng chi phí nhập hàng theo từng giai
Hiển thị bảng doanh thu của cửa hàng theo từng giai đoạn(ngày, tháng,quý)
Hiển thị bảng doanh thu củacửa hàng theo từng giai đoạn(ngày, tháng,quý)
Pass
Chương 2: Bài tập lớn số 2
20
Trang 21I Thêm bộ dữ liệu mẫu vào các sheet
II Lưu dữ liệu từ các sheet vào các Dataframe df_sinh_vien,
df_diem_mon_1, df_diem_mon_2, df_diem_mon_3, df_diem_mon_4
và hiển thị các Dataframe đó.
III Tạo thêm cột Ho ten trong các Dataframe df_diem_mon_1,
df_diem_mon_2, df_diem_mon_3, df_diem_mon_4 với dữ liệu dựa vào cột Ma sinh vien.
IV Tạo ra 1 dataframe mới (df_tong_hop) có đầy đủ thông tin của sinh
Trang 22V Tổng hợp danh sách sinh viên không qua môn (Diem Tong Ket < 4.0)
theo từng môn.
VI Tổng hợp danh sách sinh viên không bị trượt môn nào, có thông tin
điểm trung bình và điểm tổng kết từng môn.
VII Vẽ biểu đồ để hiển thị kết quả học tập của từng sinh viên Nên chọn
loại biểu đồ nào và giải thích lý do tại sao.
22
Trang 23VIII Xuất ra file CSV với các Dataframe sau khi đã xử lý ở trên với tên
Trang 24TP: True Positives (Số lượng dự đoán đúng của lớp dương)
FP: False Positives (Số lượng dự đoán sai của lớp dương)
Trang 25+Code tương ứng:
-Điểm chính xác của Cross-Validation (Cross Validation Score) là điểm số trung bình của độ chính xác trên các fold của tập dữ liệu huấn luyện khi sử dụng phương pháp cross-validation
Trang 26-Confution matrix (ma trận nhầm lẫn): cho biết số lượng các dự đoán đúng và sai theo từng lớp Nó giúp đánh giá chi tiết hơn hiệu suất của mô hình bằng cách xem xét từng loại lỗi mà mô hình mắc phải
+Công thức:
+Code tương ứng:
26
Trang 27II Mô tả quá trình thực hiện bài toán; Đánh giá từng bước của quy
trình (nếu có)
1 Xác định vấn đề và thu thập dữ liệu
+Cần xác định rõ vấn đề mà bạn muốn giải quyết bằng AI
+Cần thu thập dữ liệu liên quan đến vấn đề đó, có thể thu thập từ nhiều nguồn khác nhau
-Đánh giá: Quy trình này cần phải được thực hiện cẩn thận để đảm bảo rằng vấn đề được xác định rõ ràng và dữ liệu được thu thập đủ cho mô hình AI
2 Tiền xử lý dữ liệu
-Dữ liệu thô thường không sẵn sàng để sử dụng ngay lập tức cho các mô hình AI
Do đó, cần thực hiện các bước tiền xử lý dữ liệu như:
+Xử lý missing values: Xử lý các giá trị bị thiếu trong dữ liệu
+Chuyển đổi dữ liệu: Đưa dữ liệu về định dạng phù hợp
+Chuẩn hóa và chuẩn bị dữ liệu: Chuẩn hóa dữ liệu để đảm bảo rằng tất cả các thuộc tính đều nằm trong cùng một thang đo
Trang 28-Đánh giá: Việc lựa chọn và triển khai mô hình đòi hỏi hiểu biết sâu sắc về các thuật toán và mô hình, cũng như sự hiểu biết về bản chất của vấn đề
4 Huấn luyện mô hình
-Huấn luyện mô hình trên tập huấn luyện và điều chỉnh các siêu tham số để cải thiện hiệu suất của mô hình Quá trình này bao gồm:
+Training: Huấn luyện mô hình với tập dữ liệu huấn luyện
+Validation: Sử dụng tập dữ liệu validation để điều chỉnh mô hình và tránh
overfitting
+Tuning: Điều chỉnh siêu tham số (hyperparameter tuning)
-Đánh giá: Quá trình huấn luyện mô hình cần phải được kiểm soát cẩn thận để tránhoverfitting hoặc underfitting
5 Đánh giá mô hình
-Sử dụng các số liệu đánh giá (metrics) để đo lường hiệu suất của mô hình trên tập kiểm tra Một số metrics phổ biến bao gồm:
+Accuracy, Precision, Recall, F1-Score cho các bài toán phân loại
+Mean Squared Error (MSE), Root Mean Squared Error (RMSE) cho các bài toán hồi quy
-Đánh giá: nên sử dụng các metrics phù hợp và kiểm tra tính tổng quát hóa của mô hình trên dữ liệu kiểm tra
6 Triển khai và bảo trì mô hình
-Khi mô hình đã đạt hiệu suất tốt, tiến hành triển khai mô hình vào môi trường sản xuất Quá trình này bao gồm:
+Đóng gói mô hình: Sử dụng các công cụ như pickle, joblib để lưu trữ mô hình.+Triển khai mô hình: Sử dụng các framework như Flask, Django để tạo API phục
Trang 291 TH1: Sử dụng thuật toán KNN trong bài toán nhận dạng hoa
-Qua quá trình thực hiện bài thực hành này, chúng em đã thu nhận được kiến thức
về thuật toán K-Nearest Neighbors (KNN) và cách áp dụng nó trong bài toán nhận dạng loài hoa
- KNN là một phương pháp phân loại đơn giản nhưng hiệu quả trong machine learning, hoạt động dựa trên nguyên lý so sánh sự tương đồng giữa các điểm dữ liệu-Quá trình thực hiện bài toán này đã giúp chúng em hiểu rõ các bước cơ bản để sử dụng KNN, bao gồm chuẩn bị dữ liệu, xây dựng mô hình, đánh giá hiệu suất và dự đoán kết quả Đặc biệt, việc chọn số lượng láng giềng (K) phù hợp và đánh giá hiệu suất của mô hình thông qua các độ đo như độ chính xác đã giúp chúng em có cái nhìn tổng quan về cách thức hoạt động và ứng dụng của thuật toán KNN trong thực tế
2 TH2: Sử dụng thuật toán Naive Bayes trong bài toán phân loại và dự đoán thu nhập cá nhân
Qua bài thực hành trên chúng em đã tiếp cận và thu nhận kiến thức về thuật toán Naive Bayes và cách sử dụng nó trong bài toán phân loại và dự đoán thu nhập cá nhân
-Naive Bayes là một phương pháp phân loại dựa trên nguyên lý của định lý Bayes
và giả định đơn giản ("naive") về độc lập giữa các đặc trưng
-Quá trình này đã giúp chúng em hiểu cách chuẩn bị dữ liệu, huấn luyện mô hình vàđánh giá hiệu suất của thuật toán Naive Bayes Việc áp dụng và thực hành trên dữ liệu thực tế cũng giúp chúng em hiểu rõ hơn về ứng dụng của Naive Bayes trong việc phân loại và dự đoán các biến phân loại như thu nhập cá nhân
IV Ngoài 2 thuật toán đã được học, nhóm sinh viên hãy tìm hiểu và
trình bày một thuật toán khác thường được sử dụng trong bài toán học máy.
-Một thuật toán khác thường được sử dụng trong bài toán học máy là Decision Tree (Cây Quyết Định)
-Decision Tree (Cây Quyết Định)
-Cây quyết định phân tách tập dữ liệu thành các phần nhỏ hơn dựa trên các quy tắc quyết định đơn giản Đầu tiên, nó chọn thuộc tính và giá trị ngưỡng để tối đa hóa độtinh khiết của các nhóm con Sau đó, nó xây dựng cây bằng cách tiếp tục phân chia đến khi mỗi nhóm trở thành lá của cây Cuối cùng, cây được sử dụng để dự đoán nhãn hoặc giá trị cho dữ liệu mới
-Ứng dụng của Cây Quyết Định:
+Cây quyết định được sử dụng trong y học, tài chính, marketing và nhiều lĩnh vực