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

Phân tích và dự báo kết quả bầu cử từ bộ dữ liệu hồ sơ bỏ phiếu của quốc hội mỹ dự đoán nhóm ứng viên thuộc đảng cộng hòa hay đảng dân chủ

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 (3.94 MB, 33 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KINH TẾ TP.HCM

ĐỒ ÁN KẾT THÚC HỌC PHẦN

<b>TÊN ĐỀ TÀI: PHÂN TÍCH VÀ DỰ BÁO KẾT QUẢ BẦU CỬ TỪ BỘ DỮ LIỆU HỒ </b>

<b>SƠ BỎ PHIẾU CỦA QUỐC HỘI MỸ. DỰ ĐỐN NHĨM ỨNG VIÊN THUỘC ĐẢNG </b>

<b>CỘNG HÒA HAY ĐẢNG DÂN CHỦ </b>

Lớp học phần: KHOA HỌC DỮ LIỆU (INF509059) Mã lớp học phần: 23C1INF50905953

Giảng viên hướng dẫn: Hồ Văn Phúng

<i>Thành phố Hồ Chí Minh - 2023</i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>MỤC LỤC </b>

<b>I. Giới thiệu ... 1 </b>

<b>Mục tiêu nghiên cứu Bài nghiên cứu ... 1 </b>

<b>Phương pháp nghiên cứu ... 1 </b>

<b>II. Cơ sở lý luận... 1 </b>

<b>1. Khai phá dữ liệu ... 1 </b>

<b>1.1. Khai phá dữ liệu là gì? ... 1 </b>

<b>1.2. Các tính năng chính của khai phá dữ liệu ... 2 </b>

<b>1.3. Phương pháp khai phá dữ liệu ... 2 </b>

<b>1.4. Công cụ khai phá dữ liệu Orange. ... 3 </b>

<b>2. Phân lớp dữ liệu ... 3 </b>

<b>2.1. Khái niệm phân lớp dữ liệu ... 3 </b>

<b>2.2. Các phương pháp đánh giá mô hình phân lớp ... 5 </b>

<b>III. Tiến hành x ử lý dữ liệ</b> u ... 10

<b>1. Xử lý, khái quát dữ liệu... 10 </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

I. <b>Giới thiệ</b>u

<b>Mục tiêu nghiên cứu Bài nghiên cứu </b>

Tiến hành phân tích các lý thuyết của khai phá dữ liệu nhằm tập trung làm rõ những vấn đề của bài nghiên cứu.

Nghiên cứu về các phương pháp của cụ thể, phương pháp phân lớp dữ liệu (phương pháp phân lớp đưa ra các dự báo, phân loại và cũng như phân lớp các đối tượng), phân cụm dữ liệu. Nghiên cứu sẽ đưa các phương pháp phân lớp, phân cụm dữ liệu, và từ đó sẽ chọn ra một phương pháp tối ưu và đảm bảo nhất cho quá trình dự báo dữ liệu.

Dựa trên mơ hình đã được huấn luyện trong q trình nghiên cứu, đưa ra được kết luận về ứng viên thuộc đảng nào trong hai đảng là đảng dân chủ và đảng cộng hòa của cuộc bầu cử

<b>Phương pháp nghiên cứu </b>

Phương pháp phân tích – tổng hợp lý thuyết: từ nguồn tài liệu, sách báo có được, sau đó đọc và tổng hợp để rút ra, chắt lọc những nội dung cần thiết cho luận điểm của bài nghiên cứu.

Phương pháp mơ hình hóa: xây dựng mơ hình nghiên cứu dựa trên lý thuyết và ứng dụng mơ hình để dự báo nhằm kiểm định tính chính xác của mơ hình

Sử dụng các phương pháp thống kê, phân tích dữ liệu, ứng dụng mơ hình hồi quy để dự báo với sự hỗ trợ của các chương trình Orange.

<b>II. Cơ sở lý luận </b>

<b>1. Khai phá dữ liệu 1.1. Khai phá dữ liệu là gì? </b>

“Khai phá dữ liệu (Data Mining) là khai phá dữ liệu là quá trình phân loại, sắp xếp các tập hợp dữ liệu lớn nhằm xác định các mẫu thiết lập mối liên hệ , để giải quyết vấn đề nhờ phân tích dữ liệu.

Các MCU khai phá dữ liệu giúp các doanh nghiệp có thể dự đốn được các xu hướng trong tương lai.

Quá trình khai phá dữ liệu là một quá trình tương đối phức tạp gồm kho dữ liệu chun sâu cũng như các cơng nghệ tính tốn. Hơn thế nữa, Data Mining không chỉ giới hạn trong việc trích xuất dữ liệu mà được sử dụng nhằm làm sạch, chuyển đổi, tích hợp dữ liệu và phân tích mẫu.”

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>1.2. Các tính năng chính của khai phá dữ liệu </b>

Có nhiều tham số quan trọng khác nhau trong Data Mining, chẳng hạn như quy tắc kết hợp, phân loại, phân cụm và dự báo.

Một số tính năng chính của Data Mining:

1. Dự đoán các mẫu dựa trên xu hướng trong dữ liệu. 2. Tính tốn dự đốn kết quả

3. Tạo thơng tin phản hồi để phân tích 4. Tập trung vào cơ sở dữ liệu lớn hơn. 5. Phân cụm dữ liệu trực quan

<b>1.3. Phương pháp khai phá dữ liệu </b>

“Một số phương pháp khai phá dữ liệ u ph ổ biến như

Phân lớp (Classification): Phương pháp sử dụng để dự báo dữ liệu thông qua bộ dữ liệu huấn luyện, phân loại đối tượng. Nhóm sẽ sử dụng phương pháp này trong bài

Phân cụm (Clustering): Phương pháp phân cụm giúp việc mô tả dữ liệu trở nên đơn giản hơn bằng các xác định tập hợp hữu hạn các cụm với nhau. h Nhóm sẽ sử dụng phương pháp này trong bài để dự báo số liệu.”

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>1.4. Công cụ khai phá dữ liệu Orange. </b>

“Khai phá dữ liệu là những lĩnh vực khá khó để khám phá và nghiên cứu. Do đó, nhiều phần mềm đã ra đời với mục tiêu giúp cho người dùng có thể dễ dàng nghiên cứu các bài tốn trong những lĩnh vực khó nhằn này. Một trong những phần mềm có thể kể đến là Orange.

Phần mềm Orange biết đến bởi việc tích hợp các cơng cụ khai phá dữ liệu mã nguồn mở và học máy thông minh, đơn giản, được lập trình bằng Python với giao diện trực quan và tương tác dễ dàng.

Các công cụ (widgets) cung cấp các chức năng cơ bản như đọc dữ liệu, hiển thị dữ liệu dạng bảng, lựa chọn thuộc tính đặc điểm của dữ liệu, huấn luyện dữ liệu để dự đoán, so sánh các thuật tốn máy học, trực quan hóa các phần tử dữ liệu, …. Vì vậy, nhóm quyết định chọn phần mềm Orange để phục vụ cho bài nghiên cứu.”

<b>2. Phân lớp dữ liệu </b>

<b>2.1. Khái niệm phân lớp dữ liệu </b>

“Phân lớp dữ liệu chính là một trong những hướng nghiên cứu chính của khai phá dữ liệu. Quá trình phân lớp dữ liệu là quá trình phân các đối tượng vào một hay nhiều lớp đã cho trước dựa vào một mơ hình phân lớp. Mơ hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó.

Phân lớp và ự đoán là một trong hai dạng của phân tích dữ liệu để rút ra một d mơ hình mơ tả những lớp dữ liệu quan trọng hoặc dự đoán xu thế của dữ liệu trong tương lai.

Quá trình phân lớp dữ liệu gồm 2 bước chính

<b>Bước 1: Xây dựng mơ hình phân lớp </b>

Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý. Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…

<i><b>Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp) </b></i>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>Bước 2.1: Đánh giá mơ hình </b>

Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý. Tuy nhiên lúc đưa vào mơ hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn.

