淄博网站搭建公司,做的网站首页图片显示不出来,做网站设计的公司柳州,拼多多怎么申请开店详情请参考博客: Top 50 matplotlib Visualizations 因编译更新问题#xff0c;本文将稍作更改#xff0c;以便能够顺利运行。 1 Dendrogram
树状图根据给定的距离度量将相似的点组合在一起#xff0c;并根据点的相似性将它们组织成树状的链接。
新建文件Dendrogram.py:
… 详情请参考博客: Top 50 matplotlib Visualizations 因编译更新问题本文将稍作更改以便能够顺利运行。 1 Dendrogram
树状图根据给定的距离度量将相似的点组合在一起并根据点的相似性将它们组织成树状的链接。
新建文件Dendrogram.py:
# Import Setup
from Setup import pd
from Setup import plt
import scipy.cluster.hierarchy as shc# Import Data
df pd.read_csv(https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv)# Plot
plt.figure(figsize(16, 10), dpi 80)
plt.title(USArrests Dendograms, fontsize22)
dend shc.dendrogram(shc.linkage(df[[Murder, Assault, UrbanPop, Rape]], methodward), labelsdf.State.values, color_threshold100)
plt.xticks(fontsize12)
plt.show()运行结果为 2 Cluster Plot
聚类图可用于划分属于同一聚类的点。下面是一个代表性示例根据 USArrests 数据集将美国各州分为 5 个组。此聚类图使用“谋杀”和“袭击”列作为 X 轴和 Y 轴。或者您可以使用第一个到主分量作为 x 轴和 Y 轴。
新建文件Cluster Plot.py:
# Import Setup
from Setup import pd
from Setup import plt
import numpy as np
from sklearn.cluster import AgglomerativeClustering
from scipy.spatial import ConvexHull# Import Data
df pd.read_csv(https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv)# Agglomerative Clustering
cluster AgglomerativeClustering(n_clusters5, affinityeuclidean, linkageward)
cluster.fit_predict(df[[Murder, Assault, UrbanPop, Rape]]) # Plot
plt.figure(figsize(14, 10), dpi 80)
plt.scatter(df.iloc[:,0], df.iloc[:,1], ccluster.labels_, cmaptab10) # Encircle
def encircle(x,y, axNone, **kw):if not ax: axplt.gca()p np.c_[x,y]hull ConvexHull(p)poly plt.Polygon(p[hull.vertices,:], **kw)ax.add_patch(poly)# Draw polygon surrounding vertices
encircle(df.loc[cluster.labels_ 0, Murder], df.loc[cluster.labels_ 0, Assault], eck, fcgold, alpha0.2, linewidth0)
encircle(df.loc[cluster.labels_ 1, Murder], df.loc[cluster.labels_ 1, Assault], eck, fctab:blue, alpha0.2, linewidth0)
encircle(df.loc[cluster.labels_ 2, Murder], df.loc[cluster.labels_ 2, Assault], eck, fctab:red, alpha0.2, linewidth0)
encircle(df.loc[cluster.labels_ 3, Murder], df.loc[cluster.labels_ 3, Assault], eck, fctab:green, alpha0.2, linewidth0)
encircle(df.loc[cluster.labels_ 4, Murder], df.loc[cluster.labels_ 4, Assault], eck, fctab:orange, alpha0.2, linewidth0)# Decorations
plt.xlabel(Murder); plt.xticks(fontsize12)
plt.ylabel(Assault); plt.yticks(fontsize12)
plt.title(Agglomerative Clustering of USArrests (5 Groups), fontsize22)
plt.show()运行结果为 3 Andrews Curve
Andrews 曲线有助于可视化是否存在基于给定分组的数值特征的固有分组。如果特征数据集中的列不能帮助区分组 cyl则线将无法很好地隔离如下所示。
新建文件Andrews Curve.py:
# Import Setup
from Setup import pd
from Setup import plt
from pandas.plotting import andrews_curves# Import
df pd.read_csv(https://github.com/selva86/datasets/raw/master/mtcars.csv)
df.drop([cars, carname], axis1, inplaceTrue)# Plot
plt.figure(figsize(12,9), dpi 80)
andrews_curves(df, cyl, colormapSet1)# Lighten borders
plt.gca().spines[top].set_alpha(0)
plt.gca().spines[bottom].set_alpha(.3)
plt.gca().spines[right].set_alpha(0)
plt.gca().spines[left].set_alpha(.3)plt.title(Andrews Curves of mtcars, fontsize22)
plt.xlim(-3,3)
plt.grid(alpha0.3)
plt.xticks(fontsize12)
plt.yticks(fontsize12)
plt.show()运行结果为 4 Parallel Coordinates
平行坐标有助于可视化一个特征是否有助于有效地隔离群体。如果隔离已经实现,该特征在预测该群体时可能非常有用。
新建文件Parallel Coordinates.py:
# Import Setup
from Setup import pd
from Setup import plt
from pandas.plotting import parallel_coordinates# Import Data
df_final pd.read_csv(https://raw.githubusercontent.com/selva86/datasets/master/diamonds_filter.csv)# Plot
plt.figure(figsize(12,9), dpi 80)
parallel_coordinates(df_final, cut, colormapDark2)# Lighten borders
plt.gca().spines[top].set_alpha(0)
plt.gca().spines[bottom].set_alpha(.3)
plt.gca().spines[right].set_alpha(0)
plt.gca().spines[left].set_alpha(.3)plt.title(Parallel Coordinated of Diamonds, fontsize22)
plt.grid(alpha0.3)
plt.xticks(fontsize12)
plt.yticks(fontsize12)
plt.show()运行结果为