Տան գնի կանխատեսում Python-ում մեքենայական ուսուցման միջոցով


Մեքենայական ուսուցման ուժի ներդրմամբ՝ Python-ի միջոցով բնակարանների գների կանխատեսման գործում հեղափոխություն է տեղի ունեցել անշարժ գույքի ոլորտում: Այս հոդվածում մենք ուսումնասիրում ենք բնակարանների գների կանխատեսման դինամիկ աշխարհը՝ օգտագործելով մեքենայական ուսուցման ժամանակակից տեխնիկան: Օգտագործելով Python-ում տվյալների վերլուծության, առանձնահատկությունների ճարտարագիտության և մոդելների ուսուցման հսկայական ներուժը, մենք նպատակ ունենք տրամադրել համապարփակ ուղեցույց, որն ընթերցողներին կհամալրի գործիքներ՝ մշտապես փոփոխվող բնակարանային շուկայում տեղեկացված որոշումներ կայացնելու համար:

Գծային ռեգրեսիա տան գնի կանխատեսման համար

Գծային ռեգրեսիան հիմնականում օգտագործվող տեխնիկան է բնակարանների գների կանխատեսման համար՝ շնորհիվ իր պարզության և մեկնաբանելիության: Այն ենթադրում է գծային հարաբերություն անկախ փոփոխականների (օրինակ՝ քանի ննջասենյակ, լոգասենյակների քանակը և քառակուսի մակերեսը) և կախյալ փոփոխականի (տան գինը) միջև: Պատմական տվյալներին համապատասխանեցնելով գծային ռեգրեսիայի մոդելը, մենք կարող ենք գնահատել գործակիցները, որոնք ներկայացնում են նպատակային փոփոխականի և հատկանիշների միջև կապը: Սա մեզ հնարավորություն է տալիս կանխատեսումներ անել նոր տվյալների վերաբերյալ՝ բազմապատկելով հատկանիշի արժեքները իրենց համապատասխան գործակիցներով և ամփոփելով դրանք: Գծային ռեգրեսիան տալիս է պատկերացումներ յուրաքանչյուր հատկանիշի ազդեցության վերաբերյալ տան գնի վրա՝ հնարավորություն տալով մեզ հասկանալ տարբեր գործոնների նշանակությունը և տեղեկացված որոշումներ կայացնել անշարժ գույքի շուկայում:

Տան գնի կանխատեսում մեքենայական ուսուցման միջոցով

Մեքենայական ուսուցումը ներառում է համակարգչի ուսուցում՝ օրինաչափությունները ճանաչելու և տվյալների հիման վրա կանխատեսումներ կատարելու համար: Տների գների կանխատեսման դեպքում մենք կարող ենք օգտագործել պատմական տվյալներ տան տարբեր առանձնահատկությունների վերաբերյալ, ինչպիսիք են նրա գտնվելու վայրը, չափը և հարմարությունները՝ մեքենայական ուսուցման մոդել պատրաստելու համար: Երբ մոդելը վերապատրաստվի, այն կարող է վերլուծել նոր տվյալներ տվյալ տան վերաբերյալ և կանխատեսել դրա շուկայական արժեքը:

Տան գնի կանխատեսում մեքենայական ուսուցման միջոցով (Գծային ռեգրեսիոն մոդել)

Հետևեք ստորև տրված քայլերին՝ մեքենայական ուսուցման միջոցով բնակարանների գների կանխատեսումը կատարելու համար

Մենք օգտագործել ենք Kaggle kc_house_data տվյալների հավաքածու:

  • Ներմուծեք պահանջվող գրադարաններն ու մոդուլները, ներառյալ պանդաները տվյալների մանիպուլյացիայի համար, scikit-learn-ը մեքենայական ուսուցման ալգորիթմների համար և LinearRegression-ը գծային ռեգրեսիայի մոդելի համար:

  • Պահանջվող տվյալների բազան բեռնում ենք pd.read_csv-ով և ընտրում ենք այն հատկանիշները, որոնք մենք ցանկանում ենք օգտագործել կանխատեսման համար (օրինակ՝ ննջասենյակներ, լոգարաններ, sqft_living, sqft_lot, հարկեր և փոստային ինդեքս), ինչպես նաև նպատակային փոփոխական (գին):

  • Տվյալները բաժանեք վերապատրաստման հավաքածուի և թեստային հավաքածուի՝ օգտագործելով train_test_split ֆունկցիան, ընդ որում տվյալների 80%-ը օգտագործվում է ուսուցման և 20%-ը՝ թեստավորման համար:

  • Ստեղծեք գծային ռեգրեսիայի մոդելի օրինակ՝ օգտագործելով LinearRegression(): Այնուհետև մենք կատարում ենք մոդելի ուսուցում` վերապատրաստման տվյալների հետ կանչելով fit() ֆունկցիան:

  • Մոդելի կատարումը գնահատելու համար մենք հաշվարկում ենք R^2 միավորը՝ օգտագործելով թեստային հավաքածուի միավորը:

  • Ցույց տվեք, թե ինչպես կարելի է կանխատեսել նոր տան գինը՝ ստեղծելով նոր տվյալների շրջանակ new_house տան առանձնահատկություններով: Մենք փոխանցում ենք այս տվյալների շրջանակը մոդելի կանխատեսման գործառույթին՝ կանխատեսված գինը ստանալու համար:

Օրինակ

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import pandas as pdd

# Loading the dataset
data_h = pdd.read_csv('kc_house_data.csv')

# Selecting the features and target variable
Features1 = ['bedrooms', 'bathrooms', 'sqft_living', 'sqft_lot', 'floors', 'zipcode']
target = 'price'
X1 = data_h[features1]
y1 = data_h[target]

# We will perform the data splitting into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X1, y1, test_size=0.2, random_state=42)

# instance of the Linear Regression model creation 
model = LinearRegression()

# Training the model
model.fit(X_train, y_train)

# Making predictions on the test set
y_pred = model.predict(X_test)

# Evaluating the model
score = model.score(X_test, y_test)
print("Model R^2 Score:", score)
# Predicting the price of a new house
new_house = pdd.DataFrame({'bedrooms': [2], 'bathrooms': [2.5], 'sqft_living': [600], 'sqft_lot': [600], 'floors': [2], 'zipcode': [98008]})
predicted_price = model.predict(new_house)
print("Predicted Price:", predicted_price[0])

Արդյունք

C:\Users\Tutorialspoint>python image.py
Model R^2 Score: 0.5152176902631012
Predicted Price: 121215.61449578404

Եզրակացություն

Եզրափակելով, Python-ում մեքենայական ուսուցման օգտագործումը հզոր գործիք է բնակարանների գները կանխատեսելու համար: Հավաքելով և մաքրելով տվյալները, պատկերացնելով օրինաչափությունները և մեր մոդելները վերապատրաստելով և գնահատելով՝ մենք կարող ենք տեղեկացված որոշումներ կայացնել անշարժ գույքի դինամիկ աշխարհում:

Օգտագործելով առաջադեմ ալգորիթմներ և տվյալների վերլուծություն՝ մենք կարող ենք ճշգրիտ կանխատեսումներ անել և տեղեկացնել որոշումների կայացման գործընթացներին: Այս մոտեցումը հնարավորություն է տալիս գնորդներին, վաճառողներին և ներդրողներին կատարել տեղեկացված ընտրություն դինամիկ և մրցակցային շուկայում՝ ի վերջո առավելագույնի հասցնելով նրանց հնարավորություններն ու արդյունքները: