Dự đoán giá nhà ở bằng Google AutoML Table

Tổng quan về vấn đề
Dữ liệu dạng bảng khá phổ biến trong các vấn đề kinh doanh và kỹ thuật khác nhau. Máy học có thể được sử dụng để dự đoán các cột cụ thể của bảng mà chúng tôi quan tâm, sử dụng các cột khác làm tính năng đầu vào. Chúng tôi sẽ lấy một ví dụ về việc sử dụng dữ liệu bán nhà trong quá khứ để dự đoán giá bán cho những ngôi nhà được tung ra thị trường trong tương lai. Tập dữ liệu giá nhà từ Kaggle chứa dữ liệu như vậy cho Ames, Iowa. Nó chứa các cột dự đoán như diện tích nhà, tên khu vực lân cận, loại tòa nhà, kiểu nhà, tình trạng, năm bán gần đây nhất, v.v., trong tổng số 79 tính năng dự đoán như vậy. Một số tính năng này là phân loại trong khi các tính năng khác là số và mục tiêu của chúng tôi là dự đoán Giá bán (cột số) của những ngôi nhà sử dụng các tính năng này.
Tôi | LotArea | Khu vực lân cận | BldgType | Phong cách | Cond | YrBuilt | 1stFlrSF | 2ndFlrSF | Lò sưởi | YrSold | Giá bán |
1 | 8450 | CollgCr | 1Fam | 2Story | 5 | 2003 | 856 | 854 | 0 | 2008 | 208500 |
2 | 9600 | Veenker | 1Fam | 1Story | số 8 | Năm 1976 | 1262 | 0 | 1 | 2007 | 181500 |
3 | 11250 | CollgCr | 1Fam | 2Story | 5 | 2001 | 920 | 866 | 1 | 2008 | 223500 |
4 | 9550 | Crawfor | 1Fam | 2Story | 5 | 1915 | 961 | 756 | 1 | 2006 | 140000 |
5 | 14260 | NoRidge | 1Fam | 2Story | 5 | 2000 | 1145 | 1053 | 1 | 2008 | 250000 |
6 | 14115 | Mitchel | 1Fam | 1.5Fin | 5 | 1993 | 796 | 566 | 0 | 2009 | 143000 |
7 | 10084 | Đầu tiên | 1Fam | 1Story | 5 | 2004 | 1694 | 0 | 1 | 2007 | 307000 |
số 8 | 10382 | NWAmes | 1Fam | 2Story | 6 | Năm 1973 | 1107 | 983 | 2 | 2009 | 200000 |
9 | 6120 | Phố cổ | 1Fam | 1.5Fin | 5 | 1931 | 1022 | 752 | 2 | 2008 | 129900 |
10 | 7420 | BrkSide | 2fmCon | 1.5Unf | 6 | 1939 | 1077 | 0 | 2 | 2008 | 118000 |
11 | 11200 | Sawyer | 1Fam | 1Story | 5 | 1965 | 1040 | 0 | 0 | 2008 | 129500 |
12 | 11924 | NridgHt | 1Fam | 2Story | 5 | 2005 | 1182 | 1142 | 2 | 2006 | 345000 |
13 | 12968 | Sawyer | 1Fam | 1Story | 6 | Năm 1962 | 912 | 0 | 0 | 2008 | 144000 |
Tổng quan về Bảng AutoML của Google
Google AutoML Tables cho phép đào tạo nhanh chóng và độ chính xác cao và lưu trữ sau đó các mô hình ML cho một vấn đề như vậy. Người dùng có thể nhập và trực quan hóa dữ liệu, đào tạo mô hình, đánh giá mô hình đó trên bộ thử nghiệm, lặp lại để cải thiện độ chính xác của mô hình và sau đó lưu trữ mô hình tốt nhất cho các dự đoán trực tuyến / ngoại tuyến. Tất cả các chức năng trên đều khả dụng như một dịch vụ mà người dùng không cần phải có chuyên môn về ML hoặc cài đặt phần cứng hoặc phần mềm.
Bảng AutoML có thể đào tạo cả mô hình hồi quy và phân loại tùy thuộc vào loại cột mà chúng tôi đang cố gắng dự đoán.
Thiết lập ban đầu
Trước tiên, chúng tôi đăng nhập vào tài khoản Google Cloud Platform (GCP) của mình (hoặc tạo tài khoản nếu chúng tôi chưa có) và tạo một dự án mới. Sau đó kích hoạt AutoML Tables bằng cách chọn 'Tables' và bật API như hình dưới đây.
Bảng" src="https://dz2cdn1.dzone.com/storage/temp/14570735-picture1.png">
Nhập dữ liệu
Để nhập dữ liệu, chúng tôi chuyển đến tab Nhập và chọn loại nguồn, tức là bảng CSV hoặc BigQuery. Trong trường hợp của chúng tôi, chúng tôi sẽ tải lên 'train.csv' của tập dữ liệu giá nhà ở mà chúng tôi đã tải xuống trước đó. Nếu nhóm GCS đích tải lên chưa tồn tại, chúng tôi có thể tạo một nhóm vùng duy nhất, ví dụ: 'gs: // house_prices_dataset_1'. AutoML Tables sẽ nhập dữ liệu và tự động phân tích nó để xác thực nó và phát hiện các kiểu dữ liệu của các cột.
Khám phá dữ liệu
Chúng tôi có thể khám phá lược đồ dữ liệu đã nhập sau khi quá trình nhập hoàn tất. AutoML sẽ hiển thị tên cột, kiểu dữ liệu (tức là danh mục, số hoặc văn bản), các giá trị bị thiếu và các giá trị riêng biệt cho mỗi cột. Chúng tôi nên đặt cột mục tiêu dự đoán và trong trường hợp của chúng tôi, chúng tôi sẽ dự đoán cột Giá bán. Để cho phép chúng tôi hiểu giá trị của từng tính năng riêng lẻ, nó cũng tạo ra điểm tương quan của từng cột với cột mục tiêu. Ngoài ra, chúng ta có thể khám phá sự phân bố của các giá trị trong mỗi cột.
Trong một số trường hợp, có thể loại dữ liệu của đối tượng địa lý bị phát hiện không chính xác là số khi nó thực sự được phân loại nếu giá trị danh mục là số thay vì văn bản, chẳng hạn như Năm bán. Chúng tôi có thể ghi đè loại trong trường hợp có những sai lầm như vậy.
Bây giờ chúng ta có thể chọn các cột đầu vào và một số dữ liệu và thông số huấn luyện nhất định. Trước tiên, chúng tôi xóa cột ID dưới dạng một đối tượng địa lý, vì đó là mã định danh duy nhất của hàng chứ không phải đối tượng địa lý. Sau đó, chúng tôi chỉ định phần tách tập dữ liệu huấn luyện, xác thực và thử nghiệm mà AutoML sẽ sử dụng trong quá trình huấn luyện. Điều này có thể được thiết lập để xảy ra tự động (ngẫu nhiên) hoặc chúng ta có thể chỉ định các hàng tập hợp Train / Validation / Test với một cột bổ sung. Tiếp theo, chúng ta có thể đặt xem có cột nào nên được coi là cột trọng số hay không. Điều này sẽ mang lại tầm quan trọng cao hơn cho các hàng nhất định và hữu ích nếu chúng ta muốn mô hình của mình chính xác hơn đối với một số tập hợp con dữ liệu nhất định, ví dụ: đối với một số loại nhà hoặc khu vực nhất định.
Trong các tính năng nâng cao, chúng tôi có thể chọn khoảng thời gian mà chúng tôi nên đào tạo mô hình. Trong trường hợp mô hình hội tụ sớm hơn, AutoML sẽ tự động ngừng đào tạo ('Dừng sớm') trước thời hạn quy định của chúng tôi. Vì tập dữ liệu của chúng tôi nhỏ, chúng tôi có thể chọn ngân sách chỉ trong 1 giờ.
Cuối cùng, chúng ta có thể chọn các hàm mục tiêu trong số:
- RMSE (Root Mean Square Error) - Hàm mục tiêu này được sử dụng khi độ lệch lớn hoặc độ lệch tương đối nhỏ trên các giá trị lớn cần quan trọng hơn.
- MAE (Mean Absolute Error) - Điều này tương tự như RMSE nhưng độ lệch lớn có ý nghĩa ít hơn một chút vì chúng tôi lấy chênh lệch tuyệt đối (L1) thay vì chênh lệch bình phương (L2) như trong RMSE.
- RMSLE (Root Mean Square Log Error) - Hàm mục tiêu này được sử dụng khi chúng ta muốn xử lý các độ lệch quy mô lớn và nhỏ như nhau vì chúng ta lấy nhật ký các dự đoán và sự thật cơ bản.
Kiểm tra và kết quả
Việc đào tạo mô hình có thể mất từ 30 phút đến 20 giờ tùy thuộc vào ngân sách quy định và mức độ tập trung của đào tạo. Sau khi hoàn thành, chúng tôi có thể thấy kết quả của mô hình hồi quy của mình, nơi chúng tôi có thể dự đoán trong phạm vi 14% so với giá thực tế trung bình (MAPE) trên phần tách thử nghiệm của dữ liệu đào tạo của chúng tôi. Với nhiều dữ liệu đào tạo hơn, lỗi này có thể được giảm bớt.
Chúng ta cũng có thể thấy điểm quan trọng cho từng tính năng. Chúng tôi thấy rằng 'Diện tích đất ở' là tính năng quan trọng nhất. Các tính năng hàng đầu khác là 'Diện tích lô đất,' 'Khu vực hiên nhà' ',' Diện tích tầng 1 ',' Chất lượng ngôi nhà ',' Năm xây dựng ',' Năm tu sửa ', v.v., khá trực quan và cho biết mô hình đang học hỏi các tính năng chính xác để dự đoán giá bán.
Sự dự đoán
We can use this model in 3 modes for prediction on new data:
- Online prediction — In online mode, we can issue live requests to our model, e.g., from a production service. The model is hosted by AutoML which will replicate the model and deliver a high-availability and low-latency SLO. For this mode, the model needs to be deployed.
- Batch prediction — In batch mode, the model can be run for one-off jobs by AutoML to predict over a bigger batch of data we already have. There is no need to deploy the model and is thus cheaper than online mode.
- Self-hosted — We can export a docker image of the model and host it on our own VMs and containers. In this mode, we will be responsible for the reliability and maintenance of the model. This mode is useful if the model needs to be used on-prem for predicting data that can not leave an on-prem environment or if the costs of using AutoML online/batch prediction are too high.
Conclusion
To conclude, in this article, we showed how AutoML Tables is a great tool to train and host a good quality ML model for tabular data while requiring only minimal knowledge of ML/AI and no efforts for setting up training and hosting environments.
AutoML Tables take care of these requirements for you and provides you with 'Automatic ML.'
Có thể bạn quan tâm
