Tải bản đầy đủ (.pdf) (33 trang)

SKKN phương pháp sử dụng CNTT để dự đoán kết quả thi TNTHPT cho học sinh tại trường THPT tây hiếu – THPT 1 5

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.98 MB, 33 trang )

ĐỀ TÀI
PHƯƠNG PHÁP SỬ DỤNG CNTT ĐỂ DỰ ĐOÁN KẾT QUẢ THI TN/THPT
CHO HỌC SINH TẠI TRƯỜNG THPT TÂY HIẾU – THPT 1/5
Phần 1: Đặt vấn đề
1. Sự cần thiết của vấn đề nghiên cứu
Nghị quyết 29-NQ/TW, Đảng CSVN lần thứ XI (2013) “Về đổi mới căn
bản, toàn diện giáo dục và đào tạo, đáp ứng yêu cầu công nghiệp hóa, hiện đại
hóa trong điều kiện kinh tế thị trường định hướng xã hội chủ nghĩa và hội nhập
quốc tế" đã xác định mục tiêu tổng quát của “Đổi mới căn bản và toàn diện giáo
dục và đào tạo" là “Tạo chuyển biến căn bản, mạnh mẽ về chất lượng, hiệu quả
giáo dục, đào tạo; đáp ứng ngày càng tốt hơn công cuộc xây dựng, bảo vệ Tổ
quốc và nhu cầu học tập của nhân dân...”. Nghị quyết 29 cũng xác định rõ một
trong các nhiệm vụ và giải pháp hàng đầu là “Đổi mới căn bản công tác quản lý
giáo dục, đào tạo, bảo đảm dân chủ, thống nhất; tăng quyền tự chủ và trách nhiệm
xã hội của các cơ sở giáo dục, đào tạo; coi trọng quản lý chất lượng”. Trong bối
cảnh đổi mới chung này, giáo dục trung học phổ thông phải được đổi mới mạnh
mẽ, không ngừng nâng cao chất lượng giáo dục - dạy học vì đây là cấp học nền
tảng để học sinh tiếp tục học nghề hay chuyên môn sâu ở cấp cao hơn.
Hàng năm, Bộ GD&ĐT cũng như Sở GD&ĐT tổ chức nhiều đợt tập huấn để
giáo viên các trường có mơi trường học tập nâng cao trình độ, trao đổi kinh
nghiệm với giáo viên các trường bạn, qua đó giúp giáo viên có điều kiện trao đổi,
học hỏi lẫn nhau, hỗ trợ nhau thường xuyên trong quá trình dạy học, tổ chức dự
giờ trực tuyến, … Dựa vào các đợt tập huấn này, chất lượng dạy học ngày càng
được cải thiện. Thông thường, nội dung các đợt tập huấn này áp dụng đại trà cho
nhiều trường học và nhiều giáo viên.
Là giáo viên THPT tôi luôn luôn tự đặt ra các câu hỏi và giải đáp các câu hỏi
đó: Làm thế nào để có một phương pháp giảng dạy học linh hoạt và hấp dẫn
người học; làm thế nào để học sinh u thích mơn học; làm thế nào để khơi dậy
1



mong muốn học tập và tìm hiểu kiến thức của người học; làm thế nào để tăng
hiệu quả trong các tiết dạy, trong các môn học; làm thế nào để dạy học gắn liền
với thực tiễn, làm thế nào để giúp học sinh biết được khả năng của mình đúng với
năng lực sắn có từ đó giúp các em chọn hướng phù hợp cho tương lai theo đúng
khả năng của mình … Đây là một vấn đề bức bách của những người làm giáo dục
và của đất nước trong giai đoạn hiện nay. Hơn thế nữa, trong xã hội hiện đại này,
để đáp ứng nhu cầu nguồn nhân lực lao động chất lượng cao cho đất nước, người
lao động không chỉ có các kiến thức chun mơn, ngoại ngữ, tin học mà cịn phải
có các kỹ năng, một số hiểu biết về xã hội cũng như kỹ năng phát hiện và giải
quyết vấn đề, kỹ năng giao tiếp, kỹ năng làm việc theo nhóm, kỹ năng sử dụng
cơng nghệ thơng tin,…
Câu hỏi đặt ra là “Làm thế nào để giúp học sinh đánh giá đúng năng lực học
tập của mình một cách khoa học gắn liền với thực tiễn, giúp học sinh yên tâm để
chọn con đường đi cho tương lai, quyết định học lên Đại học hay học nghề sau
khi kết thúc cấp học THPT ?”.
Trước thực tế đó, chúng tôi chọn đề tài “Phương pháp sử dụng CNTT để
dự đoán kết quả thi TN/THPT cho học sinh tại trường THPT Tây Hiếu –
THPT 1/5” sẽ đáp ứng được các yêu cầu và mong muốn trên, góp thêm một phần
nhỏ trong việc áp dụng kỹ thuật Khai phá dữ liệu trong giáo dục nhằm có những
định hướng tốt cho học sinh, giáo viên và lãnh đạo trường THPT nói chung và
Trường THPT Tây Hiếu, THPT 1/5 nói riêng.
Đề tài nghiên cứu áp dụng các kỹ thuật khai phá dữ liệu trên tập dữ liệu thu
thập được tại Trường THPT Tây Hiếu, thị xã Thái Hòa và trường THPT 1/5, huyện
Nghĩa Đàn. Dựa vào kết quả của quá trình phân tích dữ liệu này sẽ giúp học sinh
biết được khả năng của mình để kịp thời điều chỉnh, tự bồi dưỡng, học thêm các
mơn học cịn yếu. Ngồi ra, việc này còn giúp cho học sinh định hướng lựa chọn
các trường đại học phù hợp với khả năng của mình. Thêm vào đó, việc dự đồn kết
quả này cịn giúp cho các nhà trường có thể điều chỉnh kế hoạch dạy học phù hợp
với các đối tượng học sinh cuối cấp học.
2



