Jupyter波士顿房价数据的决策树数据可视化的热力图
时间: 2024-04-04 12:34:16 浏览: 130
以下是Jupyter中使用决策树模型对波士顿房价数据进行预测,并使用热力图进行可视化的示例代码:
```python
# 导入所需的库和数据集
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split
import seaborn as sns
boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['MEDV'] = boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(df[boston.feature_names], df['MEDV'], test_size=0.2, random_state=42)
# 构建决策树模型
tree = DecisionTreeRegressor(max_depth=3)
tree.fit(X_train, y_train)
# 可视化特征重要性
importances = pd.DataFrame({'feature':boston.feature_names,'importance':tree.feature_importances_})
importances = importances.sort_values('importance',ascending=False)
sns.barplot(x='importance',y='feature',data=importances)
# 可视化决策树
from sklearn.tree import export_graphviz
import pydotplus
from IPython.display import Image
dot_data = export_graphviz(
tree, out_file=None,
feature_names=boston.feature_names,
class_names=boston.target.astype(str),
filled=True, rounded=True,
special_characters=True
)
graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())
# 可视化决策树预测结果
import numpy as np
import matplotlib.pyplot as plt
# 构建测试数据集
data = X_test.iloc[0]
data = np.array(data).reshape(1, -1)
# 预测结果
pred = tree.predict(data)
# 绘制热力图
corr = df.corr()
sns.heatmap(corr, cmap='coolwarm', annot=True)
plt.show()
```
通过上述代码,可以得到决策树模型的特征重要性可视化图、决策树可视化图和热力图等可视化结果。其中,热力图可以展示不同特征之间的相关性,从而更好地理解波士顿房价数据的特征分布情况。
阅读全文