文章 "神经网络变得轻松(第十七部分):降低维度" - 页 2

 

你好,德米特里


当我尝试编译 EA 代码时,出现以下错误


cannot convert type 'bool' to type 'matrix' pca.mqh 241 13

此错误指向此处:


bool CPCA::Study(matrix &data)

{

矩阵 X;

ulong total = data.Rows();

if(!X.Init(total, data.Cols()))

返回 false;

v_Means = data.Mean(0);

v_STDs = data.Std(0) + 1e-8;

for(ulong i = 0; i < total; i++)

{

向量 temp = data.Row(i) - v_Means;

temp /= v_STDs;

X = X.Row(temp, i); <<<<<<<<<<<<<<<<<<<<<<<< 有错误的行

}


感谢帮助

罗杰里奥

 
MrRogerioNeri #:

你好,德米特里


当我尝试编译 EA 代码时,出现了以下错误


cannot convert type 'bool' to type 'matrix' pca.mqh 241 13

此错误指向此处:


bool CPCA::Study(matrix &data)

{

矩阵 X;

ulong total = data.Rows();

if(!X.Init(total, data.Cols()))

返回 false;

v_Means = data.Mean(0);

v_STDs = data.Std(0) + 1e-8;

for(ulong i = 0; i < total; i++)

{

向量 temp = data.Row(i) - v_Means;

temp /= v_STDs;

X = X.Row(temp, i); <<<<<<<<<<<<<<<<<<<<<<<< 有错误的行

}


感谢帮助

罗杰里奥

你好,Rogerio

X = X.Row(temp, i); 替换

if(!X.Row(temp, i))
   return false;
 

编译时产生 2 个错误。 代码片段

p217 for(ulong r=0; r<total; r++)

218 {

219 向量 temp = data.Row(r)- v_Means;

220 temp / = v_STDs;

221 result=result.Row(temp,r);

第 221 行出现编译错误- 无法将 "bool "类型转换为 "矩阵 "类型

第 241 行 X = X.Row(temp,i);同样的错误


如何修复?有人能给点提示吗?我想我需要把代码看得更高一些,但我没有足够的知识来解决这个问题。

我还是个专家!

 
ne86.mo 编译错误- 无法将 "bool "类型转换为 "矩阵 "类型

第 241 行 X = X.Row(temp,i);同样的错误


如何修复?有人能给点提示吗?我想你应该看看上面的代码,但我没有足够的知识来解决这个问题。

我还是个专家!

你不需要赋值。在当前版本中,向量会直接写入矩阵,并返回操作的逻辑结果。

for(ulong r = 0; r < total; r++)
     {
      vectorf temp = data.Row(r) - v_Means;
      temp /= v_STDs;
      result.Row(temp, r);
     }
 

祝贺您在我们的国庆日俄罗斯日 !!!!健康 !祝您一切顺利!与家人和朋友

与家人和朋友共度快乐周末 !!!!

建议!我应该继续掌握的主题:"教学NS没有老师 "与我的硬件。

处理器 i7 处理器 3.5 ghertz, 内存 8 GB, vidiokarta Nvidio 2060 c 8 GB.

在第 15 条中,编译一切正常,但 Kmeans 顾问不起作用。

它写入了创建数据:10040 中的 10000,然后一切都停止了。

日志中没有任何可理解的内容:"执行错误 0"。

在 MT5 窗口中设置 250000 条数据

Expert Advisor 在真实交易 "Sberbank "上运行 - 6 分钟。

在相同数据上的 "教师培训 "周期一般都是在睡眠中进行的,但在这里我遇到了问题!