关注
第一题,信息增益代码 #include <bits/stdc++.h>
#include <map>
#include <math.h>
using namespace std;
typedef struct data{
int clas[2];
}data;
int n;
map<int,data> mp;
int classify[2] = {0};
double cpt_entroy(int m[]){
int nu = m[0] + m[1];
double first = 0;
double second = 0;
if(m[0] != 0){
double tmp = 1.0 * m[0] / nu;
first = -1 * tmp * log(tmp) / log(2);
}
if(m[1] != 0){
double tmp = 1.0 * m[1] / nu;
second = -1 * tmp * log(tmp) / log(2);
}
double entroy = 1.0 * nu / n * (first + second);
return entroy;
}
int main() {
int a, b;
char indep;
cin >> n;
for(int i=0; i<n; ++i){
cin>>a>>indep>>b;
classify[b]++;
if(mp.find(a) == mp.end())
mp[a].clas[b] = 0;
mp[a].clas[b] += 1;
}
double gain_all = cpt_entroy(classify);
double ans = gain_all;
map<int, data>::iterator it;
for(it = mp.begin(); it != mp.end(); ++it) {
double pro = cpt_entroy(it->second.clas);
ans -= pro;
}
int dans = (ans + 0.005) * 100;
double res = double(dans) / 100;
printf("%.2f\n",res);
return 0;
}
查看原帖
点赞 2
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何KTV领导 #
32490次浏览 275人参与
# 你投递的公司有几家约面了? #
39409次浏览 234人参与
# 掌阅春招 #
89434次浏览 517人参与
# 研究所笔面经互助 #
55269次浏览 395人参与
# 软开人,秋招你打算投哪些公司呢 #
67239次浏览 721人参与
# vivo求职进展汇总 #
168061次浏览 1022人参与
# 生物制药/化工校招攻略 #
33937次浏览 265人参与
# 你遇到过哪些神仙同事 #
45603次浏览 468人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
73078次浏览 541人参与
# 硬件/芯片公司工作体验 #
58648次浏览 560人参与
# 如何缓解入职前的焦虑 #
142050次浏览 1129人参与
# TP-LINK工作体验 #
38670次浏览 787人参与
# Tplink求职进展汇总 #
102502次浏览 570人参与
# 你最近一次加班是什么时候? #
32198次浏览 251人参与
# 软件开发春招备战日记 #
57969次浏览 497人参与
# 考研人,我有话说 #
16652次浏览 335人参与
# 在职场上,你最讨厌什么样的同事 #
10785次浏览 138人参与
# 秋招白月光 #
53054次浏览 781人参与
# 产品每日一题 #
29233次浏览 406人参与
# 过年最难忘的一件事 #
10933次浏览 155人参与
# 你今年的平均薪资是多少? #
94477次浏览 462人参与