Trang 1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TINDỰ ĐỐN GIÁ Ơ TƠ CŨ DỰA TRÊN DỮ LIỆUTỪ WEBSITE CHỢ TỐTSinh viên thực hiện:STT Họ tên MSSV Ngành1 Nguyễn Thanh Hiếu 20521328 CNCL2020 Trang 2 1.G
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
DỰ ĐOÁN GIÁ Ô TÔ CŨ DỰA TRÊN DỮ LIỆU
TỪ WEBSITE CHỢ TỐT
Sinh viên thực hiện:
Trang 21 GIỚI THIỆU
Đề tài này sẽ xây dựng một mô hình dự đoán giá xe ô tô cũ trên trang web Chợ tốt (https://xe.chotot.com) dựa trên các yếu tố quan trọng như Giá bán, Hãng sản xuất, Năm sản xuất, Số kilomet đã đi, Loại hộp số, Loại nhiên liệu, Xuất xứ, Kiểu dáng, Số chỗ Mục tiêu là nắm bắt thông tin về thị trường mua bán ô tô cũ trực tuyến
Để thực hiện việc thu thập dữ liệu, nhóm đã sử dụng thư viện Selenium để tự động trích xuất thông tin từ trang web Chợ tốt Sau đó nhóm tiến hành phân tích làm sạch dữ liệu và sử dụng các công cụ hồi quy như Hồi quy tuyến tính (Linear Regression), Rừng ngẫu nhiên (Random Forest) và Mạng Neural để tiến hành dự đoán
và đưa ra nhận xét
Kết quả nhận được đó là thuật toán Mạng Neural đạt kết quả tốt nhất sau đó đến Hồi quy tuyến tính và cuối cùng là Rừng ngẫu nhiên
Nhóm cam kết rằng bộ dữ liệu và đồ án này là kết quả mà nhóm đã tự phân tích
và không phải là sự hợp nhất từ các nguồn dữ liệu khác
Bộ dữ liệu và đề tài do nhóm tự phân tích thiết kế, không dựa trên đề tài khác
2 MÔ TẢ BỘ DỮ LIỆU
Bộ dữ liệu này là một tập hợp thông tin về mua bán ô tô cũ trên 30 trang đầu của trang web Chợ tốt
Bộ dữ liệu phân tích tự thu thập tại https://xe.chotot.com/
Bộ dữ liệu này được nhóm tự thu thập từ trang web Chợ tốt, không dựa trên bất
kì nguồn dữ liệu bên ngoài nào khác
2.1 Phương pháp thu thập dữ liệu
Thu thập dữ liệu bằng cách sử dụng thư viện Selenium:
− Đầu tiên sử dụng Google Chrome để truy cập trang web Chợ tốt
− Tiếp theo, lấy danh sách các liên kết đến các bài đăng về mua bán ô tô cũ Nhóm nhận thấy các liên kết ô tô có chung class name với các liên kết của những người bán ô tô nên nhóm đã lọc ra chỉ lấy mỗi dữ liệu về ô tô
− Sau khi thu thập danh sách các liên kết, nhóm đã sử dụng Selenium để truy cập từng liên kết Khi truy cập vào một liên kết, đã thu thập thông tin về ô tô
cụ thể đó, bao gồm Tên đăng bán, Giá bán, Hãng sản xuất, Dòng xe, Năm sản xuất, Số kilomet đã đi, Tình trạng, Loại hộp số, Loại nhiên liệu, Xuất
xứ, Kiểu dáng, Số chỗ, Chính sách bảo hành, Trọng lượng và Trọng tải
− Dữ liệu thu thập được đã được xử lý và lưu trữ vào một tệp CSV
− Sau khi thu thập xong dữ liệu nhóm nhận thấy bộ dữ liệu có nhiều chỗ bị rỗng và bị trùng vậy nên đã tiến hành lọc ra và lưu trữ lại vào tệp CSV
2.2 Tiền xử lí dữ liệu
Sau khi thu thập được bộ dữ liệu nhóm tiến hành tiền xử lý dữ liệu:
− Tìm và loại bỏ các dòng bị khuyết hoặc trùng
Trang 3− Tìm và loại bỏ các cột không mang ý nghĩa cho việc dự đoán giá xe (Tên đăng bán, Dòng xe)
− Xóa các cột chỉ có 1 giá trị duy nhất vì nó sẽ không làm ảnh hưởng đến giá
xe dự đoán (Tình trạng, Chính sách bảo hành, Trọng lượng, Trọng tải)
− Chỉnh sửa kiểu của Giá bán (chuyển sang dạng số)
− Hộp số (đồng nhất xe số sàn 5 cấp về “Số sàn”)
− Thêm Tuổi xe thay cho Năm sản xuất để dự đoán rõ hơn
Bộ dữ liệu ban đầu gồm có 15 cột 590 dòng, sau khi lọc ra 93 dòng bị khuyết
dữ liệu (trong đó 89 dòng bị thiếu dữ liệu và 4 dòng trùng nhau) và lọc các cột không cần thiết thì còn lại 497 dòng dữ liệu và 8 thuộc tính Thông tin về các thuộc tính được mô tả ở bảng bên dưới:
STT Tên thuộc tính Ý nghĩa Kiểu dữ
liệu
Minh họa dữ liệu
mong muốn có thể bán được ở thời điểm đăng bài
int64 755000000,
1990000000,
tô được đăng bán object Mazda,Mercedes
Benz,
3 Năm sản xuất Năm sản xuất của ô
tô được đăng bán
2017,
4 Số Km đã đi Xe đăng bán đã đi
được bao nhiêu km
55000,
5 Hộp số Xe thuộc loại số sàn,
tự động hay bán tự động
hoặc Bán tự động
6 Nhiên liệu Nhiên liệu mà ô tô
sử dụng)
Động cơ hybrid
7 Xuất xứ Nơi xuất xứ của xe object Đức, Nhật, Mĩ,
Trang 4STT Tên thuộc tính Ý nghĩa Kiểu dữ
liệu Minh họa dữ liệu
8 Kiểu dáng Kiểu dáng hoặc loại
hình của ô tô
over, Sedan,
9 Số chỗ Số chỗ ngồi trong xe int64 4, 5, 7,
Hình 1 Dữ liệu đã được xử lý
Thống kê Giá trị
Giá bán trung bình 865.75 (tám trăm sáu mươi lăm triệu)
Giá bán cao nhất
8299 (tám tỷ hai trăm chín mươi chín
triệu)
Hình 2 Thống kê dữ liệu
3 PHƯƠNG PHÁP PHÂN TÍCH
Hình 3 Quy trình PTDL
Trang 53.1 Crawl dữ liệu bằng Selenium
Nhóm sử dụng Selenium để crawl dữ liệu vì đây là một framework có khả năng tương tác với nhiều trình duyệt khác nhau, có thể xử lí các kịch bản phức tạp so với các framework khác
3.2 Tiền xử lí dữ liệu
Nhóm đã lọc và loại bỏ các giá trị, thuộc tính không có ích trong việc dự đoán giá bán xe
3.3 Khai phá dữ liệu
Từ bộ dữ liệu đã được xử lý, nhóm đã sử dụng các kĩ thuật phân tích để tìm hiểu
và lấy ra các dữ liệu quan trọng, đồng thời trực quan hóa các dữ liệu đó để có thể đưa
ra các đánh giá, nhận xét chính xác cho việc dự đoán
3.4 Chuẩn hóa dữ liệu
Chuẩn hóa các dữ liệu của các thuộc tính đầu vào về khoảng [-1, 1] bằng cách chuẩn hóa theo giá trị trung bình (Mean Normalization) để đảm bảo cho các thuật toán tối ưu được hiệu quả
3.5 Xây dựng mô hình
Khi đã có cái nhìn tổng quát, nhóm tiến hành xây dựng, đánh giá để làm ra mô hình tốt nhất Các thuật toán xây dựng mô hình được lựa chọn là những công cụ mạnh
mẽ, phù hợp với bài toán hồi quy, bao gồm: Hồi quy tuyến tính, Rừng ngẫu nhiên, Mạng Neural
3.6 Đánh giá
Sau khi training tập dữ liệu nhóm tiến hành sử dụng metric hồi quy là Mean Squared Error (MSE) để đánh giá hiệu suất của mô hình
Trang 64 PHÂN TÍCH THĂM DÒ/SƠ BỘ
Hình 4 Phân phối giá bán
Hiện nay ô tô cũ trên thị trường tập trung nhiều nhất ở phân khúc từ 1 tỷ đổ xuống
Tuy nhiên, ta thấy có một số ô tô cũ có giá rất cao tầm 8 tỷ, thì đây hầu như là các ô tô ở phân khúc xe sang xe xịn Bên cạnh đó các xe ô tô giá rẻ chiếm đa số trên thị trường
4.1 Phân tích dữ liệu định lượng
Biểu đồ phân tán so với Giá bán
Hình 5 Biểu đồ phân tán giữa Số Km đã đi, Tuổi xe so với Giá bán
Trang 7=> Giá bán ô tô phụ thuộc vào nhiều yếu tố:
− Giá càng cao khi năm sản xuất gần, số km đã đi, tuổi xe ít
− Giá càng thấp khi năm sản xuất xa, số km đã đi, tuổi xe cao
Mức độ tương quan tuyến tính
Hình 6 Bản độ nhiệt tương quan
Dựa vào bản đồ nhiệt tương quan, ta có thể đưa ra một số nhận xét:
− Tương quan nghịch nhẹ giữa Tuổi xe và Giá bán (tuổi xe càng thấp, giá bán càng cao)
− Có sự tương quan nghịch nhẹ giữa Số Km đã đi và Giá bán (đi càng nhiều giá bán càng thấp)
4.2 Phân tích dữ liệu định tính
Lần lượt so sánh Giá bán với Hãng xe, Dòng xe, Hộp số, Nhiên liệu, Xuất xứ, Kiểu dáng:
Trang 8Hình 8 Biểu đồ phân tích định tính
Trang 9So sánh Giá bán với Hãng:
− Ta có thể thấy giá cả đối với những hãng xe sang trọng như Bentley, Rover, Lexus, Porsche, có giá trị cao hơn nhiều với những hãng còn lại
− Có thể thấy sự phổ biến của những xe ô tô giá rẻ hơn so với những ô tô mắc
− Sẽ có 1 vài ngoại lệ rằng hãng xe giá rẻ có những loại ô tô có phân khúc giá cao hơn
So sánh Giá bán với Hộp số:
− Ta có thể thấy hộp số tự động chiếm ưu thế hơn so với số sàn và số bán tự động => phản ánh sự ưa chuộng của người mua đối với hộp số tự động
So sánh Giá bán với Nhiên liệu:
− Có thể thấy xăng chiếm ưu thế hơn so với dầu và động cơ Hybrid, có thể vì xăng là nhiên liệu phổ biến hơn
So sánh Giá bán với Xuất xứ:
− Nhật và Mỹ có những loại xe sang và giá trị cao hơn Xe từ Nhật Bản và Mỹ thường được đánh giá cao về chất lượng và độ tin cậy
So sánh Giá bán với Kiểu dáng:
− Các kiểu xe Sedan, SUV và coupe đang thể hiện sự ưa chuộng đặc biệt từ phía người tiêu dùng Có thể do đẹp hoặc do sự tiện lợi từ kiểu dáng đó
=> Ta thấy Hãng và xuất xứ có ảnh hưởng nhiều nhất đến giá xe còn lại thì đều chỉ ở mức giao động nhẹ
5 KẾT QUẢ PHÂN TÍCH
5.1 Mô hình sử dụng
Bộ dữ liệu chia thành ba phần: tập huấn luyện (training set), tập kiểm thử (test set), và tập validation (validation set) có tỷ lệ là (8 - 1 - 1)
Các mô hình máy học sử dụng:
− Hồi quy tuyến tính
− Rừng ngẫu nhiên
− Mạng Neural
Để đánh giá tất cả các mô hình, ta sẽ sử dụng trung một tham số đó là MSE (Mean Squared Error), tham số đo trung bình về độ lệch bình phương giữa các giá trị
dự đoán với giá trị thực tế của chúng
5.2 Kết quả
Trang 10Hình 9 Biểu đồ đánh giá
Mô hình Kết quả
Hình 10 Bảng đánh giá
− Mô hình cho kết quả tốt nhất là Mạng Neural
− Kết quả ở những mô hình máy học khác chưa được tốt bằng
6 CHỈNH SỬA SAU BÁO CÁO
Chỉnh sửa bảng mô tả thuộc tính
Thêm bảng thống kê thuộc tính
Thêm bảng phân phối giá bán
Thêm bảng kết quả có số liệu cụ thể
7 KẾT LUẬN
7.1 Kết quả đạt được
− Trong dự án này, nhóm đã đạt được những mục tiêu quan trọng từ đầu, bao gồm việc tự thu thập và xây dựng, phân tích và trực quan hóa hiệu quả bộ
dữ liệu
− Xây dựng được các mô hình áp dụng cho bộ dữ liệu
− Tìm hiểu, sử dụng được một số phương pháp tiền xử lý, phân tích và trực quan, cũng như xây dựng các mô hỉnh máy học áp dụng cho bộ dữ liệu đã xây dựng
Trang 11− Nắm được kiến thức cơ bản, có cái nhìn cơ bản tổng thể về Phân tích và trực quan dữ liệu cũng như về Machine Learning
7.2 Khó khăn gặp phải
− Chưa có kinh nghiệm giải quyết các vấn đề gặp phải khi tự thực hiện thu thập
dữ liệu
− Chưa có kinh nghiệm trong việc tìm hiểu các thư viên mới, các cách xử lý mới trong phân tích và trực quan dữ liệu
− Chưa có kinh nghiệm trong bài toán xử lý dữ liệu có nhiều thuộc tính nói riêng và các bài toán Machine Learning nói chung dẫn đến việc gặp nhiều khó khăn trong quá trình thu thập cũng như xử lý dữ liệu
− Bộ dữ liệu chưa đủ lớn, dẫn đến kết quả mô hình chưa cao như mong muốn Nhiều mô hình chạy demo cho kết quả sai
Trang 12TÀI LIỆU THAM KHẢO
[1] K.Samruddhi, Dr R.Ashok Kumar2, Used Car Price Prediction using K-Nearest Neighbor Based Model, 2020
[2] Pattabiraman Venkatasubbu, Mukkesh Ganesh, Used Cars Price Prediction using Supervised Learning Techniques, 2019
[3] Studocu.com Link:bc khai phá dữ liệu(5/11/2023)
[4] Youtube.com Link:Crawl Data Using Selenium(1/9/2023)
Trang 13PHỤ LỤC PHÂN CÔNG NHIỆM VỤ
STT Thành viên Nhiệm vụ
1 Nguyễn Thanh Hiếu - Crawl dữ liệu
- Code EDA, phân tích EDA
- Training models
- Đánh giá models
2 Hồ Nguyễn Gia Huy - Tiền xử lý dữ liệu
- Hỗ trợ code EDA
- Chuẩn hoá bộ dữ liệu
- Viết báo cáo
- Làm slide báo cáo