You are on page 1of 33

DỰ ĐOÁN LƯƠNG

1. Tiền xử lý dữ liệu
a. Xử lý dữ liệu thiếu
- Xử lý dữ liệu thiếu là một phần quan trọng trong làm sạch dữ liệu. Việc xử lý
dữ liệu thiếu nhanh chóng, gọn gàng giúp tiết kiệm rất nhiều thời gian cho dự án. 
- Missing data là dữ liệu bị thiếu, được hiển thị như NaN, Nat, Null, N/A, v.v.
Missing data xuất hiện do nhiều nguyên nhân như:
+ Người dùng quên điền.
+ Dữ liệu bị mất trong quá trình chuyển thủ công từ cơ sở dữ liệu cũ.
+ Lỗi của chương trình.
+ Thiếu dữ liệu do trùng hợp v.v.
- Với bài toán phân loại tiền lương mà nhóm đã chọn:
 Xét cột workclass
+ Đếm các giá trị có trong cột workclass

+ Vị trí các giá trị có trong cột workclass

+ Lấy dữ liệu thiếu trong cột workclass


+ Gán lại dữ liệu bằng cách lấy những dữ liệu khác ‘?’

 Xét cột occupation


+ Đếm các giá trị có trong cột occupation

+ Vị trí các giá trị có trong cột occupation


+ Lấy dữ liệu thiếu trong cột occupation

+ Gán lại dữ liệu bằng cách lấy những dữ liệu khác ‘?’

Tiếp theo xử lý những cột số trong tập dữ liệu


 Các cột số trong tập dữ liệu

- Xét cột age


+ Đếm các giá trị có trong cột age
+ Lấy dữ liệu thiếu trong cột age

- Xét cột fnlwgt


+ Đếm các giá trị có trong cột fnlwgt

+ Lấy dữ liệu thiếu trong cột fnlwgt


- Xét cột education-num
+ Đếm các giá trị có trong cột education-num

+ Lấy dữ liệu thiếu trong cột education-num

- Xét cột capital-gain


+ Đếm các giá trị có trong cột capital-gain

+ Lấy dữ liệu thiếu trong cột capital-gain


- Xét cột capital-loss
+ Đếm các giá trị có trong cột capital-loss

+ Lấy dữ liệu thiếu trong cột capital-loss

- Xét cột hours-per-week


+ Đếm các giá trị có trong cột hours-per-week

+ Lấy dữ liệu thiếu trong cột hours-per-week


 Có thể thấy không có dữ liệu thiếu trong những cột số đã được xét
trên.
b. Xử lý dữ liệu bị trùng
- Một phần quan trọng của Phân tích dữ liệu là phân tích các Giá trị trùng
lặp và loại bỏ chúng.
- Phương pháp trùng lặp duplicated() giúp phân tích các giá trị trùng lặp. Nó
trả về một chuỗi Boolean chỉ đúng cho các phần tử duy nhất.
- Với bài toán phân loại tiền lương mà nhóm đã chọn:
+ Xác định bộ giá trị trùng lặp

+ Dữ liệu trùng lặp là 24 dữ liệu


+ Xử lý dữ liệu trùng lặp không cần thiết
o Dữ liệu trước khi xử lý trùng lặp là 32561
o Dữ liệu sau khi xử lý trùng lặp là 32537

c. Xử lý dữ liệu ngoại lai


 Xác định và xử lí outliers của thuộc tính age theo biểu đồ Boxplot
 Xác định và xử lí outliers của thuộc tính fnlwgt theo biểu đồ Boxplot
 Xác định và xử lí outliers của thuộc tính education-num theo biểu đồ
Boxplot
 Xác định và xử lí outliers của thuộc tính capital-gain theo biểu đồ Boxplot
 Xác định và xử lí outliers của thuộc tính capital-loss theo biểu đồ Boxplot
 Xác định và xử lí outliers của thuộc tính hours-per-week theo biểu đồ
Boxplot
d. Xử lý dữ liệu bị nhiễu
 Xét cột native-country

- Mọi giá trị quốc gia của cột native-country đều có thêm một số khoảng trắng cần
xóa.
- Cần thay thế 'Holand-Netherlands' bằng 'Netherlands' đơn giản, 'Trinadad&Tobago'
sẽ được thay thế bằng 'Trinidad and Tobago', 'Outlying-US(Guam-USVI-etc)' sẽ được
thay thế bằng 'Outlying-US', 'Hong' được thay thế bằng 'Hong Kong', 'South' được
thay thế bằng 'South Korea'.
- Vẫn còn giá trị ‘?’

