#P2967. 第2题-样本的Gini指数计算
第2题-样本的Gini指数计算
题目内容
给定一个数据集,其中每一行代表一个样本,每一列代表一个特征,最后一列是样本的标签。请你计算每个特征的基尼指数,并输出基尼指数最小的特征的索引和对应的基尼指数。 基尼指数的计算公式:对于一个特征,其基尼指数定义为:
其中,是数据集,是特征,是特征得所有可能的取值,是在特征取值为的情况下的数据集,是数据集的样本数量,是在特征取之为的情况的样本数量,是在特征取值为的情况下的数据集的基尼值,其计算公式为:
其中,是标签的所有可能取值,是在数据集中标签取值为的样本比例。
输入描述
一个二维列表,其中每一个子列表代表一个样本,每个样本包含一些特征值和一个标签值。所有的特征值都是数值型的,标签值是字符串。你可以假设输入的数据集至少包含一个样本,并且每个样本至少包含一个特征和一个标签。
输出描述
一个元组,第一个元素是基尼指数最小的特征的索引,第二个元素是该特征的基尼指数(保留1位小数)。如果有多个特征的基尼指数相同,输出索引最小的那个。
样例1
输入
[[1.0, 'yes'], [1.0, 'no'], [2.0, 'yes'], [2.0, 'no']]
输出
(0, 0.5)