标签:xpl tran generated 绘图 房价 常见 http class 转化
一般常见于回归相关的问题。
关于类别变量与数值标签的关系,我们一般会观察下面的结果。
如果不同类别之间的标签分布相差较大,则说明该类别信息是非常有有价值的,如果所有类别的标签都是一样的分布,则该类别信息的区分度相对较低。
数据链接 https://tianchi.aliyun.com/competition/entrance/231784/information,可以看我另一篇文章:https://www.cnblogs.com/cgmcoding/p/13279789.html
手动挡和自动挡的价格分布
#%%导入模块 import pandas as pd import numpy as np from scipy import stats import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline plt.rc("font",family="SimHei",size="12") #解决中文无法显示的问题 import pycard as pc #波士顿房价数据集 df = pd.read_csv(‘D:/迅雷下载/used_car_train_20200313.csv‘,sep=‘ ‘) var = ‘gearbox‘ label = ‘price‘ df.groupby(var)[label].mean().plot(kind = ‘bar‘)
plt.figure(figsize=[10,6])
sns.boxplot(x=var, y=label, data=df)
但是当该特征的类别特别多的时候,不建议画图
关于数值变量与数值标签的关系,我们一般会观察下面的结果。
df[[‘v_0‘,label]].corr(‘pearson‘)
plt.scatter(x=‘v_0‘, y = label, data = df); plt.xlabel(‘v_0‘) plt.ylabel(label)
sns.regplot(x=df[‘v_0‘] , y=df[label])
关于时间与数值标签,我们主要希望随着时间变化,数据是否表现除了某些特殊的模式(周期性等),以及是否出现了明显的异常现象等等。时间变量与数值变量的可视化直接使用plot函数即可。
df[‘creatDate‘] = pd.to_datetime(df[‘creatDate‘], format=‘%Y%m%d‘, errors=‘coerce‘) plt.plot(df.creatDate, df[label].values, color=‘black‘, linestyle=‘--‘, linewidth=‘1‘, label=label) plt.xlabel(‘creatDate‘, fontsize=14) plt.ylabel(label, fontsize=16)
一般常见于二分类问题。
关于类别变量与二元标签的关系可以直接通过barplot函数进行可视化,如果不同类之间的分布差不大,那说明该类别变量大概率是意义不大的。
df = pd.read_csv(‘E:/谷歌下载/seaborn-data-master/titanic.csv‘) var = ‘pclass‘ label = ‘survived‘ df.groupby(var)[label].mean() ‘‘‘ pclass 1 0.629630 2 0.472826 3 0.242363 Name: survived, dtype: float64 ‘‘‘
画图
sns.barplot(x=var, y=label , data=df)
数值变量与二元标签的关系一般可以通过下面的两种方式分析:
sns.boxplot(df[label], df[‘fare‘])
也就是我们常说的多分类问题。在观测标签为多分类的问题时,因为标签是多个类别的,我们可以通过两种策略对其进行观察。
‘‘‘ 随机模拟产出多分类标签 ‘‘‘ multi_label = ‘y_generated‘ df[‘y_generated‘] = np.random.randint(low =0.5, high = 3.5, size = df.shape[0])
直接使用countplot,将hue的位置设置为标签的名称即可。
sns.countplot(x=‘pclass‘, hue=multi_label, data=df) plt.ylabel(‘Number of Occurrences‘, fontsize=12) plt.xlabel(multi_label, fontsize=12) plt.show()
直接使用boxplot即可,观测在每个类处数值变量的分布情况。如果所有类处的数值变量分布都类似,那可能该数值变量带来的影响会相对较小,反之影响较大。
sns.boxplot(x=multi_label, y=‘age‘, data=df) plt.ylabel(‘Age distribution‘, fontsize=12) plt.xlabel(multi_label, fontsize=12) plt.show()
文章参考:https://mp.weixin.qq.com/s/yPhrYp7gL28W5H5GatmCXA,只做笔记,不做商业用途
标签:xpl tran generated 绘图 房价 常见 http class 转化
原文地址:https://www.cnblogs.com/cgmcoding/p/14623153.html