House Price Prediction
हम क्या बना रहे हैं
House price predictor एक machine learning model है जो size और rooms की संख्या जैसे features से price का अनुमान लगाता है। चूँकि जवाब एक number है, यह regression समस्या है, और हम इसे scikit-learn से linear regression से हल करते हैं।
Regression, classification नहीं
Spam detection messages को categories में बाँटता है — वो classification है। House price prediction Rs 42,50,000 जैसा continuous number देता है — वो regression है। Linear regression inputs (features) और output number के बीच संबंध सीखता है, फिर उससे नए houses के prices predict करता है।
Data (features और price)
# feature: sq ft में area -> target: price (लाख में)
X = [[500], [800], [1000], [1500]] # areas
y = [25, 40, 50, 75] # prices
हर house के features हैं (यहाँ बस area) और एक जाना price। Model सीखता है area price से कैसे जुड़ा है। असली datasets bedrooms, location, age वग़ैरह जोड़ते हैं।
Model train करना
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y) # संबंध सीखो
LinearRegression data के बीच सबसे अच्छी line ढूँढता है। fit(X, y) इसे train करता है, तो यह लगभग सीखता है price प्रति square foot कितना बढ़ता है।
Price predict करना
new_house = [[1200]] # 1200 sq ft
price = model.predict(new_house)
print("Predicted price:", price[0], "lakh")
हम नए house के features predict को देते हैं, और यह सीखी line के आधार पर अनुमानित price लौटाता है। ज़्यादा features ज़्यादा सटीक predictions देते हैं।
Model जाँचना
from sklearn.metrics import r2_score
pred = model.predict(X)
print("R2 score:", r2_score(y, pred)) # 1 के पास बेहतर
Model पर भरोसा करने को, उसकी accuracy मापिए। r2_score 1 के पास मतलब line data से अच्छी fit होती है। व्यवहार में, हमेशा उस data पर test कीजिए जो model ने न देखा हो।
आम गलतियाँ
- Number के लिए classification इस्तेमाल करना। Price continuous है — classifier नहीं, regression इस्तेमाल कीजिए।
- बहुत कम features। एक feature सीमित है; बेहतर results को rooms, location, age जोड़िए।
- Features scale न करना। बहुत अलग ranges (area बनाम rooms) scaling से मदद पा सकते हैं।
- सिर्फ़ training data पर test करना। हमेशा अनदेखे houses पर accuracy जाँचिए।
सारांश
- Price predict करना regression है (एक number), classification नहीं।
- Linear regression features और price के बीच एक line सीखता है।
model.fit(X, y)से train,model.predict()से predict कीजिए।- ज़्यादा सटीक predictions को और features जोड़िए।
- अनदेखे test data पर accuracy (जैसे R-squared) जाँचिए।
आगे, classification से तुलना कीजिए spam detection में, या ML types सीखिए supervised learning में।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Price prediction किस तरह की machine learning समस्या है?
Linear regression क्या है?
House price prediction में features क्या हैं?
नए house के लिए price कैसे predict करूँ?
model.predict([[...features...]]) call कीजिए। यह training data से सीखे के आधार पर predicted price लौटाता है।