我正在尝试实施机器学习算法来预测纽约市的房价。
现在,当我尝试绘制(使用Seaborn)我的房价数据集的两列之间的关系时:“gross_sqft_thousands”(以千平方英尺为单位的房产总面积)和“sale_price_millions”的目标列,我得到了这样一个奇怪的情节:
用于绘图的代码:
sns.regplot(x="sale_price_millions", y="gross_sqft_thousands", data=clean_df);
当我尝试绘制商业单位的数量(commercial_units 列)与 sale_price_millions 的关系时,我也得到了这样一个奇怪的图:
这些奇怪的图,尽管在相关矩阵中,sale_price 与两个变量(gross_sqft_thousands 和 Commercial_units)的相关性非常好。
我做错了什么,我应该怎么做才能得到好的情节,更少的点和像这样的情节清晰的拟合:
这是我的数据集的一部分:
您的房价数据集比tips
Seaborn 示例图中显示的数据集大得多,因此使用默认设置制作的散点图将非常拥挤。
第二个图看起来“很奇怪”,因为它绘制了一个(实际上)连续变量销售价格与一个整数值变量total_units
。
想到了以下解决方案:
使用类似sns.regplot(x="sale_price_millions", y="gross_sqft_thousands", data=clean_df[::10])
. 该[::10]
部件从 中每 10 行选择一次clean_df
。您也可以尝试clean_df.sample(frac=0.1, random_state=12345)
,它在没有替换的情况下随机采样所有行的 10%(使用随机种子来实现可重复性)。
使用 减小散点图点的 alpha(不透明度)和/或大小sns.regplot(x="sale_price_millions", y="gross_sqft_thousands", data=clean_df, scatter_kws={"alpha": 0.1, "s": 1})
。
对于图 2,使用 向 y 轴变量添加一点“抖动”(随机噪声)sns.regplot(..., y_jitter=0.05)
。
有关更多信息,请查看 Seaborn 文档regplot
:https : //seaborn.pydata.org/generated/seaborn.regplot.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句