Tính đúng đắn của mơ hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mơ hình.

<b>Bước 2.2: Phân lớp dữ liệu mới </b>

Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đốn lớp (nhãn) Mơ hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Nhiệm vụ của bài toán phân lớp là phân các đối tượng dữ liệu vào lớp cho n trước. Nếu:

<b> n = 2: Phân lớp nhị phân. n > 2: Phân lớp đa lớp. </b>

<b>Mỗi đối tượng dữ liệu chỉ thuộc vào 1 lớp duy nhất: Phân lớp đơn nhãn. Một đối tượng dữ liệu có thể cùng lúc thuộc về nhiều lớp khác nhau: Phân lớp đa nhãn. </b>

Một số phương pháp phân lớp

<b>2.2. Các phương pháp đánh giá mơ hình phân lớp </b>

Ma trận nhầm lẫn (Confusion Matrix) và độ chính xác (Accuracy); ROC, AUC, Precision/Recall,F1-score

<b>Ma trận nhầm lẫn (Confusion Matrix) </b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Ma trận nhầm lẫn là ma trận chỉ ra trong một lớp cụ thể, dự đoán có bao nhiêu điểm dữ liệu thực sự thuộc về nó và rơi vào lớp nào. Phương pháp này là có kích thước k x k với k là số lượng lớp của dữ liệu.

