dataframe - 数据传递给flux-Julia中分类器的训练函数
问题描述
这是我第一次在 Julia 中处理 Flux 包。我有数据(列是特征,行是记录)。我不明白损失函数需要什么(只是一个元组或数据框)以及数据应该是什么(元组或数据框)?
功能:Flux.train!(loss, ps, data, opt)
我试图知道问题出在哪里并在 Atom IDE 上进行了调试,但不明白该怎么做。
我试图转置我的数据并将行和列作为数据实例,但我遇到了这个错误:
没有方法匹配 loss(::Float64)
我试图将数据框作为一个整体,但得到了这个错误:
没有方法匹配 iterate(::DataFrame)
我已添加
(Iterators.repeated((x, y), 3))
为数据,但出现此错误:MethodError: 没有方法匹配 (::Dense{typeof(identity),TrackedArray{...,Array{Float32,2}},TrackedArray{...,Array{Float32,1}}})(::DataFrame)
我试图通过编辑
Dense
功能修复 3 点,但也没有工作。
你有什么建议?我应该怎么做才能很好地理解 Flux?因为它的文档不足以让我理解。
一个代码试用:
D = DataFrame(adjoint(Matrix(data)))
X = D[1:6,: ]
Y = D[7,:]
m = Chain(Dense(7,1))
loss(x, y) = crossentropy(m(x), y)
accuracy(x, y) = mean(onecold(m(x)) .== onecold(y))
dataset = repeated((X, Y), 200)
Flux.train!(loss, Flux.params(m), dataset, ADAM())
得到这个错误:
没有方法匹配 (::Dense{typeof(identity),TrackedArray{...,Array{Float32,2}},TrackedArray{...,Array{Float32,1}}})(::DataFrame)
解决方案
推荐阅读
- php - PhpSpreadsheet 使用第一列值作为 db 列名从 .xls/.xlsx 在数据库中插入数据
- python - Django - 允许自定义用户编辑他们的个人资料
- python - 如何比较数据框中的两个列表列表?
- terraform - 指向当前文件名的 Terraform 变量
- javascript - JS:加载时同时播放多个音频源
- asp.net-core - asp net core soap请求ws-addressing
- python - 在 docker 中创建 YAML 文件
- time - Pyspark:to_date 和 unix_timestamp 对于其他有效值的某些记录返回 null
- sql - 组合代码,以便结果可以显示在一个表格中
- c++ - 根据 Android 下的动态加载顺序,从共享库中使用 imbue/facet 时会被忽略