Đồ án tốt nghiệp: Ứng dụng Học máy để dự báo giá bất động sản trên nền tảng Kaggle | Đại học Văn Lang

Tham khảo đồ án tốt nghiệp - Công nghệ thông tin | Đại học Văn Lang giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học

LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong bài đồ án là sản phẩm của riêng cá nhân tôi và không có
sự sao chép lại của người khác. Trong toàn bộ nội dung của bài đồ án, những điều được trình bày
hoặc là của nhân hoặc được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo
đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan
của mình.
TP. Hồ Chí Minh, ngày tháng năm 2024
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
Sinh viên thực hiện (nhóm trưởng)
(Ký và ghi rõ họ tên)
CHƯƠNG 1: MỞ ĐẦU
1.1. Lý do lựa chọn / tính cấp thiết Đề tài
- Trong bối cảnh sự phát triển không ngừng của công nghệ thông tin, đặc biệt là sự phát triển của
cuộc “cách mạng dữ liệu”,chúng ta thấy thiết bị máy tính đã trở thành 1 phần không thể thiếu
trong cuộc sống mọi người ,Ngoài ra Học máy (Machine Learning) là một phân nhánh của trí tuệ
nhân tạo (AI) tập trung vào việc xây dựng các mô hình dự đoán từ dữ liệu. Trong lĩnh vực này,
các thuật toán và phương pháp được sử dụng để phân tích và hiểu các mẫu trong dữ liệu để có
thể đưa ra dự đoán hoặc quyết định mà không cần sự can thiệp trực tiếp của con người
- Ứng dụng áp dụng trog lĩnh vực bất động sản ,việc dự báo giá có vai trò quan trọng trong việc
đưa ra quyết định mua, bán hoặc đầu tư vào bất động sản. Dự báo giá bất động sản không chỉ
giúp cá nhân hay doanh nghiệp định giá chính xác tài sản mà còn giúp dự đoán xu hướng thị
trường và tạo ra các chiến lược kinh doanh hiệu quả.
-Ngoài ra giúp kinh tế thị trường phát triển mọi khía cạnh :
Nhà đầu tư: luôn cần dự báo giá chính xác để đưa ra quyết định đầu tư thong tin và mang lại lợi
nhuận cao nhất từ thị trường bất động sản
Người mua và người bán: người mua cần biết thông tin chính xác để đảm bảo họ không trả giá
quá cao cho tài sản,trong khi người mua thì muốn đảm bảo họ không bán quá rẻ cho nhu cầu
người mua
Chính phủ và các tổ chức quản lý thị trường bất động sản: cần thông tin để theo dõi và điều
chỉnh thị trường bất động sản,đảm bảo sự ổn định và công bằng cho mọi người trong việc trao
đổi chúng
-Tuy nhiên trên nền tảng Kaggle ,việc tham gia vào cuộc thi hoặc dự án về dự báo giá bất động
sản sẽ mang lại nhiều lợi ít.Đầu tiên, Kaggle cung cấp một bộ dữ liệu đa dạng và phong phú từ
các nguồn khác nhau, giúp nghiên cứu và phát triển mô hình dự báo đáng tin cậy. Thứ hai, trên
Kaggle, bạn có cơ hội tham gia vào cộng đồng lớn của các nhà khoa học dữ liệu, kỹ sư máy học
và chuyên gia AI, từ đó học hỏi và trao đổi kinh nghiệm. Cuối cùng, các dự án trên Kaggle
thường có tính thực tiễn cao và mang lại cơ hội để kiểm tra và cải thiện kỹ năng của bạn trong
việc xây dựng mô hình học máy từ việc tiền xử lý dữ liệu đến tinh chỉnh siêu tham số của mô
hình.
Tóm lại, việc lựa chọn thực hiện đề tài ứng dụng học máy để dự báo giá bất động sản trên nền
tảng Kaggle không chỉ đáp ứng nhu cầu thực tiễn của thị trường bất động sản mà còn mang lại
cơ hội học hỏi và phát triển kỹ năng cho cá nhân hoặc nhóm nghiên cứu.
1.2. Đối tượng, phạm vi thực hiện Đề tài
-Dự án dự báo giá bất động sản có thể được nguồn cấp dữ liệu từ nhiều nguồn khác nhau như các
trang web bất động sản, cơ quan chính phủ, tổ chức thương mại, hoặc các công ty bất động sản.
Các dữ liệu có thể bao gồm thông tin về giá bán/cho thuê, diện tích, vị trí địa lý, tiện ích xã hội
xung quanh, loại hình bất động sản, năm xây dựng, và các yếu tố khác ảnh hưởng đến giá.
- Hiện nay, dự báo giá bất động sản đã trở thành một lĩnh vực nghiên cứu phổ biến trong cả cộng
đồng nghiên cứu học máy và thị trường bất động sản. Có nhiều phương pháp và mô hình đã được
phát triển để dự báo giá bất động sản, từ các mô hình đơn giản như hồi quy tuyến tính đến các
mô hình phức tạp như mạng nơ-ron hồi quy và cây quyết định.
-Đối tượng cần nghiên cứu, tìm hiểu:
1. Thuật toán và mô hình học máy: Nghiên cứu về các thuật toán và mô hình học máy
phù hợp để dự báo giá bất động sản, bao gồm cả sự hiểu biết về ưu điểm, nhược điểm, và
cách áp dụng chúng trong bài toán cụ thể này.
2. Tiền xử lý dữ liệu: Nghiên cứu về các phương pháp tiền xử lý dữ liệu để chuẩn bị dữ
liệu đầu vào cho mô hình học máy, bao gồm xử lý dữ liệu thiếu, chuyển đổi biến số, và
chuẩn hóa dữ liệu.
3. Đánh giá và tinh chỉnh mô hình: Nghiên cứu về các phương pháp đánh giá hiệu suất
của mô hình và cách tinh chỉnh siêu tham số để cải thiện hiệu suất dự báo.
- Các giải pháp công nghệ đã được ứng dụng và có thể ứng dụng:
1. Mô hình hồi quy tuyến tính: Một trong những phương pháp đơn giản nhưng phổ biến,
có thể được ứng dụng để dự báo giá bất động sản dựa trên các biến số đầu vào.
2. Mạng nơ-ron hồi quy (RNNs): Các mô hình này có khả năng học các mẫu phức tạp
trong dữ liệu chuỗi thời gian, có thể được sử dụng để dự báo giá bất động sản dựa trên dữ
liệu thời gian.
3. Cây quyết định và Random Forest: Được sử dụng rộng rãi trong việc dự báo giá bất
động sản vì khả năng hiểu được mối quan hệ phi tuyến tính và xử lý tốt các biến số phức
tạp.
4. Học sâu (Deep Learning): Các mô hình như mạng nơ-ron hồi quy (RNN), mạng nơ-ron
hồi quy dài hạn ngắn (LSTM), hoặc mạng nơ-ron tích chập (CNN) có thể được áp dụng
để dự báo giá bất động sản với độ chính xác cao hơn.
1.3. Phương pháp luận được ứng dụng trong Đề tài
Trong Đề tài về ứng dụng Học máy để dự báo giá bất động sản trên nền tảng Kaggle, có một loạt
các nền tảng và giải pháp công nghệ được ứng dụng từ khâu thu thập dữ liệu đến triển khai sản
phẩm. Dưới đây là mô tả về các phần quan trọng này:
1.Phần mềm:
Ngôn ngữ lập trình: Python thường là lựa chọn phổ biến cho các dự án Học máy nhờ vào
các thư viện mạnh mẽ như Pandas, NumPy, Scikit-learn, TensorFlow, PyTorch, và Keras.
Công cụ phát triển: IDEs như Jupyter Notebook, Google Colab, hoặc các IDEs truyền
thống như PyCharm, Visual Studio Code.
Công cụ quản lý mã nguồn: Git và các dịch vụ như GitHub, GitLab giúp quản lý mã
nguồn, làm việc nhóm, và theo dõi lịch sử thay đổi.
2.Phần cứng và mạng:
Máy tính: Máy tính có cấu hình đủ mạnh để xử lý dữ liệu lớn và huấn luyện mô hình
phức tạp.
GPU/TPU: Sử dụng GPU hoặc TPU (Tensor Processing Unit) để tăng tốc quá trình huấn
luyện mô hình, đặc biệt là đối với các mô hình sâu và phức tạp.
3.Dữ liệu:
Dữ liệu thô: Dữ liệu về giá bất động sản từ các nguồn khác nhau như trang web bất động
sản, cơ quan chính phủ, tổ chức thương mại.
Dữ liệu tiền xử lý: Dữ liệu cần được tiền xử lý để loại bỏ nhiễu, xử lý dữ liệu thiếu, và
chuẩn hóa dữ liệu.
4.Mô hình đóng gói:
Mô hình học máy: Các mô hình như mô hình hồi quy tuyến tính, mạng nơ-ron, hoặc cây
quyết định được huấn luyện trên dữ liệu và đóng gói để sử dụng cho việc dự báo giá bất
động sản.
5.Triển khai sản phẩm:
API: Mô hình có thể được triển khai dưới dạng một API để có thể tích hợp vào các ứng
dụng web hoặc di động.
Ứng dụng web: Có thể phát triển ứng dụng web hoặc trang web để người dùng có thể
truy cập và sử dụng dịch vụ dự báo giá bất động sản.
Ứng dụng di động: Mô hình cũng có thể được tích hợp vào ứng dụng di động để cung cấp
dịch vụ dự báo giá bất động sản trên các thiết bị di động.
Tóm lại, việc áp dụng các nền tảng và giải pháp công nghệ này sẽ giúp đơn giản hóa quá trình
thu thập dữ liệu, xây dựng mô hình, và triển khai sản phẩm, từ đó mang lại giá trị thực tiễn trong
việc dự báo giá bất động sản.
1.4 Phương pháp nghiên cứu:
Phương pháp phân tích và tổng hợp lý thuyết
+ Phương pháp phân tích thuyết: phương pháp dùng để phân tích thuyết thành những
phần nhỏ khai thác nhiều khía cạnh khác nhau của những thành phần thuyết nhỏ đó từ
đó lựa chọn những thông tin cần thiết cho đề tài nghiên cứu.
+ Phương pháp tổng hợp thuyết: phương pháp dùng để tổng hợp những phần nhỏ
thuyết đã thu thập được thành một tổng thể để tạo ra một hệ thống thuyết mới cho đề tài
nghiên cứu.
1.5 Cơ sở khoa học và thực tiễn:
Cơ sở khoa học:
Cơ sở về học máy bao gồm kiến thức về các thuật toán học máy, từ các mô hình cơ bản
như Linear Regression và Decision Trees đến các mô hình phức tạp hơn như Neural
Networks và Ensemble Methods. Kiến thức về việc lựa chọn mô hình, tinh chỉnh siêu
tham số và đánh giá hiệu suất là quan trọng trong việc xây dựng mô hình dự báo giá bất
động sản.
Hiểu biết sâu sắc về thị trường bất động sản là cực kỳ quan trọng để xây dựng mô hình
dự báo giá hiệu quả. Các yếu tố như vị trí, khu vực, tiện ích xung quanh, xu hướng thị
trường và yếu tố kinh tế xã hội có thể ảnh hưởng đến giá bất động sản. Việc áp dụng các
kiến thức này vào việc thu thập dữ liệu và xây dựng mô hình sẽ giúp cải thiện chất lượng
của mô hình.
Đánh giá mô hình và giải thích kết quả: Cơ sở khoa học còn bao gồm việc đánh giá mô
hình và giải thích kết quả. Bằng cách sử dụng các phương pháp đánh giá như Mean
Absolute Error (MAE), Mean Squared Error (MSE) và phân tích đặc trưng quan trọng,
bạn có thể hiểu rõ hơn về hiệu suất của mô hình và cách các yếu tố ảnh hưởng đến giá bất
động sản.
Cơ sở thực tiễn:
Cơ sở thực tiễn quan trọng là sở hữu dữ liệu chất lượng. Điều này bao gồm dữ liệu rộng
rãi, đa dạng và đúng đắn về các yếu tố ảnh hưởng đến giá bất động sản như kích thước, vị
trí, tiện ích xung quanh, giá cả lịch sử, và các yếu tố kinh tế xã hội khác.
hiểu biết sâu sắc về thị trường bất động sản và các yếu tố ảnh hưởng đến giá. Điều này
giúp xác định được các biến quan trọng và xây dựng các mô hình phản ánh chính xác tình
hình thị trường.
việc giải thích dự báo giá bất động sản là rất quan trọng, đặc biệt khi các quyết định kinh
doanh hoặc đầu tư dựa trên các dự báo này. Do đó, các mô hình cần có tính minh bạch và
khả năng giải thích dễ hiểu để người dùng có thể hiểu rõ lý do và cơ sở của các dự báo.
1.6. Dự kiến kết quả Đề tài
1.7 Thời gian thực hiện:
Kéo học kỳ chính của năm học - 12 tuần (1/3/2023 -> 31/5/2024)
1.8 Nội dung của báo cáo
Đồ án tốt nghiệp được trình bày với mục tiêu tổng quan lại quá trình hình thành ý
tưởng và xây dựng đề tài. Nội dung của báo cáo sẽ bao gồm các phần như sau:
- Chương 1: Mở đầu
- Chương 2: machine learningSự phát triển
- Chương 3: Giới thiệu về Kaggle và giải pháp
- Chương 4: kết quả đạt được
- Chương 5: Kết luận và hướng phát triển
Chương 2: SỰ PHÁT TRIỂN MACHINE LEARNING
2.1 sự hình thành và phát triển của machine learning
Machine learning là một nhánh của trí tuệ nhân tạo (AI) và khoa học máy tính, tập trung vào việc
sử dụng dữ liệuthuật toán để bắt chước hành động của con người, dần dần cải thiện độ chính
xác của nó.
Machine learning còn một thành phần quan trọng của lĩnh vực khoa học dữ liệu đang phát
triển. Thông qua việc sử dụng các phương pháp thống kê, các thuật toán được đào tạo để đưa ra
các phân loại hoặc dự đoán và khám phá những thông tin chi tiết từ chính các dự án khai thác dữ
liệu.
Thông qua các thông tin chi tiết có được để thúc đẩy việc đưa ra quyết định đối với các ứng dụng
và doanh nghiệp, tác động mạnh đến các chỉ số tăng trưởng. Khi dữ liệu lớn tiếp tục nhu cầu mở
rộng và phát triển đòi hỏi nhu cầu tuyển dụng các nhà khoa học dữ liệu sẽ tăng lên. Họ sẽ được
yêu cầu giúp xác định các câu hỏi kinh doanh có liên quan nhất và dữ liệu để trả lời chúng.
Bài toán của machine learning thường được chia làm hai loại là dự đoán (prediction) và phân loại
(classification). Các bài toán dự đoán thường giá nhà, giá xe, v.v, còn các bài toán phân loại
thường là nhận diện chữ viết tay, đồ vật, v.v.
2.2 Các phương pháp Machine learning
Supervised machine learning:
Supervised learning còn được gọi máy học giám sát, được định nghĩa bằng cách sử dụng
các tập dữ liệu được gắn nhãn để huấn luyện các thuật toán phân loại dữ liệu hoặc dự đoán kết
quả một cách chính xác.
Khi dữ liệu đầu vào được đưa vào hình, hình sẽ điều chỉnh trọng lượng của cho đến
khi nó được lắp một cách thích hợp. Điều này xảy ra như một phần của quá trình xác nhận chéo
để đảm bảo rằng mô hình tránh trang bị quá nhiều hoặc trang bị thiếu thông tin.
Supervised machine learning giúp các tổ chức giải quyết nhiều vấn đề trong thế giới thực trên
quy lớn, chẳng hạn như phân loại thư rác trong một thư mục riêng biệt từ hộp thư đến của
bạn.
Một số phương pháp được sử dụng trong Supervised machine learning bao gồm: logistic
regression, neural networks, linear regression, naive bayes, random forest, support vector
machine (SVM)
Unsupervised machine learning:
Unsupervised machine learning phương pháp sử dụng các thuật toán máy học để phân tích
phân cụm các tập dữ liệu không được gắn nhãn.
Không cần sự can thiệp của con người, các thuật toán này có thể phát hiện ra các mẫu hoặc nhóm
dữ liệu ẩn. Khả năng phát hiện ra những điểm tương đồng khác biệt trong thông tin của
phương pháp này khiến nó trở nên lý tưởng cho việc phân tích dữ liệu khám phá, chiến lược bán
chéo (cross-sell), phân khúc khách hàng cũng như nhận dạng hình ảnh và mẫu.
Unsupervised machine learning cũng được sử dụng để giảm số lượng các tính năng trong một
mô hình thông qua quá trình giảm kích thước. Phân tích thành phần chính (PCA) và phân tích giá
trị đơn lẻ (SVD) là hai cách tiếp cận phổ biến cho việc này.
Các thuật toán khác được sử dụng trong học tập không giám sát bao gồm: k-means clustering,
neural networks, và probabilistic clustering methods.
Semi-supervised learning
Semi-supervised learning cung cấp một phương pháp hiệu quả giữa học tập có giám sát và không
giám sát. Trong quá trình đào tạo, sử dụng một tập dữ liệu nhãn nhỏ hơn để hướng dẫn
phân loại và trích xuất tính năng từ một tập dữ liệu lớn hơn, không được gắn nhãn.
Phương pháp Semi-supervised learning thể giải quyết vấn đề không đủ dữ liệu được gắn
nhãn cho thuật toán học có giám sát. Nó cũng hữu ích nếu quá tốn kém để gắn nhãn đủ dữ liệu.
2.3 Các thuật toán phổ biến của machine learning
Neural networks: Mô phỏng cách thức hoạt động của bộ não con người, với một số lượng
khổng lồ các nút xử lý được liên kết. Neural networks là thuật toán được dùng trong việc
nhận dạng các mẫu và đóng một vai trò quan trọng trong các ứng dụng bao gồm dịch
ngôn ngữ tự nhiên, nhận dạng hình ảnh, nhận dạng giọng nói và tạo hình ảnh.
Linear regression: Thuật toán này được sử dụng để dự đoán các giá trị số, dựa trên mối
quan hệ tuyến tính giữa các giá trị khác nhau.
Logistic regression: Thuật toán giúp đưa ra dự đoán cho các biến phản hồi phân loại,
chẳng hạn như câu trả lời “có/không” cho các câu hỏi. Nó có thể được sử dụng cho các
ứng dụng như phân loại thư rác và kiểm soát chất lượng trên dây chuyền sản xuất.
Clustering: Các thuật toán phân cụm có thể xác định các mẫu trong dữ liệu để nó có thể
được nhóm lại. Máy tính có thể giúp các nhà khoa học dữ liệu bằng cách xác định sự
khác biệt giữa các mục dữ liệu mà con người đã bỏ qua.
Decision trees: Là thuật toán được sử dụng để dự đoán giá trị số (hồi quy) và phân loại dữ
liệu. Decision trees sử dụng một chuỗi phân nhánh của các quyết định được liên kết có
thể được biểu diễn bằng sơ đồ cây. Một trong những ưu điểm của decision trees là chúng
dễ xác thực và kiểm tra, không giống thuật toán Neural networks.
Random forests: Trong một khu rừng ngẫu nhiên, thuật toán máy học dự đoán một giá trị
hoặc danh mục bằng cách kết hợp các kết quả từ một số cây quyết định.
2.4 Ứng dụng thực tế của Machine learning
Một số ứng dụng thực tế của learning machine như:
Speech recognition: Dùng để nhận dạng giọng nói tự động (ASR), nhận dạng giọng nói
máy tính hoặc chuyển giọng nói thành văn bản. Đây là một khả năng sử dụng xử lý ngôn
ngữ tự nhiên (NLP) để dịch giọng nói của con người sang định dạng viết.
Customer service: Chatbots trực tuyến đang thay thế các tác nhân con người trong hành
trình của khách hàng, thay đổi cách chúng ta nghĩ về sự tương tác của khách hàng trên
website và nền tảng xã hội.
Computer vision: Công nghệ AI này cho phép máy tính lấy thông tin có ý nghĩa từ video,
hình ảnh kỹ thuật số và các đầu vào trực quan khác, sau đó thực thi hành động thích hợp.
Recommendation engines: Sử dụng dữ liệu hành vi tiêu dùng trong quá khứ, các thuật
toán AI learning có thể giúp khám phá các xu hướng dữ liệu có thể được sử dụng để phát
triển các chiến lược cross-sell hiệu quả hơn.
Automated stock trading: Được thiết kế để tối ưu hóa danh mục đầu tư chứng khoán, các
nền tảng giao dịch tần suất cao do AI điều khiển để hàng triệu giao dịch mỗi ngày mà
không cần đến sự can thiệp của con người.
Fraud detection: Các ngân hàng và các tổ chức tài chính có thể sử dụng máy học để phát
hiện các giao dịch đáng ngờ.
Và còn rất rất nhiều lĩnh vực mà machine learning có thể được áp dụng, machine learning
tỏ ra cực kỳ hiệu quả, hơn hẳn con người trong cụ thể các lĩnh vực chúng được áp
dụng.
dụ đơn giản như dự báo thời tiết, người ta sẽ dùng các phép tính những quan sát, ghi
nhận về thời tiết trong quá khứ để dự báo về thời tiết của những ngày kế tiếp. Tuy nhiên sẽ
thế nào nếu như cực kỳ nhiều quan sát được thực hiện, thể lên đến hàng triệu, hàng tỉ
quan sát, lúc đó con người không thể nào thực hiện được việc tính toán trên dữ liệu lớn như
vậy. Hơn nữa, việc tính toán với dữ liệu lớn như vậy có thể gặp sai sót và dẫn đến kết quả dự
đoán bị sai.
Khi này, việc áp dụng machine learning vào để cho máy tính học các quan sát được ghi nhận
trong quá khứ, chúng có thể dự đoán được thời tiết trong tương lai với độ chính xác cao hơn
rất nhiều so với con người dự đoán.
Chính sự phổ biến hiệu quả của machine learning, việc bạn biết học về machine
learning chắc chắn là một lợi thế lớn trong thời đại công nghệ 4.0 như ngày nay.
2.5 Nguồn dữ liệu và chuẩn bị dữ liệu
Phân tích dữ liệu:
o Kết hợp dữ liệu từ nhiều nguồn và hợp lý hóa nó thành một tập dữ liệu.
o Trực quan hóa dữ liệu để tìm kiếm xu hướng.
o Sử dụng các công cụ và ngôn ngữ tập trung vào dữ liệu để tìm các mẫu trong dữ
liệu.
o Xác định các tính năng trong dữ liệu của bạn. Các tính năng bao gồm tập hợp con
các thuộc tính dữ liệu mà bạn sử dụng trong mô hình của mình.
o Làm sạch dữ liệu để tìm bất kỳ giá trị bất thường nào gây ra bởi lỗi trong quá
trình nhập hoặc đo lường dữ liệu.
Xử lý trước dữ liệu:
o Chuẩn hóa dữ liệu số thành một tỷ lệ chung.
o Áp dụng các quy tắc định dạng cho dữ liệu.
o Giảm dư thừa dữ liệu thông qua đơn giản hóa.
o Biểu diễn văn bản dưới dạng số.
o Gán các giá trị chính cho các cá thể dữ liệu.
2.6 Sự khác biệt giữa Machine Learning với Deep Learning
Machine Learning Deep learning
Machine Learning đòi hỏi nhiều hơn về sự
can thiệp của con người để được kết quả
chính xác.
Deep Learning tinh vi hơn để thiết lập
nhưng đòi hỏi sự can thiệp của con người ít
hơn nhiều sau đó.
Các chương trình machine learning thuật
toán ít phức tạp hơn deep learning và thường
thể chạy dễ dàng trên máy tính thông
thường.
Deep learning thì đòi hỏi công cụ, tài nguyên
phần cứng phải mạnh hơn rất nhiều thì mới
hoạt động được.
Hệ thống Machine Learning có thể được đưa
lên chạy nhanh, nhưng sức mạnh của
chúng có thể bị hạn chế.
Các hệ thống Deep Learning đòi hỏi nhiều nỗ
lực hơn để thiết lập nhưng có thể tạo ra kết quả
ngay lập tức.
Machine Learning thường đòi hỏi dữ liệu có
tổ chức và sử dụng các kỹ thuật cổ điển như
hồi quy tuyến tính.
Deep Learning sử dụng các mạng lưới thần
kinh được thiết kế để xử một lượng lớn
dữ liệu không có cấu trúc.
Machine learning đã được sử dụng những
nơi như hộp thư đến email, ngân hàng và văn
phòng bác sĩ của bạn.
Công nghệ Deep Learning cho phép các thuật
toán ngày càng phức tạp tự trị, chẳng hạn
như ô tô tự lái hoặc robot phẫu thuật.
Chương 3: GIỚI THIỆU VỀ KAGGLE VÀ ỨNG DỤNG
3.1 Khái niệm về Kaggle trong machine learning
-Khái niệm:
Kaggle là một cộng đồng online dành cho những ai đam mê khoa học dữ liệu và học máy (ML).
Nó là công cụ học tập hàng đầu cho người mới và dân chuyên nghiệp với những vấn đề thực tế
để mài giũa kỹ năng khoa học dữ liệu của bạn.
Được sở hữu bởi Google, nó hiện là nền tảng web có nguồn lực cộng đồng lớn nhất cho các nhà
khoa học dữ liệu và học viên học máy. Kaggle cho bạn tiếp cận một số chuyên gia trong lĩnh vực
mà có thể giúp bạn xây dựng ý tưởng, cạnh tranh và giải quyết những vấn đề đang gặp phải.
3.2 Tại sao nên dùng Kaggle cho nghiên cứu khoa học dữ liệu?
Bộ dữ liệu có sẵn
Dataset của Kaggle là tính năng hữu ích nhất vì việc tìm nguồn dữ liệu tại thời gian thực là vấn
đề quan trọng với hầu hết các nhà khoa học dữ liệu. Hãy tưởng tượng bạn dành thời gian và tiền
bạc để học lý thuyết nhưng lại không thể thực hành trong khi học thì sẽ khó đạt được hiệu quả
cao.
Kaggle giải quyết vấn đề này bằng cách cung cấp hơn 50.000 dataset mà bạn có thể dùng trong
khi huấn luyện các mô hình. Có một dataset cho bạn trên Kaggle.
Tất nhiên, làm việc trên các dataset “hotter” có thể có lợi hơn cho người mới bắt đầu. Dù bạn có
thể dùng kiến thức của bản thân để giải quyết vấn đề bất kỳ nhưng mọi việc sẽ dễ dàng hơn với
sự trợ giúp của các dataset thông dụng. Ngoài ra, lưu ý rằng những dataset này xuất hiện ở nhiều
định dạng file khác nhau, bao gồm CSV, JSON, SQLite…
Vô số mẫu code
Tương tự như những nền tảng lập trình khác, Kaggle cung cấp một kho đoạn mã và mẫu code
phong phú phục vụ cho các mục đích học khác nhau. Nghiên cứu code từ chuyên gia là cách
tuyệt vời để trở thành lập trình viên và tất nhiên, nhà khoa học dữ liệu đôi khi vẫn phải viết code.
Giống như dataset, người mới bắt đầu nên làm việc với Python trước để có đủ những mẫu code
cần thiết bởi đây là ngôn ngữ lập trình phổ biến nhất cho khoa học dữ liệu. Còn đối với người
học nâng cao hơn, Kaggle có đoạn code trong R, Julia và SQLite.
Quan trọng hơn, Kaggle trình bày những đoạn code mẫu ở định dạng Jupyter Notebook có thể
tùy biến, cho phép bạn chỉnh sửa file và thực hiện thay đổi cần thiết.
Những khóa học khoa học dữ liệu mục tiêu
Dù khoa học dữ liệu đơn giản hơn nhiều người vẫn nghĩ nhưng vẫn có một số lý thuyết phức tạp
trong lĩnh vực này. Để hiểu chúng rõ hơn, bạn có thể tham gia các khóa học về những khái niệm
khoa học dữ liệu trên Kaggle. Chúng tập trung vào những ứng dụng liên quan trong thực tế.
Những khóa học đó đều miễn phí, hoàn chỉnh và cấp chứng chỉ được công nhận cho học viên.
Hơn nữa, nếu muốn tránh những khóa học kéo dài hàng tháng sẵn có trên các nền tảng học
online, hãy tham khảo những lựa chọn trực tiếp, ngắn gọn hơn.
Kaggle là cộng đồng trực tuyến một điểm dừng cho nhà khoa học dữ liệu bởi nó cho bạn cơ hội
học hỏi từ người khác, qua network và trình bày công việc của bản thân. Bạn có thể đặt câu hỏi,
kết nối với đồng nghiệp và xây dựng trên kiến thức hiện có qua cộng đồng.
Trình bày tác phẩm cũng giúp bạn gây dựng danh tiếng như một chuyên gia trong lĩnh vực. Điều
này rất hữu ích trong quá trình tìm việc.
Cạnh tranh và động lực
Những cuộc thi giúp bạn đánh giá năng lực của bản thân và tích lũy kinh nghiệm quý giá. Ngoài
ra, vượt qua càng nhiều bài kiểm tra, bạn càng tự tin hơn trong hành trình nghiên cứu khoa học
dữ liệu.
Kaggle có một số cuộc thi để kiểm tra kiến thức của bạn so với người khác và tăng độ hấp dẫn
cho hồ sơ xin việc của bạn. Thậm chí, nhiều cuộc thi còn trao giải thưởng bằng tiền mặt.
Giá của Kaggle
Hoàn toàn miễn phí. Bạn có thể dùng một loạt dataset, tham gia các cuộc thi, nghiên cứu mẫu có
sẵn và trình bày công việc với chi phí 0 đồng. Bạn có thể đăng ký Kaggle.com và tạo ngay một
tài khoản.
3.2 Ứng Dụng Kaggle :
Kaggle là một nền tảng cộng đồng dành cho các nhà khoa học dữ liệu và các nhà phân tích.
Được mua lại bởi Google vào năm 2017, Kaggle cung cấp một loạt các cuộc thi và dự án về
dữ liệu, nơi mà các nhà phân tích có thể thiết lập và tham gia các cuộc thi để giải quyết các
vấn đề thực tế từ các công ty và tổ chức khác nhau.
Dưới đây là một số ứng dụng chính của Kaggle:
Cuộc thi dữ liệu: Kaggle tổ chức các cuộc thi dữ liệu thú vị, từ dự đoán giá cổ phiếu đến dự
đoán các bệnh lý dựa trên dữ liệu y tế.
Học tập và thực hành: Nền tảng cung cấp tài liệu học tập và các bài tập thực hành với các bộ
dữ liệu thực tế, giúp bạn học và áp dụng các kỹ năng về khoa học dữ liệu.
Khám phá và trình bày dữ liệu: Kaggle cho phép bạn tìm kiếm và khám phá các bộ dữ liệu
công khai, cũng như chia sẻ và trình bày dữ liệu của bạn với cộng đồng.
Phát triển mô hình dữ liệu: Các nhà khoa học dữ liệu có thể sử dụng Kaggle để phát triển và
thử nghiệm các mô hình dữ liệu của họ trên các bộ dữ liệu thực tế.
Chia sẻ kiến thức và kinh nghiệm: Cộng đồng Kaggle rất lớn và chủ động, với các diễn đàn
và trang web hỏi đáp, nơi bạn có thể chia sẻ kiến thức, kinh nghiệm và hỏi đáp về khoa học
dữ liệu.
Với các ứng dụng này, Kaggle không chỉ là một nền tảng giải quyết vấn đề dữ liệu mà còn là
một cộng đồng học hỏi và chia sẻ kiến thức vững mạnh.
| 1/12