Đây là một trong những kỹ thuật đo lường hiệu suất được sử dụng rộng rãi, đặc biệt là cho các mơ hình phân loại.

TP - True Positive : Dự đốn lớp tích cực là tích cực.

FP-False Positive - Type 1 Error : Dự đoán lớp phủ định là tích cực. FN - False Negative - Type 2 Error: Dự đốn lớp tích cực là tiêu cực. TN - True Negative : Dự đoán lớp phủ định là tiêu cực.

<b>Độ chính xác (Accuracy) </b>

Accuracy có thể hiểu là là tỉ lệ giữa số mẫu dự đoán đúng với tổng số mẫu trong tập dữ liệu được tính ra mà khơng chỉ ra được chính xác mỗi loại được phân lớp như thế nào, phân loại đúng nhiều nhất thuộc về lớp nào và dữ liệu thường bị phân loại nhầm vào lớp khác đang nằm ở lớp nào. Tuy nhiên, nó vẫn có thể giúp chúng ta ta đánh giá hiệu quả dự báo của mơ hình trên một bộ dữ liệu. Độ chính xác càng cao thì mơ hình càng chuẩn xác.

<b>Precision, Recall, F1 – </b>score

Precision (độ chính xác) cho biết tỉ lệ số điểm true positive (TP) trong số những điểm được phân loại là positive (TP + FP)

Recall (độ phủ) hay độ nhạy (sensitivity) hay TPR (True Positive Rate) là tỉ lệ giữa số điểm true positive (TP) và những điểm thực sự là positive (TP + FN).

F1- score là giá trị trung bình điều hịa của hai độ đo Precision và Recall.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<i>F1 có giá trị gần với giá trị nhỏ hơn giữa 2 giá trị Precision và Recall và F1 càng lớn nếu cả 2 giá trị Precision và Recall đều lớn cho thấy độ tin cậy của mơ hình cao hơn </i>

ROC (Receiver Operating Characteristic) và AUC (Area Under the Curve) ROC là một đồ thị được sử dụng khá phổ biến trong đánh giá các mơ hình phân loại nhị phân. Đường cong này được tạo ra bằng cách biểu diễn tỷ lệ dự báo true positive rate (TPR) dựa trên tỷ lệ dự báo false positive rate (FPR) tại các ngưỡng khác nhau. Một mơ hình hiệu quả khi có ROC càng tiệm cận với điểm (0;1) hay có TPR cao và FPR thấp thì mơ hình càng phù hợp.”

<b>3. Phân cụm dữ liệu 3.1. Định nghĩa </b>

“Là q trình gom cụm/nhóm các đối tượng/dữ liệu có đặc điểm tương đồng vào các cụm/nhóm tương ứng. Trong đó: các đối tượng trong cùng một cụm sẽ có những tính chất tương tự nhau; các đối tượng thuộc cụm/nhóm khác nhau sẽ có các tính chất khác nhau.

<b>3.2. Đặc điểm </b>

Nhiệm vụ chính là tìm ra và đo đạc sự khác biệt giữa các đối tượng dữ liệu. Phân cụm thuộc nhóm phương pháp học khơng giám sát (unsupervised learning) vì khơng biết trước được số nhóm (khác với bài tốn phân lớp)

Một phương pháp phân cụm tốt là phương pháp tạo ra các cụm có chất lượng cao: Độ tương đồng bên trong cụm cao; Độ tương tự giữa các cụm thấp (khác biệt cao) Các ứng dụng điển hình: Cơng cụ phân cụm dữ liệu độc lập; Là giai đoạn tiền xử lý cho các thuật toán khác

