返回
端到端机器学习项目实践三:加州房价预测
人工智能
2024-01-06 05:18:47
探索数据中的规律
让我们先从快速浏览数据开始。我们将使用 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 美元。
总结
在本节中,我们探索了加州房价数据集中的规律,并使用数据可视化工具来展示这些规律。我们还创建了数据测试集,训练了随机森林模型,并评估了模型的准确性。在下一节中,我们将进一步优化模型,以提高模型的准确性。