Preview text:

LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong bài đồ án là sản phẩm của riêng cá nhân tôi và không có
sự sao chép lại của người khác. Trong toàn bộ nội dung của bài đồ án, những điều được trình bày
hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo
đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình.
TP. Hồ Chí Minh, ngày tháng năm 2024
Giảng viên hướng dẫn
Sinh viên thực hiện (nhóm trưởng)
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên) CHƯƠNG 1: MỞ ĐẦU
1.1. Lý do lựa chọn / tính cấp thiết Đề tài
- Trong bối cảnh sự phát triển không ngừng của công nghệ thông tin, đặc biệt là sự phát triển của
cuộc “cách mạng dữ liệu”,chúng ta thấy thiết bị máy tính đã trở thành 1 phần không thể thiếu
trong cuộc sống mọi người ,Ngoài ra Học máy (Machine Learning) là một phân nhánh của trí tuệ
nhân tạo (AI) tập trung vào việc xây dựng các mô hình dự đoán từ dữ liệu. Trong lĩnh vực này,
các thuật toán và phương pháp được sử dụng để phân tích và hiểu các mẫu trong dữ liệu để có
thể đưa ra dự đoán hoặc quyết định mà không cần sự can thiệp trực tiếp của con người
- Ứng dụng áp dụng trog lĩnh vực bất động sản ,việc dự báo giá có vai trò quan trọng trong việc
đưa ra quyết định mua, bán hoặc đầu tư vào bất động sản. Dự báo giá bất động sản không chỉ
giúp cá nhân hay doanh nghiệp định giá chính xác tài sản mà còn giúp dự đoán xu hướng thị
trường và tạo ra các chiến lược kinh doanh hiệu quả.
-Ngoài ra giúp kinh tế thị trường phát triển mọi khía cạnh :
Nhà đầu tư: luôn cần dự báo giá chính xác để đưa ra quyết định đầu tư thong tin và mang lại lợi
nhuận cao nhất từ thị trường bất động sản
Người mua và người bán: người mua cần biết thông tin chính xác để đảm bảo họ không trả giá
quá cao cho tài sản,trong khi người mua thì muốn đảm bảo họ không bán quá rẻ cho nhu cầu người mua
Chính phủ và các tổ chức quản lý thị trường bất động sản: cần thông tin để theo dõi và điều
chỉnh thị trường bất động sản,đảm bảo sự ổn định và công bằng cho mọi người trong việc trao đổi chúng
-Tuy nhiên trên nền tảng Kaggle ,việc tham gia vào cuộc thi hoặc dự án về dự báo giá bất động
sản sẽ mang lại nhiều lợi ít.Đầu tiên, Kaggle cung cấp một bộ dữ liệu đa dạng và phong phú từ
các nguồn khác nhau, giúp nghiên cứu và phát triển mô hình dự báo đáng tin cậy. Thứ hai, trên
Kaggle, bạn có cơ hội tham gia vào cộng đồng lớn của các nhà khoa học dữ liệu, kỹ sư máy học
và chuyên gia AI, từ đó học hỏi và trao đổi kinh nghiệm. Cuối cùng, các dự án trên Kaggle
thường có tính thực tiễn cao và mang lại cơ hội để kiểm tra và cải thiện kỹ năng của bạn trong
việc xây dựng mô hình học máy từ việc tiền xử lý dữ liệu đến tinh chỉnh siêu tham số của mô hình.
Tóm lại, việc lựa chọn thực hiện đề tài ứng dụng học máy để dự báo giá bất động sản trên nền
tảng Kaggle không chỉ đáp ứng nhu cầu thực tiễn của thị trường bất động sản mà còn mang lại
cơ hội học hỏi và phát triển kỹ năng cho cá nhân hoặc nhóm nghiên cứu.
1.2. Đối tượng, phạm vi thực hiện Đề tài
-Dự án dự báo giá bất động sản có thể được nguồn cấp dữ liệu từ nhiều nguồn khác nhau như các
trang web bất động sản, cơ quan chính phủ, tổ chức thương mại, hoặc các công ty bất động sản.
Các dữ liệu có thể bao gồm thông tin về giá bán/cho thuê, diện tích, vị trí địa lý, tiện ích xã hội
xung quanh, loại hình bất động sản, năm xây dựng, và các yếu tố khác ảnh hưởng đến giá.
- Hiện nay, dự báo giá bất động sản đã trở thành một lĩnh vực nghiên cứu phổ biến trong cả cộng
đồng nghiên cứu học máy và thị trường bất động sản. Có nhiều phương pháp và mô hình đã được
phát triển để dự báo giá bất động sản, từ các mô hình đơn giản như hồi quy tuyến tính đến các
mô hình phức tạp như mạng nơ-ron hồi quy và cây quyết định.
-Đối tượng cần nghiên cứu, tìm hiểu:
1. Thuật toán và mô hình học máy: Nghiên cứu về các thuật toán và mô hình học máy
phù hợp để dự báo giá bất động sản, bao gồm cả sự hiểu biết về ưu điểm, nhược điểm, và
cách áp dụng chúng trong bài toán cụ thể này.
2. Tiền xử lý dữ liệu: Nghiên cứu về các phương pháp tiền xử lý dữ liệu để chuẩn bị dữ
liệu đầu vào cho mô hình học máy, bao gồm xử lý dữ liệu thiếu, chuyển đổi biến số, và chuẩn hóa dữ liệu.
3. Đánh giá và tinh chỉnh mô hình: Nghiên cứu về các phương pháp đánh giá hiệu suất
của mô hình và cách tinh chỉnh siêu tham số để cải thiện hiệu suất dự báo.
- Các giải pháp công nghệ đã được ứng dụng và có thể ứng dụng:
1. Mô hình hồi quy tuyến tính: Một trong những phương pháp đơn giản nhưng phổ biến,
có thể được ứng dụng để dự báo giá bất động sản dựa trên các biến số đầu vào.
2. Mạng nơ-ron hồi quy (RNNs): Các mô hình này có khả năng học các mẫu phức tạp
trong dữ liệu chuỗi thời gian, có thể được sử dụng để dự báo giá bất động sản dựa trên dữ liệu thời gian.
3. Cây quyết định và Random Forest: Được sử dụng rộng rãi trong việc dự báo giá bất
động sản vì khả năng hiểu được mối quan hệ phi tuyến tính và xử lý tốt các biến số phức tạp.
4. Học sâu (Deep Learning): Các mô hình như mạng nơ-ron hồi quy (RNN), mạng nơ-ron
hồi quy dài hạn ngắn (LSTM), hoặc mạng nơ-ron tích chập (CNN) có thể được áp dụng
để dự báo giá bất động sản với độ chính xác cao hơn.
1.3. Phương pháp luận được ứng dụng trong Đề tài
Trong Đề tài về ứng dụng Học máy để dự báo giá bất động sản trên nền tảng Kaggle, có một loạt
các nền tảng và giải pháp công nghệ được ứng dụng từ khâu thu thập dữ liệu đến triển khai sản
phẩm. Dưới đây là mô tả về các phần quan trọng này: 1.Phần mềm: 
Ngôn ngữ lập trình: Python thường là lựa chọn phổ biến cho các dự án Học máy nhờ vào
các thư viện mạnh mẽ như Pandas, NumPy, Scikit-learn, TensorFlow, PyTorch, và Keras. 
Công cụ phát triển: IDEs như Jupyter Notebook, Google Colab, hoặc các IDEs truyền
thống như PyCharm, Visual Studio Code. 
Công cụ quản lý mã nguồn: Git và các dịch vụ như GitHub, GitLab giúp quản lý mã
nguồn, làm việc nhóm, và theo dõi lịch sử thay đổi. 2.Phần cứng và mạng: 
Máy tính: Máy tính có cấu hình đủ mạnh để xử lý dữ liệu lớn và huấn luyện mô hình phức tạp. 
GPU/TPU: Sử dụng GPU hoặc TPU (Tensor Processing Unit) để tăng tốc quá trình huấn
luyện mô hình, đặc biệt là đối với các mô hình sâu và phức tạp. 3.Dữ liệu: 
Dữ liệu thô: Dữ liệu về giá bất động sản từ các nguồn khác nhau như trang web bất động
sản, cơ quan chính phủ, tổ chức thương mại. 
Dữ liệu tiền xử lý: Dữ liệu cần được tiền xử lý để loại bỏ nhiễu, xử lý dữ liệu thiếu, và chuẩn hóa dữ liệu. 4.Mô hình đóng gói: 
Mô hình học máy: Các mô hình như mô hình hồi quy tuyến tính, mạng nơ-ron, hoặc cây
quyết định được huấn luyện trên dữ liệu và đóng gói để sử dụng cho việc dự báo giá bất động sản. 5.Triển khai sản phẩm: 
API: Mô hình có thể được triển khai dưới dạng một API để có thể tích hợp vào các ứng dụng web hoặc di động. 
Ứng dụng web: Có thể phát triển ứng dụng web hoặc trang web để người dùng có thể
truy cập và sử dụng dịch vụ dự báo giá bất động sản. 
Ứng dụng di động: Mô hình cũng có thể được tích hợp vào ứng dụng di động để cung cấp
dịch vụ dự báo giá bất động sản trên các thiết bị di động.
Tóm lại, việc áp dụng các nền tảng và giải pháp công nghệ này sẽ giúp đơn giản hóa quá trình
thu thập dữ liệu, xây dựng mô hình, và triển khai sản phẩm, từ đó mang lại giá trị thực tiễn trong
việc dự báo giá bất động sản.
1.4 Phương pháp nghiên cứu:
Phương pháp phân tích và tổng hợp lý thuyết
+ Phương pháp phân tích lý thuyết: là phương pháp dùng để phân tích lý thuyết thành những
phần nhỏ và khai thác nhiều khía cạnh khác nhau của những thành phần lý thuyết nhỏ đó và từ
đó lựa chọn những thông tin cần thiết cho đề tài nghiên cứu.
+ Phương pháp tổng hợp lý thuyết: là phương pháp dùng để tổng hợp những phần nhỏ và lý
thuyết đã thu thập được thành một tổng thể để tạo ra một hệ thống lý thuyết mới cho đề tài nghiên cứu.
1.5 Cơ sở khoa học và thực tiễn: Cơ sở khoa học:
Cơ sở về học máy bao gồm kiến thức về các thuật toán học máy, từ các mô hình cơ bản
như Linear Regression và Decision Trees đến các mô hình phức tạp hơn như Neural
Networks và Ensemble Methods. Kiến thức về việc lựa chọn mô hình, tinh chỉnh siêu
tham số và đánh giá hiệu suất là quan trọng trong việc xây dựng mô hình dự báo giá bất động sản. 
Hiểu biết sâu sắc về thị trường bất động sản là cực kỳ quan trọng để xây dựng mô hình
dự báo giá hiệu quả. Các yếu tố như vị trí, khu vực, tiện ích xung quanh, xu hướng thị
trường và yếu tố kinh tế xã hội có thể ảnh hưởng đến giá bất động sản. Việc áp dụng các
kiến thức này vào việc thu thập dữ liệu và xây dựng mô hình sẽ giúp cải thiện chất lượng của mô hình. 
Đánh giá mô hình và giải thích kết quả: Cơ sở khoa học còn bao gồm việc đánh giá mô
hình và giải thích kết quả. Bằng cách sử dụng các phương pháp đánh giá như Mean
Absolute Error (MAE), Mean Squared Error (MSE) và phân tích đặc trưng quan trọng,
bạn có thể hiểu rõ hơn về hiệu suất của mô hình và cách các yếu tố ảnh hưởng đến giá bất động sản.  Cơ sở thực tiễn:
Cơ sở thực tiễn quan trọng là sở hữu dữ liệu chất lượng. Điều này bao gồm dữ liệu rộng
rãi, đa dạng và đúng đắn về các yếu tố ảnh hưởng đến giá bất động sản như kích thước, vị
trí, tiện ích xung quanh, giá cả lịch sử, và các yếu tố kinh tế xã hội khác. 
hiểu biết sâu sắc về thị trường bất động sản và các yếu tố ảnh hưởng đến giá. Điều này
giúp xác định được các biến quan trọng và xây dựng các mô hình phản ánh chính xác tình hình thị trường. 
việc giải thích dự báo giá bất động sản là rất quan trọng, đặc biệt khi các quyết định kinh
doanh hoặc đầu tư dựa trên các dự báo này. Do đó, các mô hình cần có tính minh bạch và
khả năng giải thích dễ hiểu để người dùng có thể hiểu rõ lý do và cơ sở của các dự báo.
1.6. Dự kiến kết quả Đề tài
1.7 Thời gian thực hiện:
Kéo học kỳ chính của năm học - 12 tuần (1/3/2023 -> 31/5/2024)
1.8 Nội dung của báo cáo
Đồ án tốt nghiệp được trình bày với mục tiêu tổng quan lại quá trình hình thành ý
tưởng và xây dựng đề tài. Nội dung của báo cáo sẽ bao gồm các phần như sau: - Chương 1: Mở đầu - Chương 2: machine learning Sự phát triển -
Chương 3: Giới thiệu về Kaggle và giải pháp -
Chương 4: kết quả đạt được -
Chương 5: Kết luận và hướng phát triển
Chương 2: SỰ PHÁT TRIỂN MACHINE LEARNING
2.1 sự hình thành và phát triển của machine learning
Machine learning là một nhánh của trí tuệ nhân tạo (AI) và khoa học máy tính, tập trung vào việc
sử dụng dữ liệu và thuật toán để bắt chước hành động của con người, dần dần cải thiện độ chính xác của nó.
Machine learning còn là một thành phần quan trọng của lĩnh vực khoa học dữ liệu đang phát
triển. Thông qua việc sử dụng các phương pháp thống kê, các thuật toán được đào tạo để đưa ra
các phân loại hoặc dự đoán và khám phá những thông tin chi tiết từ chính các dự án khai thác dữ liệu.
Thông qua các thông tin chi tiết có được để thúc đẩy việc đưa ra quyết định đối với các ứng dụng
và doanh nghiệp, tác động mạnh đến các chỉ số tăng trưởng. Khi dữ liệu lớn tiếp tục nhu cầu mở
rộng và phát triển đòi hỏi nhu cầu tuyển dụng các nhà khoa học dữ liệu sẽ tăng lên. Họ sẽ được
yêu cầu giúp xác định các câu hỏi kinh doanh có liên quan nhất và dữ liệu để trả lời chúng.
Bài toán của machine learning thường được chia làm hai loại là dự đoán (prediction) và phân loại
(classification). Các bài toán dự đoán thường là giá nhà, giá xe, v.v, còn các bài toán phân loại
thường là nhận diện chữ viết tay, đồ vật, v.v.
2.2 Các phương pháp Machine learning Supervised machine learning:
Supervised learning còn được gọi là máy học có giám sát, được định nghĩa bằng cách sử dụng
các tập dữ liệu được gắn nhãn để huấn luyện các thuật toán phân loại dữ liệu hoặc dự đoán kết quả một cách chính xác.
Khi dữ liệu đầu vào được đưa vào mô hình, mô hình sẽ điều chỉnh trọng lượng của nó cho đến
khi nó được lắp một cách thích hợp. Điều này xảy ra như một phần của quá trình xác nhận chéo
để đảm bảo rằng mô hình tránh trang bị quá nhiều hoặc trang bị thiếu thông tin.
Supervised machine learning giúp các tổ chức giải quyết nhiều vấn đề trong thế giới thực trên
quy mô lớn, chẳng hạn như phân loại thư rác trong một thư mục riêng biệt từ hộp thư đến của bạn.
Một số phương pháp được sử dụng trong Supervised machine learning bao gồm: logistic
regression, neural networks, linear regression, naive bayes, random forest, và support vector machine (SVM) Unsupervised machine learning:
Unsupervised machine learning là phương pháp sử dụng các thuật toán máy học để phân tích và
phân cụm các tập dữ liệu không được gắn nhãn.
Không cần sự can thiệp của con người, các thuật toán này có thể phát hiện ra các mẫu hoặc nhóm
dữ liệu ẩn. Khả năng phát hiện ra những điểm tương đồng và khác biệt trong thông tin của
phương pháp này khiến nó trở nên lý tưởng cho việc phân tích dữ liệu khám phá, chiến lược bán
chéo (cross-sell), phân khúc khách hàng cũng như nhận dạng hình ảnh và mẫu.
Unsupervised machine learning cũng được sử dụng để giảm số lượng các tính năng trong một
mô hình thông qua quá trình giảm kích thước. Phân tích thành phần chính (PCA) và phân tích giá
trị đơn lẻ (SVD) là hai cách tiếp cận phổ biến cho việc này.
Các thuật toán khác được sử dụng trong học tập không giám sát bao gồm: k-means clustering,
neural networks, và probabilistic clustering methods. Semi-supervised learning
Semi-supervised learning cung cấp một phương pháp hiệu quả giữa học tập có giám sát và không
giám sát. Trong quá trình đào tạo, nó sử dụng một tập dữ liệu có nhãn nhỏ hơn để hướng dẫn
phân loại và trích xuất tính năng từ một tập dữ liệu lớn hơn, không được gắn nhãn.
Phương pháp Semi-supervised learning có thể giải quyết vấn đề không có đủ dữ liệu được gắn
nhãn cho thuật toán học có giám sát. Nó cũng hữu ích nếu quá tốn kém để gắn nhãn đủ dữ liệu.
2.3 Các thuật toán phổ biến của machine learning 
Neural networks: Mô phỏng cách thức hoạt động của bộ não con người, với một số lượng
khổng lồ các nút xử lý được liên kết. Neural networks là thuật toán được dùng trong việc
nhận dạng các mẫu và đóng một vai trò quan trọng trong các ứng dụng bao gồm dịch
ngôn ngữ tự nhiên, nhận dạng hình ảnh, nhận dạng giọng nói và tạo hình ảnh. 
Linear regression: Thuật toán này được sử dụng để dự đoán các giá trị số, dựa trên mối
quan hệ tuyến tính giữa các giá trị khác nhau. 
Logistic regression: Thuật toán giúp đưa ra dự đoán cho các biến phản hồi phân loại,
chẳng hạn như câu trả lời “có/không” cho các câu hỏi. Nó có thể được sử dụng cho các
ứng dụng như phân loại thư rác và kiểm soát chất lượng trên dây chuyền sản xuất. 
Clustering: Các thuật toán phân cụm có thể xác định các mẫu trong dữ liệu để nó có thể
được nhóm lại. Máy tính có thể giúp các nhà khoa học dữ liệu bằng cách xác định sự
khác biệt giữa các mục dữ liệu mà con người đã bỏ qua. 
Decision trees: Là thuật toán được sử dụng để dự đoán giá trị số (hồi quy) và phân loại dữ
liệu. Decision trees sử dụng một chuỗi phân nhánh của các quyết định được liên kết có
thể được biểu diễn bằng sơ đồ cây. Một trong những ưu điểm của decision trees là chúng
dễ xác thực và kiểm tra, không giống thuật toán Neural networks. 
Random forests: Trong một khu rừng ngẫu nhiên, thuật toán máy học dự đoán một giá trị
hoặc danh mục bằng cách kết hợp các kết quả từ một số cây quyết định.
2.4 Ứng dụng thực tế của Machine learning
Một số ứng dụng thực tế của learning machine như: 
Speech recognition: Dùng để nhận dạng giọng nói tự động (ASR), nhận dạng giọng nói
máy tính hoặc chuyển giọng nói thành văn bản. Đây là một khả năng sử dụng xử lý ngôn
ngữ tự nhiên (NLP) để dịch giọng nói của con người sang định dạng viết. 
Customer service: Chatbots trực tuyến đang thay thế các tác nhân con người trong hành
trình của khách hàng, thay đổi cách chúng ta nghĩ về sự tương tác của khách hàng trên
website và nền tảng xã hội. 
Computer vision: Công nghệ AI này cho phép máy tính lấy thông tin có ý nghĩa từ video,
hình ảnh kỹ thuật số và các đầu vào trực quan khác, sau đó thực thi hành động thích hợp. 
Recommendation engines: Sử dụng dữ liệu hành vi tiêu dùng trong quá khứ, các thuật
toán AI learning có thể giúp khám phá các xu hướng dữ liệu có thể được sử dụng để phát
triển các chiến lược cross-sell hiệu quả hơn. 
Automated stock trading: Được thiết kế để tối ưu hóa danh mục đầu tư chứng khoán, các
nền tảng giao dịch tần suất cao do AI điều khiển để hàng triệu giao dịch mỗi ngày mà
không cần đến sự can thiệp của con người. 
Fraud detection: Các ngân hàng và các tổ chức tài chính có thể sử dụng máy học để phát
hiện các giao dịch đáng ngờ. 
Và còn rất rất nhiều lĩnh vực mà machine learning có thể được áp dụng, machine learning
tỏ ra cực kỳ hiệu quả, hơn hẳn con người trong cụ thể các lĩnh vực mà chúng được áp dụng.
Ví dụ đơn giản như dự báo thời tiết, người ta sẽ dùng các phép tính và những quan sát, ghi
nhận về thời tiết trong quá khứ để dự báo về thời tiết của những ngày kế tiếp. Tuy nhiên sẽ
thế nào nếu như có cực kỳ nhiều quan sát được thực hiện, có thể lên đến hàng triệu, hàng tỉ
quan sát, lúc đó con người không thể nào thực hiện được việc tính toán trên dữ liệu lớn như
vậy. Hơn nữa, việc tính toán với dữ liệu lớn như vậy có thể gặp sai sót và dẫn đến kết quả dự đoán bị sai.
Khi này, việc áp dụng machine learning vào để cho máy tính học các quan sát được ghi nhận
trong quá khứ, chúng có thể dự đoán được thời tiết trong tương lai với độ chính xác cao hơn
rất nhiều so với con người dự đoán.
Chính vì sự phổ biến và hiệu quả của machine learning, việc bạn biết và học về machine
learning chắc chắn là một lợi thế lớn trong thời đại công nghệ 4.0 như ngày nay.
2.5 Nguồn dữ liệu và chuẩn bị dữ liệu  Phân tích dữ liệu: o
Kết hợp dữ liệu từ nhiều nguồn và hợp lý hóa nó thành một tập dữ liệu. o
Trực quan hóa dữ liệu để tìm kiếm xu hướng. o
Sử dụng các công cụ và ngôn ngữ tập trung vào dữ liệu để tìm các mẫu trong dữ liệu. o
Xác định các tính năng trong dữ liệu của bạn. Các tính năng bao gồm tập hợp con
các thuộc tính dữ liệu mà bạn sử dụng trong mô hình của mình. o
Làm sạch dữ liệu để tìm bất kỳ giá trị bất thường nào gây ra bởi lỗi trong quá
trình nhập hoặc đo lường dữ liệu.  Xử lý trước dữ liệu: o
Chuẩn hóa dữ liệu số thành một tỷ lệ chung. o
Áp dụng các quy tắc định dạng cho dữ liệu. o
Giảm dư thừa dữ liệu thông qua đơn giản hóa. o
Biểu diễn văn bản dưới dạng số. o
Gán các giá trị chính cho các cá thể dữ liệu.
2.6 Sự khác biệt giữa Machine Learning với Deep Learning Machine Learning Deep learning
Machine Learning đòi hỏi nhiều hơn về sự Deep Learning là tinh vi hơn để thiết lập
can thiệp của con người để có được kết quả nhưng đòi hỏi sự can thiệp của con người ít chính xác. hơn nhiều sau đó.
Các chương trình machine learning có thuật Deep learning thì đòi hỏi công cụ, tài nguyên
toán ít phức tạp hơn deep learning và thường và phần cứng phải mạnh hơn rất nhiều thì mới
có thể chạy dễ dàng trên máy tính thông hoạt động được. thường.
Hệ thống Machine Learning có thể được đưa Các hệ thống Deep Learning đòi hỏi nhiều nỗ
lên và chạy nhanh, nhưng sức mạnh của lực hơn để thiết lập nhưng có thể tạo ra kết quả
chúng có thể bị hạn chế. ngay lập tức.
Machine Learning thường đòi hỏi dữ liệu có Deep Learning sử dụng các mạng lưới thần
tổ chức và sử dụng các kỹ thuật cổ điển như
kinh và được thiết kế để xử lý một lượng lớn hồi quy tuyến tính.
dữ liệu không có cấu trúc.
Machine learning đã được sử dụng ở những Công nghệ Deep Learning cho phép các thuật
nơi như hộp thư đến email, ngân hàng và văn toán ngày càng phức tạp và tự trị, chẳng hạn phòng bác sĩ của bạn.
như ô tô tự lái hoặc robot phẫu thuật.
Chương 3: GIỚI THIỆU VỀ KAGGLE VÀ ỨNG DỤNG
3.1 Khái niệm về Kaggle trong machine learning -Khái niệm:
Kaggle là một cộng đồng online dành cho những ai đam mê khoa học dữ liệu và học máy (ML).
Nó là công cụ học tập hàng đầu cho người mới và dân chuyên nghiệp với những vấn đề thực tế
để mài giũa kỹ năng khoa học dữ liệu của bạn.
Được sở hữu bởi Google, nó hiện là nền tảng web có nguồn lực cộng đồng lớn nhất cho các nhà
khoa học dữ liệu và học viên học máy. Kaggle cho bạn tiếp cận một số chuyên gia trong lĩnh vực
mà có thể giúp bạn xây dựng ý tưởng, cạnh tranh và giải quyết những vấn đề đang gặp phải.
3.2 Tại sao nên dùng Kaggle cho nghiên cứu khoa học dữ liệu? Bộ dữ liệu có sẵn
Dataset của Kaggle là tính năng hữu ích nhất vì việc tìm nguồn dữ liệu tại thời gian thực là vấn
đề quan trọng với hầu hết các nhà khoa học dữ liệu. Hãy tưởng tượng bạn dành thời gian và tiền
bạc để học lý thuyết nhưng lại không thể thực hành trong khi học thì sẽ khó đạt được hiệu quả cao.
Kaggle giải quyết vấn đề này bằng cách cung cấp hơn 50.000 dataset mà bạn có thể dùng trong
khi huấn luyện các mô hình. Có một dataset cho bạn trên Kaggle.
Tất nhiên, làm việc trên các dataset “hotter” có thể có lợi hơn cho người mới bắt đầu. Dù bạn có
thể dùng kiến thức của bản thân để giải quyết vấn đề bất kỳ nhưng mọi việc sẽ dễ dàng hơn với
sự trợ giúp của các dataset thông dụng. Ngoài ra, lưu ý rằng những dataset này xuất hiện ở nhiều
định dạng file khác nhau, bao gồm CSV, JSON, SQLite… Vô số mẫu code
Tương tự như những nền tảng lập trình khác, Kaggle cung cấp một kho đoạn mã và mẫu code
phong phú phục vụ cho các mục đích học khác nhau. Nghiên cứu code từ chuyên gia là cách
tuyệt vời để trở thành lập trình viên và tất nhiên, nhà khoa học dữ liệu đôi khi vẫn phải viết code.
Giống như dataset, người mới bắt đầu nên làm việc với Python trước để có đủ những mẫu code
cần thiết bởi đây là ngôn ngữ lập trình phổ biến nhất cho khoa học dữ liệu. Còn đối với người
học nâng cao hơn, Kaggle có đoạn code trong R, Julia và SQLite.
Quan trọng hơn, Kaggle trình bày những đoạn code mẫu ở định dạng Jupyter Notebook có thể
tùy biến, cho phép bạn chỉnh sửa file và thực hiện thay đổi cần thiết.
Những khóa học khoa học dữ liệu mục tiêu
Dù khoa học dữ liệu đơn giản hơn nhiều người vẫn nghĩ nhưng vẫn có một số lý thuyết phức tạp
trong lĩnh vực này. Để hiểu chúng rõ hơn, bạn có thể tham gia các khóa học về những khái niệm
khoa học dữ liệu trên Kaggle. Chúng tập trung vào những ứng dụng liên quan trong thực tế.
Những khóa học đó đều miễn phí, hoàn chỉnh và cấp chứng chỉ được công nhận cho học viên.
Hơn nữa, nếu muốn tránh những khóa học kéo dài hàng tháng sẵn có trên các nền tảng học
online, hãy tham khảo những lựa chọn trực tiếp, ngắn gọn hơn.
Kaggle là cộng đồng trực tuyến một điểm dừng cho nhà khoa học dữ liệu bởi nó cho bạn cơ hội
học hỏi từ người khác, qua network và trình bày công việc của bản thân. Bạn có thể đặt câu hỏi,
kết nối với đồng nghiệp và xây dựng trên kiến thức hiện có qua cộng đồng.
Trình bày tác phẩm cũng giúp bạn gây dựng danh tiếng như một chuyên gia trong lĩnh vực. Điều
này rất hữu ích trong quá trình tìm việc. Cạnh tranh và động lực
Những cuộc thi giúp bạn đánh giá năng lực của bản thân và tích lũy kinh nghiệm quý giá. Ngoài
ra, vượt qua càng nhiều bài kiểm tra, bạn càng tự tin hơn trong hành trình nghiên cứu khoa học dữ liệu.
Kaggle có một số cuộc thi để kiểm tra kiến thức của bạn so với người khác và tăng độ hấp dẫn
cho hồ sơ xin việc của bạn. Thậm chí, nhiều cuộc thi còn trao giải thưởng bằng tiền mặt. Giá của Kaggle
Hoàn toàn miễn phí. Bạn có thể dùng một loạt dataset, tham gia các cuộc thi, nghiên cứu mẫu có
sẵn và trình bày công việc với chi phí 0 đồng. Bạn có thể đăng ký Kaggle.com và tạo ngay một tài khoản.
3.2 Ứng Dụng Kaggle :
Kaggle là một nền tảng cộng đồng dành cho các nhà khoa học dữ liệu và các nhà phân tích.
Được mua lại bởi Google vào năm 2017, Kaggle cung cấp một loạt các cuộc thi và dự án về
dữ liệu, nơi mà các nhà phân tích có thể thiết lập và tham gia các cuộc thi để giải quyết các
vấn đề thực tế từ các công ty và tổ chức khác nhau.
Dưới đây là một số ứng dụng chính của Kaggle:
Cuộc thi dữ liệu: Kaggle tổ chức các cuộc thi dữ liệu thú vị, từ dự đoán giá cổ phiếu đến dự
đoán các bệnh lý dựa trên dữ liệu y tế.
Học tập và thực hành: Nền tảng cung cấp tài liệu học tập và các bài tập thực hành với các bộ
dữ liệu thực tế, giúp bạn học và áp dụng các kỹ năng về khoa học dữ liệu.
Khám phá và trình bày dữ liệu: Kaggle cho phép bạn tìm kiếm và khám phá các bộ dữ liệu
công khai, cũng như chia sẻ và trình bày dữ liệu của bạn với cộng đồng.
Phát triển mô hình dữ liệu: Các nhà khoa học dữ liệu có thể sử dụng Kaggle để phát triển và
thử nghiệm các mô hình dữ liệu của họ trên các bộ dữ liệu thực tế.
Chia sẻ kiến thức và kinh nghiệm: Cộng đồng Kaggle rất lớn và chủ động, với các diễn đàn
và trang web hỏi đáp, nơi bạn có thể chia sẻ kiến thức, kinh nghiệm và hỏi đáp về khoa học dữ liệu.
Với các ứng dụng này, Kaggle không chỉ là một nền tảng giải quyết vấn đề dữ liệu mà còn là
một cộng đồng học hỏi và chia sẻ kiến thức vững mạnh.