一、绘制直方图
首先读入数据
def read_data():
path = '../data/forCodeF-2.csv'
data = pd.read_csv(path,encoding='gbk')
return data
然后调用matplotlib.pyplot.hist函数绘制各维特征的分布直方图。
import matplotlib.pyplot as plt # 可视化
def draw(data):
data.hist(figsize=(16,14))
plt.savefig("Plots.jpg",dpi=300, pad_inches = 0)
plt.show()
data = read_data()
draw(data)
二、绘制热力图
利用热力图可以看数据表里多个特征两两的相似度。
相似度由皮尔逊相关系数度量。
两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商::
调用seaborn.heatmap绘制热力图:
def draw_heatmap(data):
ylabels = data.columns.values.tolist()
ss = StandardScaler() # 归一化
data = ss.fit_transform(data)
df = pd.DataFrame(data)
dfData = df.corr()
plt.subplots(figsize=(15, 15)) # 设置画面大小
sns.heatmap(dfData, annot=True, vmax=1, square=True,yticklabels=ylabels,xticklabels=ylabels, cmap="Blues")
plt.savefig('../img/thermodynamicDiagram.jpg')
plt.show()
data = read_data()
draw_heatmap(data)
注意:sns.heatmap的输入需为DataFrame格式,所以需要用将np.narray形式的数据转为DataFrame格式。