부동산 세계에서 부동산 가격을 결정하는 데는 위치, 규모, 편의 시설, 시장 동향에 이르기까지 다양한 요소가 관련됩니다. 기계 학습의 기본 기술인 단순 선형 회귀는 방 수나 면적과 같은 주요 특징을 기반으로 주택 가격을 예측하는 실용적인 방법을 제공합니다.
이 기사에서는 데이터 전처리 및 특성 선택부터 귀중한 가격 통찰력을 제공할 수 있는 모델 구축에 이르기까지 주택 데이터세트에 단순 선형 회귀를 적용하는 과정을 자세히 살펴봅니다. 데이터 과학을 처음 접하는 사람이든 더 깊은 이해를 원하는 사람이든 이 프로젝트는 데이터 기반 예측이 어떻게 더 스마트한 부동산 결정을 내릴 수 있는지에 대한 실습 탐색의 역할을 합니다.
먼저 라이브러리를 가져오는 것부터 시작합니다.
import pandas as pd import seaborn as sns import numpy as np import matplotlib.pyplot as plt
#Read from the directory where you stored the data data = pd.read_csv('/kaggle/input/california-housing-prices/housing.csv')
data
#Test to see if there arent any null values data.info()
#Trying to draw the same number of null values data.dropna(inplace = True)
data.info()
#From our data, we are going to train and test our data from sklearn.model_selection import train_test_split X = data.drop(['median_house_value'], axis = 1) y = data['median_house_value']
y
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
#Examining correlation between x and y training data train_data = X_train.join(y_train)
train_data
#Visualizing the above train_data.hist(figsize=(15, 8))
#Encoding non-numeric columns to see if they are useful and categorical for analysis train_data_encoded = pd.get_dummies(train_data, drop_first=True) correlation_matrix = train_data_encoded.corr() print(correlation_matrix)
train_data_encoded.corr()
plt.figure(figsize=(15,8)) sns.heatmap(train_data_encoded.corr(), annot=True, cmap = "inferno")
import pandas as pd import seaborn as sns import numpy as np import matplotlib.pyplot as plt
#Read from the directory where you stored the data data = pd.read_csv('/kaggle/input/california-housing-prices/housing.csv')
data
해양_근접성
내륙 5183
바다 근처 2108
베이 1783 근처
섬 5
이름: 개수, dtype: int64
#Test to see if there arent any null values data.info()
#Trying to draw the same number of null values data.dropna(inplace = True)
data.info()
#From our data, we are going to train and test our data from sklearn.model_selection import train_test_split X = data.drop(['median_house_value'], axis = 1) y = data['median_house_value']
y
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
#Examining correlation between x and y training data train_data = X_train.join(y_train)
train_data
#Visualizing the above train_data.hist(figsize=(15, 8))
#Encoding non-numeric columns to see if they are useful and categorical for analysis train_data_encoded = pd.get_dummies(train_data, drop_first=True) correlation_matrix = train_data_encoded.corr() print(correlation_matrix)
train_data_encoded.corr()
plt.figure(figsize=(15,8)) sns.heatmap(train_data_encoded.corr(), annot=True, cmap = "inferno")
train_data['total_rooms'] = np.log(train_data['total_rooms'] + 1) train_data['total_bedrooms'] = np.log(train_data['total_bedrooms'] +1) train_data['population'] = np.log(train_data['population'] + 1) train_data['households'] = np.log(train_data['households'] + 1)
train_data.hist(figsize=(15, 8))
0.5092972905670141
#convert ocean_proximity factors into binary's using one_hot_encoding train_data.ocean_proximity.value_counts()
#For each feature of the above we will then create its binary(0 or 1) pd.get_dummies(train_data.ocean_proximity)
0.4447616558596853
#Dropping afterwards the proximity train_data = train_data.join(pd.get_dummies(train_data.ocean_proximity)).drop(['ocean_proximity'], axis=1)
train_data
#recheck for correlation plt.figure(figsize=(18, 8)) sns.heatmap(train_data.corr(), annot=True, cmap ='twilight')
0.5384474921332503
기계를 훈련시키는 것이 가장 쉬운 프로세스는 아니지만 위의 결과를 계속 개선하려면 param_grid 아래에 min_feature와 같은 더 많은 기능을 추가하면 최고의 추정기 점수가 지속적으로 개선될 수 있습니다.
여기까지 오셨다면 아래 댓글에 좋아요를 누르고 공유해 주세요. 여러분의 의견은 정말 중요합니다. 감사합니다!??❤️
위 내용은 집_가격_예측의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!