Bir ev fiyat modeline enlem ve boylam sağlama

Aug 16 2020

Makine öğreniminde yeniyim ve bir model için verileri nasıl optimize ettiğiniz hakkında fikir edinmeye çalışıyorum. Ev fiyat tahmini yoluyla makine öğreniminin temellerini öğreten bu resmi Kaggle eğitimini takip ediyorum . Bir karar ağacı kullanıyorlar, ancak bir evin fiyatını tahmin etmek için modele hangi özellikleri eklediklerini garip buldum:

house_price_features = ['Rooms', 'Bathroom', 'Landsize', 'Latitude', 'Longitude']

Odalar, banyolar ve arazi boyutları bana mantıklı geliyor - ama enlem ve boylam? Açıkçası, konum ve fiyat arasında bir ilişki var, ancak bu hoş bir eğri takip etmeyecek. Bazen bir blok yukarı çıkmak ev fiyatlarını iki katına çıkarır; bazen hiçbir etkisi olmayacaktır. Sezgisel olarak, bir modelin fiyatı tahmin etmede bu özelliklerle yapabileceği her şeyin aşırı uygun olduğunu düşünüyorum. Öyleyse, sorum iki yönlü:

  1. Fiyatı tahmin etmek için bu modele enlem ve boylamı vermekte haklı mıydılar yoksa sadece modele zarar verebilecek bu gereksiz bilgi mi? Neden?
  2. Yukarıdakinin cevabı "hayır" ise, enlem ve boylam verilerinin (yani mahalle kimliklerine) verileri daha yararlı hale getirecek herhangi bir dönüşümü var mı?

Yanıtlar

9 MichaelM Aug 15 2020 at 23:56

Cevap evet çünkü konum genellikle fit kare başına ev fiyatlarının ana etkeni. Düşürmek, model performansını muhtemelen dramatik bir şekilde bozacaktır.

Enlem / boylam bazında, ağaç temelli yöntemler haritayı dikdörtgen parçalara böler. Belirli bir alanda etki ne kadar güçlü ve veri ne kadar fazla olursa, parçalar o kadar küçük olur. Daha az yoğun bölgelerde, parçalar çok küçük olmayacaktır.

Bunları doğrusal bir regresyonda doğrusal efektler olarak eklemezsiniz. Orada, farklı yaklaşımları düşünmeniz gerekir. Basit bir yöntem, enlem / boylamın her birini kübik bir spline ile temsil etmek ve aralarına etkileşim terimleri eklemek olacaktır.