Bảng Nhân Viên

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

- Bảng Nhân Viên

Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc


MaNV Char 10 Khóa chính
TenNV Nvarchar2 30 NOT NULL
SDT Number 10 NOT NULL
CCCD Number 12 NOT NULL
DiaChi Nvarchar 100 NOT NULL
TrangThai Nvarchar 20 NOTNULL
MaPB Char 8 Khóa ngoại
- Bảng Phòng Ban
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaPB Char 8 Khóa chính
TenPB Nvarchar2 30 NOT NULL
- Bảng Chức Vụ
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaCV Char 8 Khóa chính
TenCV Nvarchar2 30 NOT NULL
- Bảng Chức Vụ Nhân Viên
Thuộc tính Kiểu Kích Ràng buộc
dữ liệu thước
MaNV Char 10 Khóa chính
MaCV Char 8 Khóa chính
NgayNhanChuc Date
NgayKetThuc Date Check(NgayKetThuc >NgayNhanChuc)
- Bảng Hợp Đồng
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaHD Char 10 Khóa chính
TenHD Nvarchar2 100 NOT NULL
NgayBD Date
NgayKT Date Check(NgayBD<NgayKT)
MaNV Char 10 Khóa ngoại
- Bảng Lương
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaLuong Char 10 Khóa chính
LuongCoBan Number NOT NULL
PhuCap Number
- Bảng Phiếu Lương
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaPhieu Char 10 Khóa chính
MaNV Char 10 Khóa ngoại
MaLuong Char 10 Khóa ngoại
NgayPhatHanh Date NOT NULL
ThucNhan Number NOT NULL
- Bảng Dự Án
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaDA Char 10 Khóa chính
TenDA Nvarchar2 50 NOT NULL
NgayBD Date
NgayKT Date Check(NgayKT>NgayBD)
MaPB Char 8 Khóa ngoại
- Bảng Tham Gia
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaDA Char 10 Khóa chính
MaNV Char 10 Khóa chính
SoNgayCong Number
ThuongDuAn Number
- Bảng Chương Trình Đào Tạo
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaCT Char 6 Khóa chính
TenCT Nvarchar2 50 NOT NULL
NgayBD Date
NgayKT Date Check(NgayKT>NgayBD)
- Bảng Đào Tạo
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaCT Char 6 Khóa chính
MaNV Char 6 Khóa chính
- Bảng Khen Thưởng
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
IDKT Char 6 Khóa chính
HinhThucKhenThuong Nvarchar2 30 NOT NULL
NoiDung Nvarchar2 150
- Bảng Quyết Định Khen Thưởng
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
SoQD Char 8 Khóa chính
IDKT Char 6 Khóa ngoại
MaNV Char 10 Khóa ngoại
Ngay Date
NoiDung Nvarchar2 150
- Bảng Kỷ Luật
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
IDKL Char 10 Khóa chính
HinhThucKyLuat Nvarchar2 30 NOT NULL
NoiDung Nvarchar2 150
- Bảng Quyết Định Kỷ Luật
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
SoQD Char 10 Khóa chính
IDKL Char 6 Khóa ngoại
MaNV Char 10 Khóa ngoại
Ngay Date
NoiDung Nvarchar2 150
- Bảng Chấm Công
Thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
MaCC Char 10 Khóa chính
NgayCC Date Check(Date<=sysdate)
GioVao Time
GioRa Time Check(GioRa>GioVao)
MaNV Char 10 Khóa ngoại
2.2. Thuật Toán Logistic Regression
(https://ml-glossary-vn.readthedocs.io/vi/latest/logistic_regression_vn.html#phan-
loai-hoi-quy-logistic_
Hồi quy logistic là một thuật toán trong machine learning được dùng để phân loại
các loại quan sát theo cá danh mục rời rạc. Đầu ra của thuật toán này trả về một
giá trị biểu thị xác suất mà quan sát đầu vào thể hiện tính chất của hai hay nhiều
hơn các danh mục rời rạc.
2.2.1 Hồi quy logistic nhị phân
- Hồi quy logistic nhị phân: đưa ra kết quả dự đoán của một đối tượng thuộc vào
một trong hai nhóm. Ví dụ: đỗ/trượt, khách hàng tiềm năng/ khách hàng không
tiềm năng,… Hồi quy logistic nhị phân là một thuật toán phổ biến và được ứng
dụng ở nhiều lĩnh vực: sản xuất, chăm sóc sức khỏe, tài chính,…
- Cách thức hoạt động:
+ Thuật toán sử dụng hàm sigmod để ánh xạ các giá trị dự đoán thành xác
suất trong khoảng từ 0 đến 1. Đồ thị của hàm sigmod là đường cong hình
chữ S
1
Công thức S( z )= −z
1+ e
Với: S( z ) = đầu ra nằm trong khoảng từ 0 đến 1
z : đầu vào của hàm
e : hằng số Euler, và là cơ số của logarit tự nhiên
Đồ thị:

Để ánh xạ xác suất này tới kết quả hai danh mục rời rạc, cần chọn
một ngưỡng để phân loại. Ngưỡng này gọi là “danh giới quyết định”
(decision bound).
Ví dụ S( z ) ≥ 0.5 (danh mục 1), S( z )≤ 0.5 (danh mục 0)
+ Hàm mất mát (Loss Function) được sử dụng để đánh giá kết quả mà mô
hình của chúng ta tạo ra khi dự đoán các kết quả từ dữ liệu đầu vào.
n
−1
Công thức: L(w )=
n ∑ [ y i log pi ¿ +( 1− y i ) log ( 1− pi ) ]¿
i=1

Trong đó:
n : số lượng mẫu dữ liệu trong tập huấn luyện.
y i : giá trị thực tế của đầu ra thứ i.

pi: xác suất dự đoán thuộc lớp 1 của mô hình cho đầu vào thứ i.

Hàm mất mát đo lường khoảng cách giữa hai phân phối xác suất y i
và pi. Khi mô hình dự đoán chính xác, tức là nếu y i=1 thì pi càng
gần 1, và ngược lại, sau đó hàm mất mát sẽ tiến gần về 0.
+ Để tìm giá trị tối ưu cho bộ trọng số w ( đại diện cho các đặc trưng trong
mô hình) chúng ta có thể sử dụng kỹ thuật Gradient Descent. Tại mỗi bước
lặp, chúng ta cập nhật w theo phương trình tương ứng với đạo hàm của hàm
mất mát L(w ¿ theo w .
2.2.2 Hồi quy logistic đa thức
- Hồi quy logistic đa thức là một mô hình hồi quy logistic được sử dụng để dự
đoán một biến phụ thuộc có nhiều hơn hai giá trị. Ví dụ như phân loại các con vật:
chó, mèo, hổ,… Trong hồi quy logistic đa thức, ý tưởng chính là thay vì sử dụng
một đường thẳng để phân tách các lớp, chúng ta sử dụng một đa thức để mô tả mối
quan hệ giữa biến độc lập và xác suất phân loại. Mô hình có thể có dạng như sau:
1
S( z )= −( β0+ β1 + …+β )
1+ e
x n
x
n

- Quy trình huấn luyện mô hình hồi quy logistic đa thức giống như quy trình của
hồi quy logistic thông thường, chúng ta sử dụng các phương pháp tối ưu hóa như
gradient descent để tối ưu hóa hàm mất mát của mô hình.
2.2.3 Ưu điểm và nhược điểm của thuật toán Logistic Regression
 Ưu điểm:
 Dễ hiểu và dễ triển khai
 Có thể xử lý dữ liệu nhiễu
 Có thể áp dụng cho nhiều bài toán phân loại
 Nhược điểm:
 Không thể xử lý dữ liệu không tuyến tính
 Có thể dẫn đến quá khớp (overfitting)
2.3. Thuật Toán Random Forest
2.3.1 Khái niệm
- Random Forest là một thuật toán học có giám sát. Thuật toán này được xây dựng
từ nhiều cây quyết định (decision trees) mà mỗi cây được chọn theo một thuật toán
dựa vào ngẫu nhiên.
2.3.2 Cây quyết định
(https://trituenhantao.io/kien-thuc/decision-tree/)
- Cây quyết định (Decision Tree) là một thuật toán học có giám sát, l à một cây
phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật
- Cấu trúc của cây quyết định là:
+ Nút gốc (Root node): nút đầu tiên của cây, được sử dụng để phân chia dữ
liệu thành các nhánh con.
+ Nhánh (Branches): Mỗi nhánh đại diện cho một giá trị của thuộc tính.
+ Nút bên trong (Internal Nodes): đại diện cho việc kiểm tra một thuộc tính
cụ thể và dẫn đến các nhánh con.
+ Nút lá (Leaf Nodes): các nút cuối cùng của cây. Chúng đại diện cho kết
quả phân loại hoặc dự đoán.
 Thuật toán ID3:
+ Ý tưởng: ID3 xây dựng cây quyết định bằng cách tìm kiếm thông
qua không gian của các thuộc tính để tạo ra các quy tắc đơn giản để
phân loại dữ liệu. Để đưa ra quyết định về việc chọn thuộc tính phân
chia, thuật tính này sử dụng Entropy và Information Gain.
+ Thuật toán:
Độ đo Entropy đo sự đồng nhất của tập dữ liệu D Entropy (D)
Với một phân phối xác suất của một biến rời rạc x có thể
nhận n giá trị khác nhau x 1, x 2 , … , x n.
pi: xác suất để một phần tử bất kỳ trong tập dữ liệu D thuộc
về lớp C i với biến rời rạc i = 1,..,m
C i: đại diện cho lớp thứ i trong bài toán phân loại. Một C i biển
diễn một nhãn hay một phân loại cụ thể
C i , D: tập các phần tử của lớp C i trong D
Information Gain: xác định các nút của cây Info ( D )
m
Entropy (D)=Info ( D )=−∑ pi log 2 ( pi )
i=1

pi=¿ C i , D∨ ¿ ¿
¿ D∨¿ ¿

 Thuật toán C4.5:


Trong thuật toán ID3, Information Gain được sử dụng làm độ đo. Điều này
lại ưu tiên các thuộc tính với số lượng lớn các giá trị. Để khắc phục nhược
điểm trên, thuật toán C4.5 sử dụng độ đo Gain Ratio:
Lượng thông tin cần để phân loại một phần tử trong D dựa trên
thuộc tính A: Info A ( D )
Chuẩn hoá information gain với trị thông tin phân tách (split
information): SplitInfo A ( D )
Splitting attribute A tương ứng với trị GainRatio(A) là trị lớn nhất.
v : số lượng nhóm sau khi phân loại.
Gain( A): sự giảm entropy khi tập dữ liệu được chia bởi thuộc tính A
v
SplitInfo A ( D )=−∑ ¿ Di∨ ¿ ¿¿
j =1 ¿ D∨¿ log 2 ¿ ¿

Gain (A )
GainRatio ( A )=
SplitInfo A ( D )

 Thuật toan CART


Giống với C4.5 nhưng khác ở chỗ thuật toán này hỗ trợ các biến mục tiêu
(hồi quy) và không tính toán các bộ quy tắc. Mỗi nút trong cây CART chỉ
có hai nhánh, hướng phân chia dữ liệu dựa trên đặc điểm và ngưỡng nào
mang lại thông tin nhiều nhất. Thuật toán CART dùng độ đo Gini Index.

m
Gini (D)=1−∑ p 2i
i =1

2.3.3 Cách thức hoạt động của thuật toán Random Forest
(https://couhpcode.wordpress.com/2018/01/24/random-forest-the-nao-la-mot-rung-ngau-
nhien/)
- Huấn luyện Ramdom Forest:
Với bộ dữ liệu của mình có n dữ liệu (sample) và mỗi dữ liệu có m thuộc
tính (feature)
Bước 1: Chọn ngẫu nhiên k thuộc tính từ tập m thuộc tính.
Bước 2: Từ tập k thuộc tính, tính toán ra node d sao cho d có sự tinh khiết
cao nhất để làm node phân loại.
Bước 3: Chia thành hai hoặc nhiều nhánh theo node tốt nhất vừa tìm được
Bước 4: Lặp lại bước 1-3 cho đến khi đạt đến k node
Bước 5: Lặp lại bước 1-4 để tạo ra n cây
- Để biểu diễn dự đoán sử dụng Random Forest đã huấn luyện:
Bước 1: Lấy các thuộc tính của dữ liệu thử nghiệm và sử dụng các Cây
quyết định đã tạo ra để dự đoán kết quả.
Bước 2: Đối với mỗi dự đoán của mỗi cây, ghi lại dự đoán và đếm số lượng
lần xuất hiện của mỗi kết quả.
Bước 3: Lấy kết quả có số lượng vote lớn nhất làm kết quả cuối cho mô
hình.
2.3.4 Ưu điểm và nhược điểm của thuật toán Random Forest
- Ưu điểm:
 Chính xác cao.
 Khả năng chống nhiễu.
 Khả năng xử lý dữ liệu lớn.
 Khả năng áp dụng cho nhiều nhiệm vụ.
- Nhược điểm của thuật toán Random Forest
 Khó giải thích
 Yêu cầu nhiều tài nguyên

You might also like