- Điều này có nghĩa là khoảng 1,81% dữ liệu có giá trị không xác định đối với quốc
gia bản địa. Không thể thay thế nó bằng một giá trị trung bình hoặc đoán những quốc
gia nào có thể ở đó, nhưng đó không phải là vấn đề lớn vì lượng dữ liệu bị thiếu rất
thấp.
 Xét cột education

- Không có giá trị nào bị thiếu ở đây, nhưng có vẻ như ít nhất một số giá trị của cột bắt
đầu bằng khoảng trắng, vì vậy sẽ cần xóa toàn bộ tập dữ liệu khỏi chúng.

- Có thể thấy rằng trong số tất cả các thuộc tính, có 1 thuộc tính bị thiếu giá trị chiếm
ít hơn 2%.
- Tiến hành thay đổi các giá trị của salary thành 1 và 0.

- Sau khi thay đổi thành 1 và 0 thì đặt lương cao = 1 và lương thấp = 0.

2.Phân tích thống kê mô tả:


- numericalData.describe() trả về một Data Frame mới với số hàng được hiển
thị ra các thông số như giá trị trung bình, độ lệch chuẩn, min, max và tỷ lệ phần
trăm của các cột.
+ Giá trị trung bình là mean
+ Độ lệch chuẩn là std (Mô tả sự giao động của mẫu/dữ liệu xung quanh
giá trị trung bình)

- Nhìn vào biểu đồ trên ta có thể thấy được, dữ liệu chứa thông tin về 30694 cá
nhân, 6 biến ( age, fnlwgt, education-num, capital-gain, capital-loss, hours-per-
week)

- Bảng trên cho ta thấy độ lệch chuẩn luôn luôn dương:


+ Đánh giá mức độ phân tán của dữ liệu: Nếu độ lệch chuẩn lớn, điều đó
cho thấy rằng dữ liệu có sự phân tán lớn và các giá trị nằm xa giá trị trung bình.
+ Kiểm tra tính đồng nhất của dữ liệu: Nếu độ lệch chuẩn thấp, điều đó
cho thấy rằng các giá trị trong tập dữ liệu gần nhau và đồng nhất.

- Sơ lược về các biến:


+ Age: Tuổi tác có thể ảnh hưởng đến dự đoán lương của một người.
Thông thường, khi một người già đi làm và có kinh nghiệm làm việc nhiều năm,
họ có thể có mức lương cao hơn so với một người trẻ mới vào nghề. Tuy nhiên,
nếu một người đã ở độ tuổi trung niên hoặc cao tuổi, thì dù có kinh nghiệm làm
việc nhiều năm thì mức lương của họ cũng có thể không tăng nhiều hoặc thậm
chí giảm. Phân bố tuổi trong tập dữ liệu khá rộng: từ 17-90 tuổi, giá trị trung
bình là 38.
+ hours-per-week: Số giờ làm việc một tuần có thể ảnh hưởng đến dự
đoán lương của một người. Thông thường, nếu một người làm việc nhiều giờ
một tuần thì họ có thể nhận được mức lương cao hơn so với một người làm việc
ít giờ một tuần. Nhìn vào số liệu có thể thấy sự chênh lệch bất thường
min(hours-per-week) =1 nhưng max(hours-per-week)=99 mà trung bình (hours-
per-week) = 40,9.
+ capital-gain và capital-loss: Hai yếu tố này có thể không phải là những
yếu tố chính để đưa ra dự đoán về mức lương của một người nhưng nó phản ánh
tình hình tài chính của một người, và do đó có thể ảnh hưởng đến khả năng của
họ trong việc đàm phán về mức lương hoặc vị trí công việc. Ta có: min(capital-
gain) và min(capital-loss) đều bằng 0. Độ lệch chuẩn > giá trị trung bình, điều
này cho thấy rằng capital-gain và capital-loss của các cá nhân không đồng đều,
có sự chênh lệch lớn giữa các cá nhân và có sự phân tán rộng quanh giá trị trung
bình của toàn bộ dữ liệu.
+ education-num: Cá nhân có education-num càng cao thì khả năng gần
như có công việc tốt và mức lương cao hơn cá nhân có education-num thấp. Giá
trị trung bình là 10,1
3. Phân tích đơn biến
VD1: Xem ở độ tuổi nào thì đa số kiếm được mức lương cao hơn.
Giải thích:
- Đa số mọi người sẽ bắt đầu làm việc từ năm 20 tuổi trở lên nên phần bên trái
sẽ bị “thiếu”.
- Độ tuổi kiếm được mức lương cao nhất rơi vào khoảng 40-50 tuổi.
- Từ 55-60 tuổi, là độ tuổi nghỉ hưu nên mức lương sẽ giảm dần.
*Giá trị ngoại lai: Đây là dạng phân phối có một phân phối tách biệt với các dữ
liệu còn lại. Hòn đảo nhỏ này được gọi là những giá trị ngoại lai.
VD2: Biểu đồ phân phối mật độ tuổi

