집_가격_예측

Patricia Arquette
풀어 주다: 2024-11-03 12:28:29
원래의
183명이 탐색했습니다.

부동산 세계에서 부동산 가격을 결정하는 데는 위치, 규모, 편의 시설, 시장 동향에 이르기까지 다양한 요소가 관련됩니다. 기계 학습의 기본 기술인 단순 선형 회귀는 방 수나 면적과 같은 주요 특징을 기반으로 주택 가격을 예측하는 실용적인 방법을 제공합니다.

이 기사에서는 데이터 전처리 및 특성 선택부터 귀중한 가격 통찰력을 제공할 수 있는 모델 구축에 이르기까지 주택 데이터세트에 단순 선형 회귀를 적용하는 과정을 자세히 살펴봅니다. 데이터 과학을 처음 접하는 사람이든 더 깊은 이해를 원하는 사람이든 이 프로젝트는 데이터 기반 예측이 어떻게 더 스마트한 부동산 결정을 내릴 수 있는지에 대한 실습 탐색의 역할을 합니다.

먼저 라이브러리를 가져오는 것부터 시작합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