探索分类数据
machine learningpythonserver side programmingprogramming
简介
分类数据是一种采用固定数量的值的数据类型,此类变量中不存在可能的逻辑顺序。分类变量可以是血型、是/否情况、性别、排名(例如第一、第二、第三)等。分类变量大多数时候都会经过编码,例如独热编码和名义编码,以二进制或整数格式表示它们,以供考虑中的机器学习用例使用。
分类数据和相关术语
众数是与分类变量/观察值相关的最常见的集中趋势。它是观测集中出现频率最高的值。
例如,
在以下数据集 [1,2,6,7,7,7,2,6,6,6,6] 中,众数为 6,因为它出现了 5 次,是所有其他变量中最大的。
分类数据分析
使用条形图 − 条形图可用于显示每个分类变量的频率。
以下代码绘制了五名学生的条形图或频率分布以及他们在测试中获得的分数。条形图是使用 matplotlib 库绘制的。
import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline students = ['Saurav','Mohit','Rajan','Aditi','Sonal'] marks = [78,98,65,90,80] plt.bar(students, marks) plt.xlabel('Student', fontsize = 10) plt.ylabel('Marks', fontsize = 10) plt.title('Student marks distribution')
输出
饼图 - 饼图用于以圆内角度的形式显示数据或分类变量占整体的百分比。
以下代码绘制了五名学生的饼图以及他们在测试中获得的分数。饼图也是使用 matplotlib 库绘制的。
import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline students = ['Saurav','Mohit','Rajan','Aditi','Sonal'] marks = [78,98,65,90,80] plt.figure(figsize =(5, 5)) plt.pie(marks, labels = students, startangle = 90, autopct ='%.2f %%') plt.show()
输出
箱线图 - 用于显示数据的分布情况并比较不同组之间的数据。
以下代码绘制了五名学生的箱线图以及他们在测试中获得的分数。Matplotlob 用于绘制图形。
import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline data = pd.read_csv("/content/train.csv") sns.boxplot(data = data, x='Street', y='SalePrice')
输出
小提琴图 − – 用于可视化分类数据的分布并定义核密度图。
以下代码绘制了五名学生的小提琴图以及他们在考试中获得的分数。
import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline data = pd.read_csv("/content/train.csv") sns.violinplot(data = data, x='Street', y='SalePrice')
输出
结论
分类数据可以用各种形式来表示和探索。在处理分类数据时,条形图、饼图、箱线图和小提琴图在表示数据和从中获取见解方面往往非常有用。