VD3: Giáo dục đại học cho nam giới và phụ nữ


Giải thích:
- Đối với nam thì trình độ học vấn cao nhất là Bachelors (tốt nghiệp cử nhân từ
một trường đại học hoặc cao đẳng)
- Kế đến chiếm số lượng cao thứ 2 là some-college (đã có kinh nghiệm học tập
ở trường đại học hoặc cao đẳng, nhưng chưa hoàn thành chương trình học để
đạt được bằng cấp).
Giải thích:
- Đối với nữ, trình độ học vấn chiếm số lượng cao nhất là HS-grad (tốt nghiệp
trung học phổ thông ).
- Tiếp đến là trình độ Bachelors chiếm tỉ lệ cao thứ 2.
- Tuy nhiên, nếu so với với nam thì tỉ lệ nữ có trình độ học vấn cao (Bachelors)
vẫn còn kém xa.
VD3: Phân bố giáo dục tại Nhật Bản
Giải thích:
- Tại Nhật Bản, trình độ học vấn Bachelors chiếm tỉ lệ cao nhất.
- Đứng vị trí thứ 2 và thứ 3 lần lượt là HS-grad và Some-college.
Biểu đồ Box plot.
VD4: Biểu đồ box plot cho biến “age”.
Giải thích:

AGE
Min (Giá trị nhỏ nhất) 18
Q1 (tứ phân vị thứ nhất) 28
Q2 (trung vị) 38
Q3 (tứ phân vị thứ ba) 49
Max (Giá trị lớn nhất) 79

+ Trung vị là 38.
+ Khoảng biến thiên số phân tử (Interquartile Range - IQR)
IQR = Q3-Q1=49-28=21.
+ Khoảng cách giữa giá trị lớn nhất và nhỏ nhất là 79 – 18 = 61.
+ Nhận xét: đường trung vị chia chiếc hộp nửa phải lớn hơn (nửa trái)
nên tập dữ liệu bị lệch phải (right-skewed).
*Phân tích Phân tích các giá trị ngoại lai (outliers) và các giá trị bất thường
(anomalies) trong dữ liệu.
Điểm nằm ngoài Q3+1.5*IQR và Q3-1.5*IQR được gọi là giá trị ngoại lai.
Q3+1.5*IQR = 49 + 1.5*21 = 80.5
Q3-1.5*IQR = 49 – 1.5*21 = 17.5
VD5: Sự khác biệt về giờ làm việc trung bình của nam và nữ

Giải thích:
MALE
Min (Giá trị nhỏ nhất) 25
Q1 (tứ phân vị thứ nhất) 40
Q2 (trung vị)
Q3 (tứ phân vị thứ ba) 44
Max (Giá trị lớn nhất) 61
+ Khoảng biến thiên số phân tử (Interquartile Range - IQR)
IQR = Q3-Q1=44-40=3.
+ Khoảng cách giữa giá trị lớn nhất và nhỏ nhất là 61 – 25 = 36.
FEMALE
Min (Giá trị nhỏ nhất) 18
Q1 (tứ phân vị thứ nhất) 25
Q2 (trung vị)
Q3 (tứ phân vị thứ ba) 40
Max (Giá trị lớn nhất) 57

+ Khoảng biến thiên số phân tử (Interquartile Range - IQR)