Chúng tơi hi vọng đề tài phần nào đó có thể giúp học sinh, giáo viên cũng
như các trường THPT có được các định hướng phù hợp góp phần đổi mới căn
bản, toàn diện giáo dục đào tạo và nâng cao vị thế của trường.
2. Mục tiêu nghiên cứu
2.1. Mục tiêu tổng quát
Tìm hiểu tổng quan về các kỹ thuật khai phá dữ liệu áp dụng dự đoán kết
quả kỳ thi THPT quốc gia cho học sinh Trường THPT Tây Hiếu, học sinh trường
THPT 1/5.
2.2 . Mục tiêu cụ thể
Đề tài sẽ tập trung vào các mục tiêu cụ thể như sau:
- Thu thập dữ liệu về học sinh Trường THPT Tây Hiếu, thị xã Thái Hòa, tỉnh
Nghệ An và học sinh trường THPT 1/5, huyện Nghĩa Đàn, tỉnh Nghệ An;
- Tìm hiểu các nghiên cứu liên quan đến đề tài trong và ngoài nước;
- Nghiên cứu kỹ thuật khai phá dữ liệu và các thuật toán phân lớp, phân cụm;
- Phân tích kết quả dựa trên các tập dữ liệu đã thu thập sử dụng các kỹ thuật
khai phá dữ liệu;
- Nhận xét, đánh giá và kiến nghị dựa trên kết quả đã phân tích nhằm giúp
học sinh, giáo viên và nhà trường có một kết quả dự báo mang tính khoa học về
học sinh tham dự kỳ thi THPT quốc gia và từ đó có thể làm căn cứ để định hướng
cho học sinh sau khi kết thúc cấp học.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Dữ liệu thu thập từ học sinh và giáo viên Trường THPT Tây Hiếu và trường
THPT 1/5;
- Các thuật toán khai phá luật kết hợp và phân lớp;
- Các công cụ khai phá dữ liệu.
3.2. Phạm vi nghiên cứu
3



- Đề tài sử dụng thông tin dữ liệu về học sinh Trường THPT Tây Hiếu,
THPT 1/5 trong 3 năm gần nhất;
- Nghiên cứu các kỹ thuật khai phá luật phân lớp và phân cụm để thực hiện
các yêu cầu đặt ra.
4. Nội dung nghiên cứu
- Thu thập dữ liệu về học sinh Trường THPT Tây Hiếu, thị xã Thái Hòa, tỉnh
Nghệ An và trường THPT 1/5 huyện Nghĩa Đàn ;
- Nghiên cứu lý thuyết về khai phá dữ liệu, cụ thể là các giải thuật khai phá
luật phân lớp và phân cụm;
- Tìm hiểu các cơng trình nghiên cứu liên quan đến đề tài;
- Ứng dụng các kỹ thuật khai phá dữ liệu trên tập dữ liệu đã thu thập;
- Sử dụng ngơn ngữ lập trình Python và một số công cụ khai phá dữ liệu để
tiến hành thực nghiệm;
- Nhận xét, đánh giá và phân tích những kết quả thu được từ tập dữ liệu.
Phần II. Nội dung nghiên cứu:
1. Khai phá dữ liệu
Quá trình khai phá dữ liệu kết xuất ra các tri thức tiềm ẩn trong dữ liệu giúp
cho việc phân tích, dự báo áp dụng cho nhiều ngành, nhiều lĩnh vực như kinh
doanh hay giáo dục. Chương này trình bày các khái niệm cơ bản về khai phá dữ
liệu trong giáo dục; nhu cầu khai phá dữ liệu trong giáo dục và đào tạo cũng như
một số lĩnh vực khác; các giai đoạn chính trong khai phá dữ liệu và một số bài
tốn điển hình trong khai phá dữ liệu như kỹ thuật phân lớp (classification) và
phân cụm (clustering). Ngồi ra, chương này cịn trình bày thực trạng bài toán
Dự đoán kết quả kỳ thi THPT quốc gia bằng kỹ thuật Khai phá dữ liệu, các
nghiên cứu liên quan đến đề tài trong và ngoài nước cũng như các bước thu thập
dữ liệu về học sinh phục vụ cho việc phân tích dựa vào các kỹ thuật khai phá dữ
liệu đã đề cập.
4



