- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下代码来查找给定商品在更改商品的价格、折扣和广告时的预期销售额。这是使用 Accord.Net 库使用 ID3 算法实现的。
namespace PnredictionSales
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable data = new DataTable("Sales prediction Example");
data.Columns.Add("RowKey");
data.Columns.Add("Brand");
data.Columns.Add("PriceRange");
data.Columns.Add("Discount");
data.Columns.Add("Advertisement");
data.Columns.Add("ExpSales");
// data.Columns.Add("Wind");
// data.Columns.Add("PlayTennis");
data.Rows.Add("D1", "Highland", "R1", "yes", "No", "B");
data.Rows.Add("D2", "Highland", "R1", "yes", "yes", "C");
data.Rows.Add("D3", "Anchor", "R1", "yes", "No", "B");
data.Rows.Add("D4", "Flora", "R2", "yes", "No", "B");
data.Rows.Add("D5", "Flora", "R3", "No", "No", "A");
data.Rows.Add("D6", "Flora", "R3", "No", "yes", "A");
data.Rows.Add("D7", "Anchor", "R3", "No", "yes", "A");
data.Rows.Add("D8", "Highland", "R2", "yes", "No", "B");
data.Rows.Add("D9", "Highland", "R3", "No", "No", "A");
data.Rows.Add("D10", "Flora", "R2", "No", "No", "B");
data.Rows.Add("D11", "Highland", "R2", "No", "yes", "B");
data.Rows.Add("D12", "Anchor", "R2", "yes", "yes", "A");
data.Rows.Add("D13", "Anchor", "R1", "No", "No", "B");
data.Rows.Add("D14", "Flora", "R2", "yes", "yes", "A");
Codification codebook = new Codification(data);
DecisionVariable[] attributes =
{
new DecisionVariable("Brand", 3), new DecisionVariable("PriceRange",3),
new DecisionVariable("Discount",2),new DecisionVariable("Advertisement",2)
};
int classCount=3; // 2 possible output values for playing tennis: yes or no
DecisionTree tree = new DecisionTree(attributes, classCount);
// Create a new instance of the ID3 algorithm
ID3Learning id3learning = new ID3Learning(tree);
// Translate our training data into integer symbols using our codebook:
DataTable symbols = codebook.Apply(data);
int[][] inputs = symbols.ToIntArray("Brand", "PriceRange","Discount","Advertisement");
int[] outputs = symbols.ToIntArray("ExpSales").GetColumn(0);
// Learn the training instances!
id3learning.Run(inputs, outputs);
int[] query = codebook.Translate("Flora","R1","yes","No");
int output = tree.Compute(query.ToDouble());
string answer = codebook.Translate("ExpSales", output); // answer will be "No".
Label1.Text = answer;
}
}
我的问题是:
当我将任何字符串值放入 int[] query = codebook.Translate("fff","eee","ffg","qqq");
时,它会给我一个输出。我想请问这是什么原因?我的做法有错吗?我还想知道在数据表中组织数据以获得准确结果的最低要求是什么。
最佳答案
我尝试运行你的代码 - 但我得到一个异常而不是任何输出。看着它,我认为问题在于,当您创建 Codification 时,您没有指定要包含哪些列,因此它包含 RowKey 列,然后没有任何内容排列。相反,使用以下命令创建编码:
Codification codebook = new Codification(data, "Brand", "PriceRange", "Discount", "Advertisement", "ExpSales");
然后它似乎就起作用了。
当我再次尝试您的 int[] query = codebook.Translate("fff","eee","ffg","qqq");
示例时,我只是得到一个异常(因为这些值不存在) - 所以我认为你必须有一个异常处理程序来向你隐藏这些问题。
就获得准确结果的最少数据而言,这实际上取决于数据的复杂程度以及其中包含的噪声量。您需要针对一组数据训练模型,然后针对完全不同的数据集测试其准确性,以衡量其是否有效。
关于c# - 使用ID3算法、Accord.Net框架进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37770940/
我正在处理一个在文本列中包含大量缩写的数据框。使用预定义的词典,我将缩写词替换为完整的单词,这样就可以了。 但是缩写似乎被替换了不止一次。如果替换缩写词的完整单词包含另一个缩写词,则再次替换该缩写词:
我是相机编程的新手。出于学习目的,我下载了 Accord-Framework C# 源代码。 因此,如果我们有 JPG 或 MPEG 流,那么我们可以轻松地在 Accord.Controls.Vide
我正在研究多类支持向量机文档中的示例 - http://accord-framework.net/docs/html/T_Accord_MachineLearning_VectorMachines_M
我正在尝试实现一些简单的功能,例如:使用Accord .net框架将视频和音频(来自网络摄像头)记录在avi文件中。看起来似乎更复杂:) 到目前为止,我可以使用以下帧处理程序很好地处理视频帧: voi
我有 jquery UI Accordion 菜单。单击时显示特定的 div 元素。我想知道当 div3 处于事件状态(可见)时是否刷新页面,如何在重新加载页面后使 div3 再次处于事件状态?我正在
目前我正在学校做我的项目,我有一个有点特别的任务。我的工作是从 facebook 的某个页面上抓取数据,将其放入学习模型中,其中应该有 1 个输入作为 List,输出为 Int32。 首先简单介绍一下
我使用以下代码来查找给定商品在更改商品的价格、折扣和广告时的预期销售额。这是使用 Accord.Net 库使用 ID3 算法实现的。 namespace PnredictionSales { publ
我的 TFIDF 向量中有未知数量的列。我的分类代码是: double[][] inputs = table.ToJagged("ColumnName1","columnName2"); int[]
我正在尝试使用 Accord.NET 框架(MultilabelSupportVectorMachine 类)制作多标签支持向量机,但根据示例很难理解编码,例如: // Sample input da
我一直在测试示例内核支持向量机的回归问题,我想知道您如何获得模型的方程式。 例如,如果机器是使用多项式内核(degree = 1)创建的,那么如何获得此模型的线方程(mx + b)。 SupportV
我想使用 nursery data训练 SVM(8 个属性和 5 个类),使用与在 example 上看到的 C45 学习类相同的逻辑: 例如,数据是从包含8 个属性 "parents", "has_
我在我的项目中使用 .net 框架,但遇到了问题。 我正在使用 7 个决策变量来创建决策树。其中 5 个是连续的,其中 2 个是离散的,我正在使用 C45Learning。 我创建决策变量的方式: 连
我有一个表示道路网络的图形数据结构(节点是道路中的点/交叉点,边缘是道路)。 Node 对象具有与其关联的纬度和经度。 我正在使用 Accord 的 KDTree 类查找给定 GPS 坐标的附近节点。
我用 Accord.Video.FFMPEG使用 H264 编解码器创建包含 200 个图像的视频。由于某种原因,视频质量很差。它的大小小于 1MB。选择时VideoCodec.Raw ,质量很高,但
我需要显示这个数字 2387,15 我正在使用 angularjs 执行此操作: {{myNumber|number:2}} 我得到 2,387.15 我不想在 2 和 3 之间昏迷(我是法国人)。
我想在同一页面上有多个 Jquery-UI Accordion ,我认为这就像将文档中的 ID 更改为类一样简单,但只显示第一个。 //Default accordion $( ".accordion
我正在用 Accord.net library 做一些聚类工作.最终,我试图找到与 the elbow method 一起使用的最佳集群数。这需要一些相对简单的计算。但是,我很难获得所需的值,以确定要
我有一个数据集和假设函数,但不能将它们合二为一,有什么建议吗?我用过 ScatterplotBox.Show("Training data",x,y); ScatterplotBox.Show("Tr
我正在使用 Accord.NET 在 C# 中处理多元线性回归,我遵循了示例,该方法需要 2 个参数输入,这是一个二维数组,输出是一个一维数组,这两个数组必须具有相同的长度。 public stat
我正在尝试学习如何在 C# 中实现决策树。我发现的例子对我没有帮助。我想做的是为用户报告的问题提供解决方案,我有一个包含三千个问题和答案的数据库。我正在使用 dotnet 并尝试使用 Accord.n
我是一名优秀的程序员,十分优秀!