- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我严格按照 Accord.net 网站上的示例进行操作:
Link to the example, scroll to the bottom
我的代码是网站示例中代码的副本。我有正确的 NuGet 包。
DataTable data = new DataTable("Mitchell's Tennis Example");
data.Columns.Add("Day", "Outlook", "Temperature", "Humidity", "Wind", "PlayTennis");
data.Rows.Add("D1", "Sunny", "Hot", "High", "Weak", "No");
data.Rows.Add("D2", "Sunny", "Hot", "High", "Strong", "No");
data.Rows.Add("D3", "Overcast", "Hot", "High", "Weak", "Yes");
data.Rows.Add("D4", "Rain", "Mild", "High", "Weak", "Yes");
data.Rows.Add("D5", "Rain", "Cool", "Normal", "Weak", "Yes");
data.Rows.Add("D6", "Rain", "Cool", "Normal", "Strong", "No");
data.Rows.Add("D7", "Overcast", "Cool", "Normal", "Strong", "Yes");
data.Rows.Add("D8", "Sunny", "Mild", "High", "Weak", "No");
data.Rows.Add("D9", "Sunny", "Cool", "Normal", "Weak", "Yes");
data.Rows.Add("D10", "Rain", "Mild", "Normal", "Weak", "Yes");
data.Rows.Add("D11", "Sunny", "Mild", "Normal", "Strong", "Yes");
data.Rows.Add("D12", "Overcast", "Mild", "High", "Strong", "Yes");
data.Rows.Add("D13", "Overcast", "Hot", "Normal", "Weak", "Yes");
data.Rows.Add("D14", "Rain", "Mild", "High", "Strong", "No");
// Create a new codification codebook to
// convert strings into integer symbols
Codification codebook = new Codification(data);
// Translate our training data into integer symbols using our codebook:
DataTable symbols = codebook.Apply(data);
int[][] inputs = symbols.ToArray<int>("Outlook", "Temperature", "Humidity", "Wind");
int[] outputs = symbols.ToArray<int>("PlayTennis");
// Gather information about decision variables
DecisionVariable[] attributes =
{
new DecisionVariable("Outlook", 3), // 3 possible values (Sunny, overcast, rain)
new DecisionVariable("Temperature", 3), // 3 possible values (Hot, mild, cool)
new DecisionVariable("Humidity", 2), // 2 possible values (High, normal)
new DecisionVariable("Wind", 2) // 2 possible values (Weak, strong)
};
int classCount = 2; // 2 possible output values for playing tennis: yes or no
//Create the decision tree using the attributes and classes
DecisionTree tree = new DecisionTree(attributes, classCount);
// Create a new instance of the ID3 algorithm
ID3Learning id3learning = new ID3Learning(tree);
// Learn the training instances!
id3learning.Run(inputs, outputs);
string answer = codebook.Translate("PlayTennis",
tree.Compute(codebook.Translate("Sunny", "Hot", "High", "Strong")));
Console.WriteLine("Calculate for: Sunny, Hot, High, Strong");
Console.WriteLine("Answer: " + answer);
我得到这个异常:
The given key was not present in the dictionary.
在这行代码中:
string answer = codebook.Translate("PlayTennis",
tree.Compute(codebook.Translate("Sunny", "Hot", "High", "Strong")));
我从哪里开始解决这个问题?我已经检查了调试器中的密码本,它包含了应有的元素。
最佳答案
框架文档似乎有点过时了。而不是将字典创建为
Codification codebook = new Codification(data);
框架现在期望用户在 Codification 的构造函数中传递感兴趣的列。因此,Codification 字典现在应该创建为
Codification codebook = new Codification(data,
"Outlook", "Temperature", "Humidity", "Wind", "PlayTennis");
文档将在几天内重建!
关于c# - 重新创建 Accord.NET DecisionTree 网站示例 - 给定字典中不存在的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30003174/
我看不出 DecisionTree.trainClassifier 之间的区别和 DecisionTree.train方法。 在 code为 DecisionTree有一些线索。对 train 的评论
我在 PySpark 数据帧上训练了一个 DecisionTree 模型。生成的数据框模拟如下: rdd = sc.parallelize( [ (0., 1.),
我正在写一个决策树,下面的代码是完整代码的一部分: def show_tree(tree, features, path): f = io.StringIO() export_grap
我将 sklearn 0.19.1 与 DecisionTree 和 AdaBoost 结合使用。 我有一个工作正常的 DecisionTree 分类器: clf = tree.DecisionTre
我有一个正在开发的网络应用程序。我正在考虑使用 DecisionTree 来分析某些事情。 必须创建 DecisionTree 并将在不同的阶段使用。例如。在 Controller 中,将比较/检查某
我正在尝试学习机器学习,尤其是决策树,我从 Accord .Net 框架网站上复制了这段代码,但它似乎对我不起作用,我不明白为什么.它给我的错误是在第 40 行说:“System.IndexOutOf
我正在研究 Spark MLlib。在研究 DecisionTree 时,我看到了以下 DecisionTree.trainClassifier 用法示例。 import org.apache.spa
我需要实现一组复杂的规则,可以通过许多嵌套条件来完成。我正在寻找一种更优雅的方法来做到这一点。最佳实践是什么? Java Lambda 支持这些情况吗?决策树是正确的方法吗? if(condition
我严格按照 Accord.net 网站上的示例进行操作: Link to the example, scroll to the bottom 我的代码是网站示例中代码的副本。我有正确的 NuGet 包
我的任务是通过添加决策树的导出以供离线组件使用(最好是 JSON 格式,但 XML 也可以),用 Java 增强现有的 Weka 系统。 让我警告你,我是 Weka 的新手 :) 我还没有找到一种方法
我是一名优秀的程序员,十分优秀!