1.1. Khai phá dữ liệu trong giáo dục
Ngày nay, công nghệ thông tin phát triển mạnh mẽ và việc ứng dụng công
nghệ thông tin trong nhiều lĩnh vực đời sống, kinh tế xã hội đã làm lượng dữ liệu
được thu thập và lưu trữ ở các hệ thống thông tin tăng lên một cách nhanh chóng.
Trước tình hình đó, việc khai thác và chọn lọc những dữ liệu có ích từ lượng
dữ liệu khổng lồ đó là việc cần thiết, đóng vai trị quyết định thành cơng trong mọi
hoạt động. Các dữ liệu chắt lọc đó sẽ giúp cải thiện hoạt động trong hiện tại hay
đặt ra những dự đoán giúp việc đưa ra quyết định trong tương lai sẽ chính xác hơn.
Với những lý do đó, nhu cầu phát triển các kỹ thuật thu thập, lưu trữ, phân tích dữ
liệu, ... được đặt ra và nó địi hỏi phải được xử lý thơng minh và hiệu quả hơn. Từ
đó đã làm phát triển kỹ thuật mới và với kỹ thuật này cho phép ta khai thác được
tri thức hữu dụng từ cơ sỡ dữ liệu lớn được gọi là các kỹ thuật khai phá dữ liệu
(Data Mining - DM).
Các kỹ thuật khai phá dữ liệu được ứng dụng trong nhiều lĩnh vực như: kinh
tế, tài chính, y tế, giáo dục... Trong việc ứng dụng khai phá dữ liệu vào nhiều lĩnh
vực khác nhau của đời sống, khai phá dữ liệu trong lĩnh vực giáo dục đang dần có
được sự quan tâm đúng mức. Chúng ta cần phải nhìn nhận rằng giáo dục là nhân tố
quyết định sự phát triển của đất nước về nhiều mặt. Mục tiêu phát triển xã hội một
cách bền vững đang đặt ra cho giáo dục những yêu cầu mới.
Giáo dục đào tạo có nhiệm vụ định hướng và hoạch định chính sách cho đối
tượng chính của giáo dục là thế hệ trẻ, là lực lượng kế thừa của việc xây dựng, bảo
vệ và phát triển đất nước trong tương lai một cách đúng đắn và kịp thời.
Chính vì vậy, việc định hướng và xây dựng chính sách trong giáo dục đào tạo
cần phải được hỗ trợ bởi các công cụ khoa học để tránh những sai lầm đáng tiếc.
Trong số những cơng cụ đó, khai phá dữ liệu là một cơng cụ hữu ích và có tính
khoa học cao, giúp các nhà quản lý giáo dục có được những tri thức quý giá phục
vụ cho công tác quản lý và học sinh, sinh viên cũng có thể sử dụng những kết quả
hữu ích từ quá trình chắt lọc dữ liệu trong khai phá dữ liệu.

5


Ngày nay, việc tư vấn học tập cho học sinh, chủ yếu liên quan đến lựa chọn lộ
trình học phù hợp nhằm đạt được kết quả học tập cao nhất cho mỗi học sinh được
đặc biệt quan tâm. Đó cũng là khó khăn chung khơng chỉ của học sinh, mà còn của
nhà trường, giáo viên tham gia tư vấn, từ các tổ chức quản lý trong trường cho đến
các cán bộ được phân công chuyên trách như giáo viên chủ nhiệm. Các giáo viên
chuyên trách công tác tuyển sinh không thể tiếp cận toàn bộ dữ liệu về điểm của
học sinh. Ngay cả với các cấp quản lý, bằng cảm tính hoặc suy luận thủ cơng từ
khối dữ liệu khổng lồ để đưa ra những tư vấn tốt trong việc chọn lộ trình học, chọn
mơn thi, chọn ngành học, chọn trường học cho mỗi học viên không phải là khả thi
1.2. Một số kỹ thuật trong khai phá dữ liệu
a) Khai phá luật kết hợp (Association Rules)
Bài toán kinh điển dẫn đến việc khai phá luật kết hợp:
Bài toán giỏ mua hàng trong siêu thị.
Giả định chúng ta có rất nhiều mặt hàng, ví dụ như “bánh mì”, “sữa”,…(coi
là tính chất hoặc trường). Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của
họ một số mặt hàng nào đó, và chúng ta muốn tìm hiểu các khách hàng thường
mua các mặt hàng nào đồng thời, chúng ta không cần biết khách hàng cụ thể là ai.
Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị,
hay đơn giản là để bố trí sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó
theo một gói hàng, giúp cho khắc đỡ mất cơng tìm kiếm.
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện những
sự kiện xuất hiện thường xuyên một các đồng thời. Nhiệm vụ chính của khai phá
luật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao
dịch lớn của một cơ sở dữ liệu cho trước.
*/ Định nghĩa về luật kết hợp
Định nghĩa: Cho I={I1, I2, .., Im} là tập hợp của m tính chất riêng biệt. Giả sử D là
CSDL, với các bản ghi chứa một tập con T các tính chất (có thể coi như ), các bản ghi đều


6


có chỉ số riêng. Một luật kết hợp là một mệnh đề kéo theo có dạng XY, trong đó X, Y  I, thỏa
mãn điều kiện XY=. Các tập hợp X và Y được gọi là các tập hợp tính chất (itemset). Tập X
gọi là nguyên nhân, tập Y gọi là hệ quả.
Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy
(confidence), được định nghĩa như phần dưới đây.
*/ Định nghĩa: Độ hỗ trợ
Định nghĩa 1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi
T D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có
chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự sinh ra khi cài thuật toán).
|{T  D:Y  X}|
S0 =

(3.1)
|D|

Ta có: 0 supp(X) 1 với mọi tập hợp X.
Định nghĩa 2: Độ hỗ trợ của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi chứa tập
hợp X Y, so với tổng số các bản ghi trong D - Ký hiệu supp(XY).
|{T  D:T  X Y}|
Supp(XY) =

(3.2)
|D|

Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số bản ghi
chứa X Y. Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật.

*/ Định nghĩa: Độ tin cậy
Định nghĩa 1: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi trong D
chứa X Y với số bản ghi trong D có chứa tập hợp X. Ký hiệu độ tin cậy của một luật là conf(r).
Ta có 0 conf(r) 1
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
Supp(XY)=P(XY)
Conf (XY) = P(Y/X)=supp(XY)/supp(X)

(3.3)
(3.4)

7


