1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực tập cơ sở PTIT Dự đoán giá nhà và giá nhà trọ

35 20 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thực tập cơ sở PTIT Dự đoán giá nhà và giá nhà trọ. Dữ liệu được lấy theo thời gian thực tại các trang batdongsan.com.vn nhatot.vn. Sử dụng selenium crawl data và linear regression dự đoán. triển khai trên web để hiển thị giá theo thời gian thực

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP CƠ SỞ CHUYÊN NGÀNH: CƠNG NGHỆ THƠNG TIN ĐỀ TÀI: DỰ ĐỐN GIÁ NHÀ Ở Giảng viên hướng dẫn: Sinh viên thực hiện: Mã sinh viên: Lớp: TS Đào Ngọc Phong Lê Tuấn Anh B20DCCN054 D20CQCN06-B Hà Nội, 5/2022 MỤC LỤC CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Tên gọi 1.2 Mô tả hệ thống 1.3 Mục đích đề tài CHƯƠNG CÁC NỘI DUNG KHÁI NIỆM SỬ DỤNG TRONG QUÁ TRÌNH NGHIÊN CỨU 2.1 HTML 2.1.1 HTML gì? 2.1.2 HTML hoạt động sao? 2.2 CSS 2.3 Python Selenium 2.3.1 Python Selenium gì? 2.4 Django 2.4.1 Django gì? 2.5 Javascript 2.5.1 Javascript gì? 2.5.2 JavaScript dùng làm gì? .7 2.6 Machine Learning thư viện khoa học liệu 2.6.1 Machine Learning gì? 2.6.2 Các thư viện Python khoa học liệu .9 2.7 REST API 10 2.7.1 REST API gì? 10 2.7.2 REST API hoạt động nào? 11 2.7.3 Status code .12 2.7.4 Ưu điểm REST API 12 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC VÀ QUÁ TRÌNH LÀM VIỆC 14 3.1 Crawl liệu web 14 3.1.1 Batdongsan.com.vn 14 3.1.2 Chotot.com .18 3.2 Trực quan hóa liệu crawl từ trang Chotot.vn 20 3.3 Phân tích chi tiết 20 3.4 Dự đoán giá nhà với liệu batdongsan.com.vn chotot.vn 28 3.4.1 Dữ liệu Batdongsan.com.vn: .28 3.5 Load mơ hình vào server hiển thị giá lên phía web 32 3.5.1 Batdongsan.com.vn 32 LỜI CẢM ƠN Em muốn gửi lời cảm ơn tới Thầy Đào Ngọc Phong – nhà trường tạo điều kiện để chúng em có mơn thực hành sở Nhờ có mơn học mà em tự thúc đẩy q trình tiếp thu kiến thức tự tìm hiểu kiến thức Trong trình tìm hiểu đề tài Dự đoán làm báo cáo thực tập này, trình độ kinh nghiệm thực tiễn cịn hạn chế nên khơng tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp từ giảng viên hướng dẫn để em học hỏi, rút kinh nghiệm cải thiện tương lai CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Tên gọi Đề tài : Dự đoán giá nhà ở, liệu thực crawl trực tiếp từ chotot.com, batdongsan.com.vn 1.2 Mô tả hệ thống Đề tài sử dụng liệu crawl từ trang bất động sản batdongsan.com.vn Sử dụng Python để tiền xử lí liệu Chuẩn hóa mã hóa liệu để đưa vào mơ hình máy học Machine Learning để dự đoán Sử dụng html/css/js để triển khai extension lên google chorme Sử dụng Django tải mơ hình dự đốn giá nhà tin trả web client 1.3 Mục đích đề tài Tạo extension giúp người dùng tham khảo giá mặt chung để dễ dàng đưa định CHƯƠNG CÁC NỘI DUNG KHÁI NIỆM SỬ DỤNG TRONG QUÁ TRÌNH NGHIÊN CỨU 2.1 HTML 2.1.1 HTML gì? HTML viết tắt cụm từ Hypertext Markup Language (tạm dịch Ngôn ngữ đánh dấu siêu văn bản) HTML sử dụng để tạo cấu trúc thành phần trang web ứng dụng, phân chia đoạn văn, heading, titles, blockquotes… HTML ngôn ngữ lập trình Một tài liệu HTML hình thành phần tử HTML (HTML Elements) quy định cặp thẻ (tag attributes) Các cặp thẻ bao bọc dấu ngoặc (ví dụ ) thường khai báo thành cặp, bao gồm thẻ mở thẻ đóng Ví dụ, tạo đoạn văn cách đặt văn vào cặp tag mở đóng văn

