【发布时间】:2019-05-01 00:53:03
【问题描述】:
我是 Julia 的新手,所以如果这太基本了,请原谅我。我正在尝试运行以下脚本。
using Pkg
Pkg.add("DataFrames")
using DataFrames
function LS(x,y,a)
T = size(x,1)
N = size(x,2)
pred = fill(0.0,T)
w= fill(0.0,N)
for t = 1:T
x1 = x[t,:]
pred[t] = transpose(w) * x1
err = a*(y[t]-pred[t])
w = w + (err * x1)
end
return pred
end
input = readtable("input.csv")
output = readtable("label.csv")
en = convert(Array, input)
out = convert(Array, output)
a = 0.5
prediction = LS(en,out,a)
print(prediction)
运行时出现以下错误:
错误:LoadError:MethodError:没有方法匹配 *(::Array{Float64,1}, ::Array{Union{Missing, Float64},1}) 最接近的候选者是:*(::Any, ::Any, !Matched::Any, !Matched::Any ...) 在 运算符.jl:502 *(!Matched::LinearAlgebra.Adjoint{#s571,#s570} 其中#s570<:union complex float32 float64 s a i where n t densearray reshapearray mi subarray l abstractrange abstractcartesianindex ::union ::abstractarray at ...>
堆栈跟踪:2 LS(::Array{Union{Missing, Float64},2}, ::Array{Union{Missing, Float64},2}, ::Float64) 在 /Users/wj/Desktop/Julia/NLSR.jl:16
2 顶级范围无:0
[3] 包含在 ./boot.jl:317 [内联]
[4] include_relative(::Module, ::String) at ./loading.jl:1044
[5] 在./sysimg.jl:29 中包含(::Module, ::String)
[6] exec_options(::Base.JLOptions) at ./client.jl:231
[7] _start() at ./client.jl:425
我怎样才能成功运行这个脚本?
备注: 算法伪代码为follows:
在 Warren 发表评论后更新脚本
代码现在可以工作了!
【问题讨论】:
标签: julia least-squares