Định nghĩa 2: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi của tập
hợp chứa X  Y, so với tổng số các bản ghi chứa X.

Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự
khác biệt rất nhiều so với những thơng tin thu được từ các câu lệnh truy vấn dữ liệu
thông thường như SQL. Đó là những tri thức, những mối liên hệ chưa biết trước và
mang tính dự báo đang tiềm ẩn trong dữ liệu. Những tri thức này không đơn giản
là kết quả của phép nhóm, tính tổng hay sắp xếp mà là của một q trình tính tốn
khá phức tạp.
*/ Định nghĩa: Tập hợp thường xuyên
Định nghĩa 1: Tập hợp X được gọi là tập hợp thường xuyên (Frenquent itemset) nếu có
supp(X) minsup, với minsup là ngưỡng độ hỗ trợ cho trước. Kí hiệu các tập này là FI

Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá
trị dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập
luật kết hợp tìm được. Khai phá luật kết hợp được thực hiện qua 2 bước:

- Bước 1: tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác
định qua tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu.
- Bước 2: sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải
thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như
marketing có chủ đích, phân tích quyết định, quản lí kinh doanh,..
Ví dụ: phân tích thói quen mua sắm của khách hàng, có một luật kết hợp
được phát biểu như sau: “60% khách hàng vào nhà sách nếu mua vở viết thì có tới
80% trong số đó sẽ mua thêm bút viết” hoặc “60% khách hàng vào siêu thị mua
mặt hàng giày thì có tới 80% trong số đó sẽ mua mặt hàng Tất hoặc Xi đánh giày”


8


Bài toán luật kết hợp giúp các nhà kinh doanh hiểu rõ hơn về xu thế bán
hàng, tâm lý khách hàng khi mua sắm, từ đó đưa ra các chiến lược bố trí các mặt
hàng một cách hợp lý nhất,...
b) Phân lớp (Classification)
Phân lớp dữ liệu là một trong những hướng nghiên cứu chính của khai phá dữ
liệu. Kỹ thuật này đã, đang và sẽ có rất nhiều ứng dụng trong các lĩnh vực xã hội:
Kinh doanh, Thương mại, Ngân hàng, Y tế, Giáo dục…Trong các mơ hình phân lớp
đã được đề xuất, cây quyết định được coi là công cụ mạnh, phổ biến và đặc biệt
thích hợp với các ứng dụng khai phá dữ liệu. Thuật toán phân lớp là nhân tố trung
tâm trong một mơ hình phân lớp.
Đây là một trong những bài toán phổ biến nhất của khai phá dữ liệu với mục
tiêu tìm ra mối quan hệ giữa thuộc tính dự báo và thuộc tính phân lớp. Chính vì
điều đó, q trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các
mẫu mới. Phân lớp dữ liệu có vai trị quan trọng trong tiến trình dự báo các
khuynh hướng, quy luật phát triển.

c. Phân cụm (Clustering)
Mục tiêu chính của phương pháp này là nhóm các đối tượng tương tự nhau
trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương
đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Phân cụm
dữ liệu là một ví dụ của phương pháp học không giám sát. Không giống như phân
loại dữ liệu, phân cụm dữ liệu khơng địi hỏi phải định nghĩa trước các mẫu dữ
liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát
(learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning
by example). Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân
đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu,…
d. Phương pháp dự báo:
Bài toán dự báo dùng để dựa vào thông tin liên quan đến người học (điểm đầu
vào, điểm định kỳ, điểm khảo sá...), hay điểm các môn thi cuối năm,… để tiến
9


hành đưa ra dự báo về những lựa chọn mà có khả năng cao sẽ xảy ra tiếp theo. VD:
một học sinh có thể đăng kí vào những ngành học nào, thi mơn học nào sẽ có kết
quả tốt nhất để cho học sinh đó có lợi thế nhất, học đúng với năng lực đem đến
hiệu quả giáo dục cao nhất.
e. Phương pháp khai phá chỗi:
Đây là phương pháp mang tính thời sự và được nhiều người quan tâm. Khai
phá chuỗi (sequential/temporal patterns): Phương pháp khai phá chuỗi tương tự
như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Có nhiều
hình thức khác nhau để biểu diễn dữ liệu và khai thác, xử lí dữ liệu. trong việc tiếp
cận này được ứng dụng nhiều trong các lĩnh vực tài chính và thị trường chứng
khốn, dự báo thời tiết, dự báo thiên tai động đất… vì nó có tính dự báo rất cao…
1.3. Bài tốn dự đoán kết quả kỳ thi TN/THPT quốc gia
Bài toán con được đặt ra như sau: Vào cuối khóa học THPT học sinh đã có
nhiều kênh thơng tin như: Họ và tên, ngày sinh, giới tính, kỹ luật, khen thưởng,

dân tộc, tôn giáo, nghề nghiệp bố, nghề nghiệp mẹ, Điểm tuyển sinh đầu vào lớp
10, đánh giá xếp loại học lực, hạnh kiểm của các năm học lớp 10, lớp 11, lớp 12,
điểm tổng kết theo từng môn dự thi TN/THPT Quốc gia của 3 năm học lớp 10,
11 và lớp 12… Tất cả các thông tin trên được nhà trường lưu trữ trên phần mềm
quản lý học sinh THPT: VNEDU.VN và được in ấn, lưu trữ hồ tại phòng văn thư
của nhà trường.
Nhiệm vụ đặt ra là chúng ta dựa trên các kênh thông tin đã nêu trên của từng
học sinh có thể đưa ra các dự báo về điểm của các môn thi TN/THPT quốc gia một
cách khoa học nhờ ứng dụng của CNTT nói chung và bộ mơn Khai phá dữ liệu nói
riêng, Từ đó giúp học sinh đánh giá đúng khả năng, năng lực của bản thân để có
lựa chọn phù hợp cho tương lai nên chọn trường Đại học – Cao đẳng nào hay học
nghề.
1.4. Thu thập và tiền xử lý dữ liệu
1.4.1. Tập hợp dữ liệu
10


