DAY 6 描述性统计

内容回顾:数据初步可视化

1. 单特征可视化:连续变量箱线图(以及核密度直方图)、离散特征直方图

import pandas as pd
data = pd.read_csv('data.csv')
data.head(10)

#找到连续特征
continous_features = [] # 创建一个空列表,用于存储连续型特征(数值型)的列名
for i in data.columns: # 遍历DataFrame data 的所有列名
    if data[i].dtype != 'object': # 检查当前列的数据类型是否为非对象类型(即非字符串类型)
        continous_features.append(i) # 如果当前列是数值型,则将列名 i 添加到列表中
continous_features

连续特征使用箱线图

import seaborn as sns
import matplotlib.pyplot as plt

# 设置全局字体为支持中文的字体 (例如 SimHei)
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解决负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False

sns.boxplot(x=data['Years of Credit History'])
plt.title('信用历史年限 箱线图')  # 使用中文标题
plt.xlabel('信用历史年限')      # 使用中文标签
plt.show()

 离散特征使用直方图

# 绘制直方图
sns.histplot(data['Home Ownership'])
plt.title('房屋所有权状态 直方图')
plt.xlabel('房屋所有权状态')
plt.ylabel('数量')
plt.show()

2. 特征和标签关系可视化

  • 标签是离散的,特征是连续的:可以分别考虑违约和不违约情况下的连续特征,画2个箱线图
plt.figure(figsize=(8, 6))
sns.boxplot(x='Credit Default', y='Years of Credit History', data=data)
plt.title('Years of Credit History vs. Credit Default')
plt.xlabel('Credit Default')
plt.ylabel('Years of Credit History')
plt.show()
# 另一种可视化方式:小提琴图
# 相较于箱线图,小提琴图更加美观
plt.figure(figsize=(8, 6))
sns.violinplot(x='Credit Default', y='Years of Credit History', data=data)
plt.title('Years of Credit History vs. Credit Default')
plt.xlabel('Credit Default')
plt.ylabel('Years of Credit History')
plt.show()

但是实际上连续变量也可以绘制类似于直方图的图像,可以用核密度估计来完成边缘的柔和化

# 绘制 Years of Credit History 和 Credit Default 的关系图
plt.figure(figsize=(8, 6))

# 使用seaborn绘制直方图:
# x='Years of Credit History' :指定x轴数据列
# hue='Credit Default' :按信用违约状态分组着色
# data=data :指定数据来源
# kde=True :添加核密度估计曲线
# element="step" :使用阶梯样式绘制直方图
sns.histplot(x='Years of Credit History', hue='Credit Default', data=data, kde=True, element="step") 

plt.title('Years of Credit History vs. Credit Default')
plt.xlabel('Years of Credit History')
plt.ylabel('Count')
plt.show()
  • 标签和特征均为离散的
# 绘制 Home Ownership 和 Credit Default 的关系图
plt.figure(figsize=(8, 6))
sns.countplot(x='Home Ownership', hue='Credit Default', data=data)
plt.title('Home Ownership vs. Credit Default')
plt.xlabel('Home Ownership')
plt.ylabel('Count')
plt.show()

 @浙大疏锦行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值