找到当前标签集中占数目最大的标签 :param labelArr: 标签集 :return: 最大的标签
(labelArr)
| 43 | return dataArr, labelArr |
| 44 | |
| 45 | def majorClass(labelArr): |
| 46 | ''' |
| 47 | 找到当前标签集中占数目最大的标签 |
| 48 | :param labelArr: 标签集 |
| 49 | :return: 最大的标签 |
| 50 | ''' |
| 51 | #建立字典,用于不同类别的标签技术 |
| 52 | classDict = {} |
| 53 | #遍历所有标签 |
| 54 | for i in range(len(labelArr)): |
| 55 | #当第一次遇到A标签时,字典内还没有A标签,这时候直接幅值加1是错误的, |
| 56 | #所以需要判断字典中是否有该键,没有则创建,有就直接自增 |
| 57 | if labelArr[i] in classDict.keys(): |
| 58 | # 若在字典中存在该标签,则直接加1 |
| 59 | classDict[labelArr[i]] += 1 |
| 60 | else: |
| 61 | #若无该标签,设初值为1,表示出现了1次了 |
| 62 | classDict[labelArr[i]] = 1 |
| 63 | #对字典依据值进行降序排序 |
| 64 | classSort = sorted(classDict.items(), key=lambda x: x[1], reverse=True) |
| 65 | #返回最大一项的标签,即占数目最多的标签 |
| 66 | return classSort[0][0] |
| 67 | |
| 68 | def calc_H_D(trainLabelArr): |
| 69 | ''' |