Với học sinh THPT hiện nay học theo chương trình giáo dục phổ thơng hiện
hành, do đó có nhiều cách để đánh giá kết quả và năng lực học sinh dựa vào cơng
việc sử dụng các dữ liệu có sẵn từ nhiều kênh thông tin.
Cụ thể như là:
- Kết quả tuyển sinh thi đầu vào từ lớp 9 lên lớp 10 (gọi là điểm tuyển sinh
10): Theo quy định học sinh khối 10 được tuyển sinh vào với tổng điểm theo 3
mơn thi: Tốn, Văn và tổ hợp mơn thi (có thể là Anh + Sinh + Sử, hoặc Anh +
Sinh + Địa,...) được lấy từ cao xuống thấp cho đến đủ chỉ tiêu xét tuyển (điểm
chuẩn);
- Kết quả đánh giá xếp loại học lực, hạnh kiểm và điểm học tập theo từng bộ
môn của mỗi học sinh theo từng năm học khối 10, khối 11, khối 12;
Với các kết quả trên của học sinh được cán bộ quản lí lưu trữ ở dạng văn bản
hoặc các tệp có đi .doc, docx, .xls, .xlsx... với tập hợp dữ liệu trên ta tiến hành

thu thập và tổng hợp lại theo các khối lớp và từ đó sử dụng để khai thác, bằng cách
chuyển đổi tất cả các tệp dữ liệu về một dạng chuẩn đó là .xls, .xlsx. Dạng tệp này
có thể đáp ứng chạy trên ứng dụng mà chương trình yêu cầu.

11


Hình 1.2: Dữ liệu được tập hợp vào 1file excel dùng để huấn luyện.

Hình 1.3: Dữ liệu được tập hợp vào 1file excel dùng để huấn luyện

Hình 1.4: Dữ liệu được tập hợp vào 1file excel dùng để dự báo.

12


Hình 1.5: Dữ liệu được tập hợp vào 1file excel dùng để dự báo.
1.4.2. Tiền xử lí dữ liệu
Từ tập dữ liệu trên nó đang ở nhiều dạng vì ta phải thu thập từ nhiều nguồn
khác nhau ví dụ : Nếu ta thu thấp được dữ liệu ở tệp có là dạng .doc, .docx thì
chuyển về tệp .xls, .xlsx bằng phần mềm Convert, hoặc dạng văn bản trên giấy thì
ta nhập trực tiếp vào tệp excel. Như vậy có thể coi là dữ liệu có 2 loại cơ bản là tệp
*.xls hoặc *.xlsx được lấy từ phần mềm Vnedu.vn đây là phần mềm quản lý học
sinh trên địa bàn tỉnh Nghệ An rất phổ biến mà các trường học đang dùng và có địa
chỉ website là: . và dữ liệu từ các tệp do phần mềm ứng dụng
MSWord tạo ta hoặc ta nhập trực tiếp. Các nhà trường thường cập nhật vào phần
mềm này sau mỗi kỳ thi khảo sát chất lượng hoặc sau mỗi kỳ học, mỗi năm học
chúng ta đều có thể trích xuất ra để sử dụng.
Như vậy dữ liệu thu thập ban đầu của chúng ta ở đây là các tệp tin có phần
mở rộng là *.xls, hoặc *.xlsx, chứa kết quả điểm tổng kết cuối năm học với đầy đủ

tất cả các cột chứa thông tin các môn học của học sinh các lớp của các khối
13


10,11,12 bao gồm cả thông tin hạnh kiểm, học lực, ...

Hình 1.6 Quy ước chuẩn hóa dữ liệu
Với bài tốn của ta ở đây chỉ sử dụng:
- Điểm tuyển sinh vào 10 của học sinh;
- Kết quả xếp loại học lực, hạnh kiểm, điểm của học sinh với các môn học có
liên quan đến các mơn thi THPT quốc gia do Bộ giáo dục quy định: Toán, Ngữ
văn, Ngoại ngư, Tổ hợp tự nhiên (Hóa học, sinh học, vật lý), Tổ hợp xã hội (Lịch
sử, Địa lý, Giáo dục công dân) của mỗi năm học.
Từ dữ liệu trên ta sẽ đưa ra kết quả dự báo về điểm thi các môn trong kỳ thi
THPT quốc gia 2020 cho mỗi học sinh. Qua đó Giáo viên tư vấn và học sinh lựa
chọn các môn sẽ thi THPT quốc gia năm 2020 và lựa chọn các trường Đại học –
Cao đẳng theo khoảng điểm tương ứng trên.

14


Hình 1.7: Dữ liệu được tập hợp vào 1file excel dùng để huấn luyện tiền xử lý

15


Hình 1.8: Dữ liệu được tập hợp vào 1file excel dùng để huấn luyện tiền xử lý

Hình 1.9: Dữ liệu được tập hợp vào 1file excel dùng để dự báo tiền xử lý


16


Hình 1.10: Dữ liệu được tập hợp vào 1file excel dùng để dự báo tiền xử lý

