|
在概率论与统计学习方法中,可视化概率密度就变得非常重要了。这种密度图正是可视化连续型随机变量分布的利器,分布曲线上的每一个点都是概率密度,分布曲线下的每一段面积都是特定情况的概率。如下所示,通过将它们按「response」变量分组,我们可以了解 X 轴和 Y 轴之间的关系。
- # Import Data
- df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")
-
- # Draw Plot
- plt.figure(figsize=(16,10), dpi= 80)
- sns.kdeplot(df.loc[df['cyl'] == 4, "cty"], shade=True, color="g", label="Cyl=4", alpha=.7)
- sns.kdeplot(df.loc[df['cyl'] == 5, "cty"], shade=True, color="deeppink", label="Cyl=5", alpha=.7)
- sns.kdeplot(df.loc[df['cyl'] == 6, "cty"], shade=True, color="dodgerblue", label="Cyl=6", alpha=.7)
- sns.kdeplot(df.loc[df['cyl'] == 8, "cty"], shade=True, color="orange", label="Cyl=8", alpha=.7)
-
- # Decoration
- plt.title('Density Plot of City Mileage by n_Cylinders', fontsize=22)
- plt.legend()
- plt.show()

此外值得注意的是,深度学习,尤其是深度生成模型中的分布极其复杂,它们是不能直接可视化的,我们一般会通过 T-SNE 等降维方法可视化。
4. 时序变化图(Time Series Plot)
时序变化图也是机器学习中最常见的一种可视化图表,不论是可视化损失函数还是准确率,,都需要这种时序变化图的帮助。这种图主要关注某个变量怎样随时间变化而变化,以下展示了从 1949 到 1969 航空客运量的变化:
- # Import Data
- df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')
-
- # Draw Plot
- plt.figure(figsize=(16,10), dpi= 80)
- plt.plot('date', 'traffic', data=df, color='tab:red')
-
- # Decoration
- plt.ylim(50, 750)
- xtick_location = df.index.tolist()[::12]
- xtick_labels = [x[-4:] for x in df.date.tolist()[::12]]
- plt.xticks(ticks=xtick_location, labels=xtick_labels, rotation=0, fontsize=12, horizontalalignment='center', alpha=.7)
- plt.yticks(fontsize=12, alpha=.7)
- plt.title("Air Passengers Traffic (1949 - 1969)", fontsize=22)
- plt.grid(axis='both', alpha=.3)
-
- # Remove borders
- plt.gca().spines["top"].set_alpha(0.0)
- plt.gca().spines["bottom"].set_alpha(0.3)
- plt.gca().spines["right"].set_alpha(0.0)
- plt.gca().spines["left"].set_alpha(0.3)
- plt.show()

5. 树状图(Dendrogram) (编辑:PHP编程网 - 金华站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|