不動産の世界では、不動産価格の決定には、立地や規模から設備や市場動向まで、多くの要素が関係します。機械学習の基本的な手法である単純線形回帰は、部屋数や平方フィートなどの主要な特徴に基づいて住宅価格を予測する実用的な方法を提供します。
この記事では、データの前処理と特徴の選択から、価値のある価格の洞察を提供できるモデルの構築まで、住宅データセットに単純な線形回帰を適用するプロセスを詳しく説明します。データ サイエンスを初めて使用する場合でも、理解を深めたいと考えている場合でも、このプロジェクトは、データに基づいた予測がどのようにしてより賢明な不動産に関する意思決定を形成できるかを実践的に探求するのに役立ちます。
まず最初に、ライブラリをインポートすることから始めます:
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
名前: count、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
マシンのトレーニングは最も簡単なプロセスではないと本当に言いたいのですが、上記の結果を改善し続けるために、min_feature などの機能を param_grid の下に追加できます。そうすることで、最高の推定スコアを改善し続けることができます。
ここまで読んだ方は、以下のコメントを「いいね」して共有してください。あなたの意見は非常に重要です。ありがとう!??❤️
以上が住宅価格_予測の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。