2. Dự đoán kết quả kỳ thi TN/THPT quốc gia bằng kỹ thuật Khai
phá dữ liệu
Mục đích chính của việc khai phá dữ liệu là các tri thức được kết xuất sẽ
được sử dụng để dự báo kết quả học tập của học sinh qua đó giúp giáo viên và
nhà quản lý có cái nhìn tổng quan hơn về chất lượng dạy học của nhà trường và
giúp học sinh có 1 kênh thơng tin đáng tin cậy trong kỳ thi THPT Quốc gia 2020.
Ngày nay, các bài toán áp dụng kỹ thuật khai phá dữ liệu nhận được rất
nhiều sự quan tâm của các nhà khoa học. Chương này trình bày các bước áp dụng
các kỹ thuật khai phá dữ liệu cho bài toán dự đoán kết quả kỳ thi THPT quốc gia.
2.1. Các bước thực hiện
Thu thập dữ
liệu từ nhiều
nguồn thơng
tin

Tiền xử


Trích
chọn
các đặc
trưng về
dữ liệu

Xử lý,

dự báo

Kết
luận

Lưu
trữ

17


- Bước 1: Từ nhu cầu thực tế trong các nhà trường THPT hiện nay đặt ra cho
ta bài toán và ta định nghĩa bài toán theo thực tế đặt ra và tìm hiểu trong các lĩnh
vực ứng dụng tại trường THPT từ đó hình thành bài tốn (Input và Output), xác
định trọng tâm các bước thực hiện để từ Input ta nhận đươc Output như mong
muốn. Bước này sẽ quyết định cho việc lựa chọn các thuật toán và cho phép chọn
các phương pháp khai phá dữ liệu thích hợp với các thuật tốn đó với mục đích
ứng dụng và đúng bản chất của dữ liệu đã đặt ra.
- Bước thứ hai: Thu thập dữ liệu và tiền xử lý dữ liệu đã thu thập được theo
yêu cầu đặt ra của bài toán. Bước này là ta thu thập và xử lý đơn giản, sửa đổi,
biến đổi dữ liệu ban đầu và rút gọn dữ liệu đã thu thập nếu cần thiết để giảm tính
dư thừa dữ liệu, ở bước này ta cần dành nhiều thời gian nhất trong tồn bộ qui
trình. Do dữ liệu được tổng hợp từ nhiều nguồn khác nhau, không đồng nhất, …
nên dễ gây ra các nhầm lẫn, không nhất quán. Sau bước này, dữ liệu sẽ nhất quán,
đầy đủ, được rút gọn và rời rạc hoá, cụ thể gồm các bước sau:
+ Làm sạch dữ liệu (Data cleaning): loại bỏ các nhiễu và các dữ liệu không
nhất quán. Phần lớn các cơ sở dữ liệu đều ít nhiều mang trùng lặp và tính không
nhất quán. Do vậy, khi ta thực hiện khai phá dữ liệu trên các cơ sở dữ liệu đó
thường khơng đảm bảo tính đúng đắn. Do đó, trước khi bắt đầu khai phá dữ liệu,
chúng ta phải tiến hành loại bỏ các dữ liệu trùng lặp, khơng cần thiết, nói chung

nên xóa bỏ các dữ liệu khơng đúng đắn.
+ Tích hợp dữ liệu (Data integration): Chúng ta cần tổng hợp, Kết hợp dữ
liệu từ nhiều nguồn dữ liệu khác nhau.
+ Lựa chọn dữ liệu (Data selection): Đây là giai đoạn quan trọng ta cần chọn
lọc, trích rút các dữ liệu cần thiết của ài toán và phù hợp cho quá trình phân tích từ
cơ sở dữ liệu.
+ Chuyển dạng dữ liệu (Data transformation): Đây là bước chuẩn hóa địi hỏi
phải lựa chọn phương pháp thích hợp và làm mịn dữ liệu để đưa dữ liệu về dạng
thuận lợi nhất cho quá trình khai phá dữ liệu từ tập dữ liệu của bài toán.
18


- Bước thứ ba: Khai phá dữ liệu (Data mining).
Bước này là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc/và
các mơ hình ẩn dưới các dữ liệu. Ở bước này rất là quan trọng, nó bao gồm các
cơng đoạn như:
+ Xác định chức năng, nhiệm vụ và mục đích của khai phá dữ liệu?
+ Dùng phương pháp khai phá nào?
Thông thường với các bài toán khai phá dữ liệu bao gồm:
+ Các bài toán mang tính mơ tả - đưa ra tính chất chung nhất của dữ liệu;
+ Các bài toán về dự báo và bao gồm cả việc phát hiện các suy diễn dựa trên
tập dữ liệu đã có.
Ở bước này tuỳ theo bài toán mà ta xác định được và lựa chọn các phương
pháp khai phá dữ liệu cho phù hợp.
- Bước thứ tư: Đánh giá mẫu (Pattern evaluation): Dựa trên tập dữ liệu, các
độ đo đặc trưng, xác định các mẫu thực sự đáng quan tâm để biểu diễn.
- Bước thứ năm: Biểu diễn các kết quả của quá trình, phát hiện và đưa ra các
dự báo và có thể ứng dụng trong các cấp học khác tương đồng.
Do các kết quả trên có thể là các dự đốn hoặc các mơ tả mang tính khoa học
nên chúng có thể làm căn cứ để tư vấn, cảnh báo, nhắc nhở các em học sinh và

cũng giúp các nhà quản lý giáo dục có cái nhìn khách quan từ đó có thể điều chỉnh
kế hoạch dạy học phù hợp với đối tượng học sinh giúp học sinh đạt kết quả cao
trong kỳ thi THPT quốc gia sắp tới.
2.2. Áp dụng kỹ thuật phân lớp
Kĩ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu là một trong những vấn đề
nguyên cứu mở rộng hiện nay; tập trung chủ yếu vào thống kê, máy học và mạng
nơtrôn .
Kĩ thuật phân lớp được đánh giá là một kĩ thuật khai phá dữ liệu được sử
dụng rộng rãi nhất với nhiều mở rộng. Sự kết hợp của kỹ thuật phân lớp và cơ sở
19