:

Đây cách bạn thêm đoạn văn HTML.

Nhưng số thẻ đặc biệt lại khơng có thẻ đóng liệu khai báo nằm thuộc tính (ví dụ thẻ ) Cha đẻ HTML Tim Berners-Lee, người khai sinh World Wide Web chủ tịch World Wide Web Consortium (W3C – tổ chức thiết lập chuẩn môi trường Internet) Các thiết lập cấu trúc HTML vận hành phát triển World Wide Web Consortium (W3C) Bạn kiểm tra tình trạng ngơn ngữ lúc trang W3C’s website 2.1.2 HTML hoạt động sao? Các website hoạt động nào? Khi bạn gõ tên miền, trình duyệt mà bạn sử dụng (chẳng hạn Chrome) kết nối tới máy chủ web, cách dùng địa IP, vốn thấy cách phân giải tên miền (DNS) Máy chủ web máy tính kết nối tới internet nhận yêu cầu tới trang web từ trình duyệt bạn Máy chủ sau gửi trả thơng tin trình duyệt bạn, tài liệu HTML, để hiển thị trang web! Một tập tin HTML bao gồm phần tử HTML lưu lại đuôi mở rộng html htm Khi tập tin HTML hình thành, việc xử lý trình duyệt web đảm nhận Trình duyệt đóng vai trị đọc hiểu nội dung HTML từ thẻ bên chuyển sang dạng văn đánh dấu để đọc, nghe hiểu (do bot máy tính hiểu) Bạn xem chúng cách sử dụng trình duyệt web (như Google Chrome, Safari, hay Mozilla Firefox) Trình duyệt đọc files HTML xuất nội dung lên internet cho người đọc xem Thơng thường, trung bình web chứa nhiều trang web HTML, ví dụ như: trang home, trang product, trang blog… 2.2 CSS CSS chữ viết tắt Cascading Style Sheets, ngơn ngữ sử dụng để tìm định dạng lại phần tử tạo ngôn ngữ đánh dấu (HTML) Nói ngắn gọn ngơn ngữ tạo phong cách cho trang web Bạn hiểu đơn giản rằng, HTML đóng vai trị định dạng phần tử website việc tạo đoạn văn bản, tiêu đề, bảng,…thì CSS giúp thêm style vào phần tử HTML đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc… CSS phát triển W3C (World Wide Web Consortium) vào năm 1996, HTML không thiết kế để gắn tag để giúp định dạng trang web Phương thức hoạt động CSS tìm dựa vào vùng chọn, vùng chọn tên thẻ HTML, tên ID, class hay nhiều kiểu khác Sau áp dụng thuộc tính cần thay đổi lên vùng chọn Mối tương quan HTML CSS mật thiết HTML ngôn ngữ markup (nền tảng site) CSS định hình phong cách (tất tạo nên giao diện website), chúng khơng thể tách rời 2.3 Python Selenium 2.3.1 Python Selenium gì? Python Selenium thư viện Python sử dụng để tự động hóa hoạt động trình duyệt web Nó cung cấp phương thức cơng cụ cho phép bạn tương tác với trình duyệt web thơng qua mã Python Với Python Selenium, bạn thao tác với trình duyệt phổ biến Chrome, Firefox, Safari Edge Thư viện hỗ trợ việc điều khiển trình duyệt web, điều hướng qua trang, điền thơng tin vào biểu mẫu, tìm kiếm trích xuất liệu từ trang web, chí thao tác với yếu tố nút bấm, đánh dấu, hình ảnh phần tử HTML khác Điểm mạnh Selenium Đa tảng: Selenium hỗ trợ đa tảng, cho phép bạn thao tác với trình duyệt web phổ biến Chrome, Firefox, Safari Edge hệ điều hành khác Windows, macOS Linux Tự động hóa hoạt động trình duyệt: Selenium cho phép bạn tự động hóa hoạt động trình duyệt web điều hướng qua trang, điền thơng tin vào biểu mẫu, tìm kiếm trích xuất liệu từ trang web Điều giúp tăng hiệu suất tiết kiệm thời gian cho công việc lặp lặp lại web Tương tác với yếu tố web: Python Selenium cung cấp phương thức công cụ cho phép bạn tương tác với yếu tố trang web nút bấm, đánh dấu, hình ảnh phần tử HTML khác Điều cho phép bạn thực tác vụ nhấp chuột, điền thông tin, kiểm tra trạng thái thu thập thông tin từ yếu tố web Kiểm thử tự động: Selenium sử dụng rộng rãi cho kiểm thử tự động ứng dụng web Với Selenium, bạn tạo kịch kiểm thử tự động để kiểm tra tính đắn hiệu suất ứng dụng web nhiều trình duyệt mơi trường khác +) Nhược điểm Selenium Do lần chạy mở trình duyệt gây tốn tài nguyên, tác vụ đòi hỏi nhiều lần chạy gây tốn nhiều tài nguyên máy 2.4 Django 2.4.1 Django gì? Django framework phát triển ứng dụng web mạnh mẽ phổ biến viết Python Django giúp nhà phát triển xây dựng ứng dụng web nhanh chóng dễ dàng cách cung cấp tảng công cụ cần thiết để xử lý tác vụ phổ biến việc phát triển web quản lý sở liệu, xử lý định tuyến URL, quản lý phiên, gửi email, xử lý biểu mẫu Django tn thủ theo mơ hình thiết kế MVC (Model-View-Controller) MVT (Model-View-Template) trường hợp Django Mô hình giúp tách biệt logic xử lý liệu, hiển thị quản lý liệu ứng dụng web, giúp mã nguồn dễ quản lý bảo trì Django cung cấp số tính mạnh mẽ như: Hệ thống quản lý sở liệu: Django hỗ trợ nhiều loại sở liệu MySQL, PostgreSQL, SQLite, Oracle Nó cung cấp API ORM (ObjectRelational Mapping) cho phép truy vấn tương tác với sở liệu cách dễ dàng Hệ thống xử lý URL: Django giúp xác định mẫu URL định tuyến yêu cầu đến hàm xử lý tương ứng Hệ thống quản lý phiên: Django hỗ trợ quản lý phiên người dùng, cho phép lưu trữ thông tin phiên theo dõi trạng thái người dùng ứng dụng web Hệ thống bảo mật: Django cung cấp cơng cụ tính để xác thực người dùng, bảo vệ khỏi công CSRF (Cross-Site Request Forgery), xử lý an toàn với liệu người dùng Hệ thống giao diện quản trị: Django cung cấp giao diện quản trị sẵn có, cho phép quản lý liệu ứng dụng web cách dễ dàng Django trở thành framework phát triển web phổ biến cộng đồng phát triển Python, với cộng đồng lớn nhiều tài liệu hỗ trợ 2.5 Javascript 2.5.1 Javascript gì? Javascript ngơn ngữ lập trình kịch dựa vào đối tượng phát triển có sẵn tự định nghĩa JavaScript tích hợp nhúng HTML giúp website sống động JavaScript cho phép kiểm soát hành vi trang web tốt so với sử dụng HTML JavaScript ngơn ngữ lập trình hỗ trợ tất trình duyệt Firefox, Chrome, … chí trình duyệt thiết bị di động 2.5.2 JavaScript dùng làm gì? JavaScript ứng dụng nhiều lĩnh vực:  Lập trình website  Xây dựng ứng dụng cho website máy chủ  Ứng dụng di động, app, trò chơi 3.1.2 Chotot.com Sử dụng BeatifulSoup Python Request để Crawl liệu 18 Dữ liệu thô sau Crawl 19 3.2 Trực quan hóa liệu crawl từ trang Chotot.vn Thông tin thu nhập được: Vấn đề: Ở liệu thiếu nhiều, có số cột không ảnh hưởng đến output giá chung cư nên phải tiền xử lý, trực quan hoá cột liệu để tìm liệu giữ lại để xây dựng cho trình traning (tiền xử lý EDA liệu trình bày bên dưới) 3.3 Phân tích chi tiết Do em sử dụng Jupyter notebook nên em xin phép chụp ảnh 20 21 22 23 24 25 26 27 3.4 Dự đoán giá nhà với liệu batdongsan.com.vn chotot.vn 3.4.1 Dữ liệu Batdongsan.com.vn: Cột bên trái giá dự đoán cột bên phải giá thực tế 28 Hiệu dự đoán: 29 R_score = 0.52 ( gần xác) Dự đốn với liệu Chotot 30 31 3.5 Load mơ hình vào server hiển thị giá lên phía web 3.5.1 Batdongsan.com.vn - Thực load cấu hình server với Django load file mơ hình file stanrdard_scaler - Extension thu thập liệu viết thực method request POST tới server - Server trả lại giá trị dự đoán cho client theo Restful API 32

Ngày đăng: 14/06/2023, 10:20

Xem thêm:

w