California House Price Prediction
This example demonstrates how to use scikit-learn to predict house
prices in California.
Features: 9 coloumns
Label: median_house_value
Imputet is used to fill the missing values in the dataset.
Note: The 'ocean_proximity' column is not used because its not
numeric.
Code on Kaggle
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
from sklearn.impute import SimpleImputer
# Read data from CSV file
data_frame = pd.read_csv('/kaggle/input/datasets/camnugent/california-housing-prices/housing.csv')
# Features: 'longitude', 'latitude', 'housing_median_age', 'total_rooms', 'total_bedrooms',
#'population', 'households', 'median_income', 'ocean_proximity'
# Label: 'median_house_value'
y_label = data_frame.median_house_value
X_features = data_frame.drop(['median_house_value'], axis=1)
X_features = data_frame.drop(['ocean_proximity'], axis=1) #ocean_proximity was not int
X_feature_train, X_feature_valid, y_label_train, y_label_valid = train_test_split(
X_features, y_label, train_size=0.8, test_size=0.2, random_state=0
)
#Fill empty values with median
imputer = SimpleImputer(strategy='median')
X_feature_train = imputer.fit_transform(X_feature_train)
X_feature_valid = imputer.transform(X_feature_valid)
# Create Model & Train
model = LinearRegression()
model.fit(X_feature_train, y_label_train)
prediction_house_prices = model.predict(X_feature_valid)
print(mean_absolute_error(y_label_valid, prediction_house_prices))