Տան գնի կանխատեսում 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-ում մեքենայական ուսուցման օգտագործումը հզոր գործիք է բնակարանների գները կանխատեսելու համար: Հավաքելով և մաքրելով տվյալները, պատկերացնելով օրինաչափությունները և մեր մոդելները վերապատրաստելով և գնահատելով՝ մենք կարող ենք տեղեկացված որոշումներ կայացնել անշարժ գույքի դինամիկ աշխարհում:
Օգտագործելով առաջադեմ ալգորիթմներ և տվյալների վերլուծություն՝ մենք կարող ենք ճշգրիտ կանխատեսումներ անել և տեղեկացնել որոշումների կայացման գործընթացներին: Այս մոտեցումը հնարավորություն է տալիս գնորդներին, վաճառողներին և ներդրողներին կատարել տեղեկացված ընտրություն դինամիկ և մրցակցային շուկայում՝ ի վերջո առավելագույնի հասցնելով նրանց հնարավորություններն ու արդյունքները: