一个数据结构期末作业(有兴趣用的话可以高抬贵手star下⭐~)GitHub - mcxiaoxiao/c-Decision-tree: 决策树c++简单实现 🌳 c-Decision-tree 附大作业/课设参考文档.doc
🌳 c-Decision-tree
Introduction 🙌
c-Decision-tree 🌳 简单的决策树 比较严谨的c++实现,如果输出有报错可能是不支持emoji 代码以天气预测是否适合出行为例,修改起来很方便
三步实现
0️⃣ 🤔 想好想要多少个特征,line13:
#define feature 4 //改成需要的特征数量
1️⃣ 🤔 想好特征名,line18
//四个特征的名称,比如天气取值有三个:晴,阴,雨
string attribute[] = {"天气", "温度", "湿度", "是否有风"};
3️⃣ 🖊 修改data.txt中的案例数据,修改测试数据line255
string test[] = {"晴", "温", "中", "是"};
交互(可选)
去掉以下注释,修改成自己修改后逻辑下的交互提示,line256
int main() { createDataset();root = createTree(root, X, attributes);print(root, 0);string test[] = {"晴", "温", "中", "是"};// //自助交互// cout << "👋 请输入天气情况 ☁️ (晴/阴/雨)";// cin >> test[0];// cout << "😴 请输入温度 🌡️ (热/温/凉爽)";// cin >> test[1];// cout << "🌁 请输入湿度 💦 (高/中)";// cin >> test[2];// cout << "🚗 请输入是否刮风 🌬 (是/否)";// cin >> test[3];int i;cout << endl << "属性:";for(i=0; i<feature; i++)cout << attributes[i] << "\t";cout << endl << "输入:";for(i=0; i<feature; i++)cout << test[i] << "\t";cout << endl << "预测:";cout << classify(root, attributes, test) +"出行" << endl;freeNode(root);return 0;
}