<b>3.3. Phân loại </b>

Dựa trên phân cấp (Hierarchical approach)

Phân cấp các đối tượng dựa trên một số tiêu chí.

Diana, Agnes, BIRCH,

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

DBSCAN, OPTICS, DenClue

Dựa trên lưới

(grid-based approach)

Dựa trên cấu trúc độ chi tiết nhiều cấp

STING, WaveCluster. CLIQUE

Dựa trên mơ hình (Model-based)

Giả định mỗi cụm có một mơ hình và tìm cách fit mơ hình đó vào mỗi cụm

EM, SOM, COBWEB

<b>3.4. Thuật tốn K-Means </b>

Thuật toán phân hoạch K means do MacQueen đề xuất trong lĩnh vực thống kê -năm 1967. Trong thuật tốn K means clustering, chúng ta khơng biết nhã của từng điểm -dữ liệu. Mục đích là làm thế nào để phân -dữ liệu thành các cụm (cluster) khác nhau sao cho trong cùng một cụm thì dữ liệu có tính chất giống nhau.

Thuật tốn dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm. Nó đo khoảng cách tới giá trị trung bình của các dữ liệu trong cụm.

Cụ thể về tư tưởng của thuật toán K means: Ta xem mỗi đối tượng trong tập dữ liệu là -một điểm trong không gian d chiều (với d là số lượng thuộc tính của đối tượng)

B1: Chọn k điểm bất kỳ làm các trung tâm ban đầu của k cụm B2: Phân mỗi điểm vào cụm có trung tâm gần nó nhất. Nếu các điểm ở

từng cụm vừa được phân không thay đổi so với kết quả của lần phân chia trước đó thì dừng thuật tốn

B3: Cập nhật lại trung tâm cho từng cụm bằng cách lấy trung bình cộng của tất cả các điểm đã được gắn vào cụm đó sau khi phân chia ở bước 2. B4: Quay lại bước 2.

Nhận xét:

Do K-means phân tích cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn

Nhược điểm của K means là chỉ áp dụng với dữ liệu có thuộc tính số và -khám phá ra các cụm có dạng hình cầu. Do đó thuật tồn này không phù hợp với phân bố dữ liệu dạng khơng lồi. Ngồi ra, nó cịn rất nhạy cảm với nhiễu và phần tử ngoại lai trong dữ liệu và cần biết trước số lượng cụm k.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

3.5. Silhouette index

Silhouette đo lường khoảng cách của một điểm dữ liệu trong cụm đến Centroid, điểm trung tâm của cụm, và khoảng cách của chính điểm đó đến điểm trung tâm của cụm gần nhất (hoặc đến các điểm trung tâm của các cụm còn lại, và chọn ra khoảng cách ngắn nhất). Đó là trường hợp đo lường cho K-means clustering.

Silhouette là phương pháp tính tốn kết hợp đánh giá cả Cohesion (qua a<small>i</small>) và Separation (b<small>i</small>). Nếu Silhouette tiến về -1, tức khoảng cách điểm i so với điểm trung tâm trong chính cụm nó được phân xa hơn so với điểm trung tâm của cụm còn lại, vậy khả năng điểm i lúc này bị phân sai cụm. Các bạn có thể xét ngược lại.

Do đó, b<small>i</small> a – <small>i</small>càng cao càng tốt, đạt max = b<small>i</small> khi a = 0 <small>i</small>

Nếu một cluster được đánh giá chất lượng, là các điểm trong cluster sẽ có Silhouette tiến về 1 và ngược lại.

<b>Nếu khơng phải K-means clustering thì: </b>

b <small>i</small>là khoảng cách trung bình từ điểm i trong cluster A đến tất cả các điểm trong cluster B với cluster B là cluster láng giềng gần nhất.

a<small>i</small> là khoảng cách trung bình từ điểm i trong cluster A đến tất cả các điểm cịn lại trong A

<b>Ngồi ra, theo kinh nghiệm của các tác giả trong tài liệu “Data mining and Predictive analytics” của nhà xuất bản Wiley: </b>

Điểm trung bình Silhouette từ 0.5 trở lên, bằng chứng cho thấy có thể cluster này sát với thực tế