IQR = Q3-Q1=40-25=15.
+ Khoảng cách giữa giá trị lớn nhất và nhỏ nhất là 57 – 18 = 39.
Nhận xét:
- Giờ làm việc trung bình của nam và nữ có sự chênh lệch khá lớn.
- Nam có giờ làm việc trung bình cao hơn nữ.
- Giờ làm việc trung bình thấp nhất của nam là 25 và đối với nữ là 18.
- Giờ làm việc trung bình cao nhất của nam là 61 và đối với nữ là 57.
- Độ chênh lệch giữa giá trị lớn nhất và giá trị nhỏ nhất của nữ cao hơn nam (39
>36)
- Khoảng biến thiên số phân tử (IQR) của nữ cao hơn nam (15>3)
*Phân tích Phân tích các giá trị ngoại lai (outliers) và các giá trị bất thường
(anomalies) trong dữ liệu.
Điểm nằm ngoài Q3+1.5*IQR và Q3-1.5*IQR được gọi là giá trị ngoại lai.
Male
Q3+1.5*IQR = 44 + 1.5*3 = 48.5
Q3-1.5*IQR = 44 – 1.5*3 = 39.5
Female
Q3+1.5*IQR = 40 + 1.5*15 = 62.5
Q3-1.5*IQR = 40 – 1.5*15 = 17.5
VD6: Mối tương quan giữa “hours-per-week – giờ trung bình làm việc” và
“capital-gain – thu nhập cá nhân (chơi cổ phiếu, bất động sản,..)”

Giải thích:
- Người có thu nhập cá nhân thấp (dưới 25000) thì sẽ có số giờ trung bình
làm việc cao.
*Giá trị ngoại lai:

- Người có thu nhập cá nhân càng cao thì số giờ trung bình làm việc càng
thấp.
VD7: Mối tương quan giữa “hours-per-week – giờ trung bình làm việc” và
“capital-loss – số tiền mất mát từ việc bán tài sản (nhà, cổ phiếu,..)”
Giải thích:
Người có khoảng tiền mất mát lớn càng lớn (1500-3000) thì có số giờ trung
bình làm việc càng cao.
VD8: Mối tương quan giữa “hours-per-week – giờ trung bình làm việc” và
“age – tuổi” theo nhóm “sex-giới tính”.
Giải thích:
- Giới tính nữ tập trung nhiều ở mức giờ làm việc trung bình <50.
- Giới tính nam tập trung nhiều ở mức giờ làm việc trung bình >50.
- Độ tuổi nữ làm việc nhiều rơi vào khoảng 20 đến dưới 60 tuổi.
- Độ tuổi nam làm việc nhiều rơi vào khoảng 20 đến dưới 60 tuổi (giờ
làm việc trung bình >50) và từ độ tuổi 60 đến dưới 80 (giờ làm việc trung bình
<50)
4.PHÂN TÍCH ĐA BIẾN

Tìm kiếm các mối quan hệ giữa các biến trong dữ liệu bằng cách sử dụng ma
trận tương quan, heatmap.

 Hàm corr() được sử dụng để tính toán hệ số tương quan giữa các biến.

Hệ số tương quan có giá trị từ -1 đến 1:

+ Nếu kết quả được tính ra lớn hơn 1 hoặc nhỏ hơn -1 có nghĩa là phép tính hệ số
tương quan đó đang lỗi.

+ Hệ số tương quan bằng 0 (hay gần 0) có nghĩa là hai biến số độc lập với nhau
(không có liên hệ gì với nhau).

+ Hệ số bằng -1 hay 1 có nghĩa là hai biến số có một mối quan hệ tuyệt đối.

+ Hệ số tương quan có giá trị âm: Thể hiện 2 biến số có mối quan hệ nghịch biến hoặc
tương quan âm (nghịch biến tuyệt đối khi giá trị bằng -1).

+ Hệ số tương quan có giá trị dương: Thể hiện 2 biến số có mối quan hệ đồng biến
hoặc tương quan dương (đồng biến tuyệt đối khi giá trị bằng 1).

 Hàm heatmap() được sử dụng để tạo ra biểu đồ heatmap. Biểu đồ heatmap để


trực quan hóa dữ liệu dạng ma trận bằng cách sử dụng màu sắc để chỉ ra mức độ
tương quan giữa các biến trong ma trận.
1. Sử dụng ma trận tương quan

2. Sử dụng heatmap.

 Kết luận:

- Các cặp biến có mối quan hệ tuyệt đối (hệ số tương quan bằng 1):

+ age và age

+ fnlwgt và fnlwgt
+ education-num và education-num

+ capital-gain và capital-gain

+ capital-loss và capital-loss

+ hours-per-week và hours-per-week

+ salary và salary

- Các cặp biến có mối quan hệ nghịch biến (hệ số tương quan âm):

+ age và fnlwgt

+ fnlwgt và education-num

+ fnlwgt và capital-loss

+ fnlwgt và hours-per-week

+ fnlwgt và salary

+ capital-gain và capital-loss

- Các cặp biến có mối quan hệ đồng biến (hệ số tương quan dương): các cặp biến còn
lại.

You might also like