dữ liệu là một lĩnh vực hứa hẹn bởi vì đáp ứng được một vấn đề hết sức quan trọng
của ứng dụng cơ sở dữ liệu đó là tính uyển chuyển cao. Với những ý nghĩa và vai
trò hết sức quan trọng của kĩ thuật phân lớp đã nêu ở trên, thuật phân lớp trong thời
gian gẩn đây từ những kết quả được đăng tải trên một số báo cáo khoa học tại
những hội nghị khoa học quốc tế về Khai Phá Dữ Liệu cũng như việc tìm hiểu và
sử dụng kĩ thuật phân lớp.
Giới thiệu về phân lớp: Phân lớp dữ liệu là kĩ thuật dựa trên tập huấn luyện và
những giá trị hay hay là nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó
trong việc phân lớp dữ liệu mới. Phân lớp cũng là tiên đoán loại lớp của nhãn. Bên
cạnh kĩ thuật phân lớp có một hình thức tương tự là kĩ thuật tiên đoán, kĩ thuật.
Kĩ thuật phân lớp được tiến hành bao gồm 2 bước : Xây dựng mơ hình và sử
dụng mơ hình.
- Xây dựng mơ hình: Là mơ tả một tập những lớp được định nghĩa trước trong
đó: mỗi bộ hoặc mẫu được gán thuộc về một lớp được định nghĩa trước như là
được xát định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sử dụng trong
việc sử dụng mơ hình được gọi là tập huấn luyện. Mơ hình được biểu diễn là
những luật phân lớp, cây quyết định và những cơng thức tốn học.
- Sử dụng mơ hình: Việc sử dụng mơ hình phục vụ cho mục đích phân lớp dữ

liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến. Trước khi
sử dụng mơ hình người ta thường phải đánh giá tính chính xác của mơ hình trong
đó : nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớp của mơ
hình, độ chính xác là phần trăm của tập hợp mẫu kiểm tra mà phân loại đúng bởi
mơ hình, tập kiểm tra là độc lập với tập huấn luyện. Phân lớp là một hình thức học
được giám sát tức là: tập dữ liệu huấn luyện ( quan sát, thẩm định ) đi đôi với
những nhãn chỉ định lớp quan sát, những dữ liệu mới được phân lớp dựa trên tập
huấn luyện. Ngược lại với hình thức học được giám sát là hình thức học khơng
được giám sát lúc đó nhãn lớp của tập dữ liệu huấn luyện là không được biết đến .

20


Đây là một trong những bài toán phổ biến nhất của khai phá dữ liệu với mục
tiêu tìm ra mối quan hệ giữa thuộc tính dự báo và thuộc tính phân lớp. Chính vì
điều đó, q trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các
mẫu mới. Phân lớp dữ liệu có vai trị quan trọng trong tiến trình dự báo các
khuynh hướng, quy luật phát triển.
Cho tập dữ liệu chứa các đối tượng bao gồm các thuộc tính mơ tả cùng với
một thuộc tính lớp của đối tượng đó, thuật tốn cây quyết định sẽ tạo ra các luật để
dự đoán lớp của các đối tượng chưa biết.
Dữ liệu thu thập được thông qua thuật tốn phân lớp sẽ tạo ra được mơ hình,
từ mơ hình này sẽ dùng bộ dữ liệu để kiểm tra độ chính xác và dùng để dự đốn
các bộ dữ liệu chưa được gán nhãn.
2.3. Áp dụng kỹ thuật phân cụm
Phân cụm dữ liệu là kỹ thuật rất quan trọng trong khai phá dữ liệu. Có rất
nhiều định nghĩa khác nhau về kỹ thuật này, về bản chất có thể hiểu phân cụm là
các quy trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho
các đối tượng trong cùng một cụm tương tự nhau và các đối tượng khác cụm thì
khơng tương tự nhau. Mục đích của phân cụm là tìm ra bản chất bên trong các

nhóm của dữ liệu. Tuy nhiên, khơng có tiêu chí nào được xem là tốt nhất để đánh
giá hiệu quả của phân tích phân cụm, điều này phụ thuộc vào mục đích của phân
cụm như: giảm dữ liệu (data reduction), “cụm tự nhiên” (“natural clusters”), cụm
“có ích” (“useful” clusters), phát hiện phần tử ngoại lai (outlier detection).
Mục tiêu chính của phương pháp này là nhóm các đối tượng tương tự nhau
trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương
đồng còn các đối tượng thuộc các cụm khác nhau sẽ khơng tương đồng. Phân cụm
dữ liệu là một ví dụ của phương pháp học không giám sát. Không giống như phân
loại dữ liệu, phân cụm dữ liệu khơng địi hỏi phải định nghĩa trước các mẫu dữ
liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát
(learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning
21


by example). Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân
đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu,…