Điểm trung bình Silhouette từ 0.25 đến 0.5, thì cần thêm kiến thức chun mơn, kinh nghiệm để đánh giá thêm khả năng cluster có trong thực tế

Điểm trung bình dưới 0.25, thì khơng nên tin tưởng cluster, và cần đi tìm nhiều bằng chứng khác.”

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>III. Tiến hành x ử lý dữ liệ</b> u

<b>CVR(Bộ dữ liệu hồ sơ bỏ phiếu của quốc hội) </b>

Bộ dữ liệu bao gồm các phiếu bầu cho nước Mỹ, các nghị sĩ Hạ viện về 16 loại phiếu bầu được xác định bởi CQA, CQA đã liệt kê chín loại khác nhau như bỏ phiếu, ghép đơi và thơng báo có (3 loại phiếu này xem như là phiếu thuận(có)), phiếu chống, ghép đôi chống và thông báo chống lại (3 loại này được xem như phiếu nghịch(không)), bỏ phiếu có mặt, bỏ phiếu có mặt tránh xung đột lợi ích và khơng bỏ phiếu hoặc làm cho một vị trí được biết đến (3 loại này được xếp vào nhóm khơng xác định)

<b>1. Xử lý, khái quát dữ liệu </b>

Dựa vào phân tích trên ta thấy File dữ liệu có:

435 instances

16 features với 5,6% missing values 17 tên thuộc tính tương ứng như sau:

1 handicapped-infants categorical feature n,y 2 water-project-cost-sharingcategorical feature n,y

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

3 adoption-of-the -budget-reéolution

categorical feature n,y

4 physician-fee-freeze categorical feature n,y

6 religious-groups- -in schools

categorical feature n,y

7 anti-satellite-test-ban categorical feature n,y 8 aid-to-nicaraguan-contras categorical feature n,y

11

synfuels-corporation-cutback

categorical feature n,y

12 education-spending categorical feature n,y 13 superfund-right-to-sue categorical feature n,y

15 duty-free-exports categorical feature n,y 16

export-administration-act-south-africa

categorical feature n,y

democrat

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Từ data table widget ta thấy có 5,6% dữ liệu bị thiếu, do đó sẽ tiến hành tiền xử lý dữ liệu thông qua preprocess widget.

<b>1.1. Mô tả phương pháp xử lý dữ liệu: </b>

Trong Orange để giúp xử lý dữ liệu (chuẩn hóa dữ liệu, điền thơng tin bị thiếu,rời rạc hóa dữ liệu liên tục), ta chọn Preprocess.

Ở mục Impute Missing Values chọn Remove rows with missing values để loại bỏ các dữ liệu bị thiếu.

Chọn Save để lưu data

<b>1.2. Dữ liệu sau khi xử lý </b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Single

Average

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Complete

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Ward

Tiến hành phân tích dựa trên 4 kết quả nhận được:

Ta thấy, single-linkage là phương pháp kém hiệu quả nhất so với 3 phương pháp còn lại, Ward là phương pháp tốt nhất, có tỉ lệ cao hơn so với 3 phương pháp còn lại. Chọn ward làm phương pháp tính khoảng cách.

2.2. Silhouette Plot 2.2.1. Euclidean

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Cosine 0.616 0.510

Ta có Silhouette index [-1,1]

Tỉ lệ của Euclidean nằm trong khoảng [0.25, 0,5) => Cần đánh giá lại Tỉ lệ của Manhattan C1 > 0.5 sát so với thực tế, tuy nhiên C2 < 0.5 nên cần đánh giá lại phương pháp này.

Tỉ lệ của Cosine đều có C1 và C2 > 0.5 nên sát với thực tế. Từ đó ta thấy Cosine là phương pháp cho ra độ chính xác cao hơn so với 2 phương pháp cịn lại

Vì vậy chọn Cosine

2.3. K- means

Sử dụng thuật tốn K-means, đánh giá Silhouette Scores thơng qua việc phân ra làm 2 - 8 cụm rồi so sánh Silhouette Scores. Việc phân dữ liệu thành 2 cụm có Silhouette Scores lớn hơn so với các dữ liệu cịn lại. Vì vậy, dữ liệu trên chỉ cần phân làm 2 cụm. Sau khi phân cụm xong, ta tiến hành đánh giá thông qua Silhouette Pilot

</div>

×