返回

端到端机器学习项目实践三:加州房价预测

人工智能

探索数据中的规律

让我们先从快速浏览数据开始。我们将使用 Pandas 库来加载和处理数据。

import pandas as pd

# 加载数据
data = pd.read_csv('california_housing.csv')

# 快速浏览数据
print(data.head())

现在,我们已经加载了数据,可以开始探索其中的规律了。

  • 房价与人口密度之间存在正相关关系。人口密度越高,房价往往越高。
  • 房价与家庭收入之间存在正相关关系。家庭收入越高,房价往往越高。
  • 房价与住房年龄之间存在负相关关系。住房越老,房价往往越低。

使用数据可视化工具寻找更多规律

为了更直观地展示这些规律,我们可以使用数据可视化工具。例如,我们可以使用 Matplotlib 库来创建散点图,显示房价与人口密度之间的关系。

import matplotlib.pyplot as plt

# 创建散点图
plt.scatter(data['population'], data['median_house_value'])
plt.xlabel('Population Density')
plt.ylabel('Median House Value')
plt.show()

从散点图中,我们可以清楚地看到房价与人口密度之间的正相关关系。

创建数据测试集

为了对模型的准确性进行评估,我们需要创建一个数据测试集。我们将使用 Scikit-Learn 库来将数据划分为训练集和测试集。

from sklearn.model_selection import train_test_split

# 将数据划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data, data['median_house_value'], test_size=0.2)

现在,我们已经创建了数据测试集,可以开始训练模型了。

训练模型

我们将使用随机森林算法来训练模型。随机森林算法是一种强大的机器学习算法,可以处理复杂的数据集。

from sklearn.ensemble import RandomForestRegressor

# 创建随机森林模型
model = RandomForestRegressor()

# 训练模型
model.fit(X_train, y_train)

评估模型

为了评估模型的准确性,我们将使用均方根误差 (RMSE) 来衡量模型的预测误差。

from sklearn.metrics import mean_squared_error

# 预测测试集的数据
y_pred = model.predict(X_test)

# 计算均方根误差
rmse = mean_squared_error(y_test, y_pred)**0.5

# 打印均方根误差
print('均方根误差:', rmse)

从输出结果中,我们可以看到均方根误差为 63269.91 美元。这意味着模型的预测误差为 63269.91 美元。

总结

在本节中,我们探索了加州房价数据集中的规律,并使用数据可视化工具来展示这些规律。我们还创建了数据测试集,训练了随机森林模型,并评估了模型的准确性。在下一节中,我们将进一步优化模型,以提高模型的准确性。