3. Thực nghiệm
Đây là kết quả của việc khai phá dữ liệu dựa vào các kỹ thuật phân lớp, phân
cụm trên tập dữ liệu về 1198 học sinh ở trường THPT Tây Hiếu và THPT 1/5,
trong đó 1198 học sinh trong những năm học 2017 - 2018, 2018 - 2019, 2019 –
2020 dùng để huấn luyện và 599 học sinh của năm học 2020-2021 dùng để dự
đốn, dự báo.
3.1. Mơi trường thực nghiệm
Hiện nay có nhiều cơng cụ lập trình như: C, C++, Pascal, C# hay Python…
Trong số đó, Python là ngơn ngữ lập trình được sử dụng phổ biến vì nhiều tính
năng đa dạng của ngôn ngữ này. Đây cũng là ngôn ngữ được dùng nhiều trong
ngành khoa học về dữ liệu (Data science) cũng như là ngôn ngữ phổ biến để xây
dựng các chương trình liên quan đến học máy, nhận dạng mẫu ….
Python ra đời từ năm 1989, nhưng trong khoảng trên 5 năm trở lại đây,

Python mới được nhiều người sử dụng và hiện nay cộng đồng người sử dụng ngôn
ngữ này rất đông, nếu so sánh từ bảng xếp hạng các ngơn ngữ lập trình tháng 6
năm 2018 thì Python đứng thứ 4 trong 10 ngôn ngữ phổ biến nhất
[].
Ngôn ngữ lập trình Python có một số điểm nổi bật như sau:
- Người lập trình dễ học: Ngơn ngữ lập trình Python khơng có nhiều từ khóa,
cú pháp đơn giản, rõ ràng nên rất thân thiện với người mới học.
- Cấu trúc: Ngữ lập trình Python dễ đọc, dễ hiểu và có thể suy đốn được ý
nghĩa của từng dịng lệnh trong mã lệnh.
- Chương trình viết bằng ngơn ngữ lập trình Python có thể được chạy trên
nhiều hệ điều hành khác nhau bao gồm Windows, macOS và Linux.

22


- Tính mở cao: Một ưu điểm của Python so với ngơn ngữ lập trình Matlab là
người dùng có thể tự do sử dụng và phân phối Python. Đây là ngơn ngữ lập trình
có một cộng đồng rộng lớn, khơng ngừng cải thiện nó mỗi lần cập nhật.
- Dễ dàng chỉnh sửa, nâng cấp và nhúng: người lập trình có thể dễ dàng nhúng
các đoạn chương trình viết bằng các ngơn ngữ khác nhưg C, C++ vào một chương
trình của Python. Điều này sẽ cung cấp cho ứng dụng đang thực hiện có những tính
năng tốt hơn mà những ngơn ngữ lập trình khác khó có thể làm được.
- Ngơn ngữ thông dịch thuận lợi, cấp cao: Không giống như các ngơn ngữ lập
trình C/C++, khi lập trình với Python, người lập trình khơng phải lo lắng những
nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp dữ liệu.
- Có rất nhiều bộ thư viện giúp tiết kiệm được nhiều thời gian về lập trình:
Python cung cấp số lượng lớn thư viện giúp cho cơng việc lập trình trở nên dễ
dàng hơn và rút ngắn thời gian lập trình.
- Giúp giai quyết những vấn đề phức tạp, hướng đối tượng: Tương tự như
ngơn ngữ lập trình C-Sharp, mọi thứ trong Python đều là hướng đối tượng. Lập

trình hướng đối tượng trong Python giúp giải quyết những vấn đề phức tạp một
cách trực quan. Ta có thể phân chia những vấn đề phức tạp thành những tập nhỏ
hơn bằng cách tạo ra các đối tượng.

Để cài đặt Python, ta cần tải bộ cài tại địa chỉ:
/>Hình 3.1. Biểu tượng ngơn ngữ lập trình Python và PyCharm
Có nhiều mơi trường tích hợp để phát triển các ứng dụng Python như
Sublime, Eclipse IDE, NetBeans, Microsoft Visual Studio, PyCharm,… Trong số
đó JetBrains PyCharm là một trong những môi trường phát triển Python được
nhiều người dùng. Pycharm dễ dàng phát hiện và sửa lỗi mã, chỉnh sửa và xử lý sự
23


cố. Bộ biên tập mã thông minh của PyCharm cung cấp hỗ trợ cho Python,
Javascript, CSS và nhiều thứ khác.
3.2. Các bước thực hiện
Bước 1: Cài đặt Python (cho hệ điều hành windows):
- Tải Python cho hệ thống windows : Trình thơng dịch Windows Python có
thể được cài đặt miễn phí từ website của Python

Hình 3.2 Tải và cài đặt Python cho Hệ điều hành
- Cài trình thơng dịch cho Python: Ta có thể hợp nhất Python vào ứng dụng
thơng dịch dịng lệnh có sẵn trong Windows (Command Prompt) bằng cách bật lựa
chọn cuối cùng trong danh sách mô-đun sẵn có

Hình 3.3 Tải và cài đặt Python cho Hệ điều hành
- Cài đặt chương trình soạn thảo văn bản
24



Dù có thể viết chương trình Python với Notepad hay TextEdit, ta sẽ dễ đọc và
viết mã hơn nhiều khi sử dụng một chương trình soạn thảo văn bản chuyên biệt. Có
rất nhiều chương trình soạn thảo miễn phí, chẳng hạn Notepad++ (Windows),
TextWrangler (Mac) hay Jedit (cho bất kỳ hệ điều hành nào).

Hình 3.4 Tải và cài đặt Python cho Hệ điều hành
- Kiểm tra cài đặt của bạn. Mở Command Prompt (Windows) hoặc Terminal
(Trình giả lập - Mac/Linux) và đánh python. Python sẽ tải và hiển thị số phiên
bản. Bạn sẽ được chuyển đến ứng dụng thơng dịch dịng lệnh của trình phiên dịch
Python, được thể hiện dưới dạng: >>>.

Hình 3.5 Tải và cài đặt Python cho Hệ điều hành
25


×