我试图在朱莉娅做一个非常简单的逻辑回归。但是朱莉娅的打字系统似乎给我带来了问题。基本上,glm预测给了我一系列的可能性。我想做一个简单的循环,如果概率>=0.5,它是1,否则是0。我希望这些标签也是整数。
using DataFrames;
using GLM;
df = readtable("./data/titanic-dataset.csv");
delete!(df, :PassengerId);
delete!(df, :Name);
delete!(df, :Ticket);
delete!(df, :Cabin);
pool!(df, [:Sex]);
pool!(df, [:Embarked]);
df[isna.(df[:Age]),:Age] = median(df[ .~isna.(df[:Age]),:Age])
model = glm(@formula(Survived ~ Pclass + Sex + Age + SibSp + Parch + Fare + Embarked), df, Binomial(), LogitLink());
pred = predict(model,df);
z = DataArray([1.0,2.0,3.0]);
println(typeof(z));
println(typeof(pred));
println(round.(Int64,z)); # Why does this work?
println(round.(Int64,pred)); # But this does not?
DataArrays.DataArray{Float64,1}
DataArrays.DataArray{Float64,1}
[1, 2, 3]
MethodError: no method matching round(::Type{Int64}, ::DataArrays.NAtype)
Closest candidates are:
round(::Type{T<:Integer}, ::Integer) where T<:Integer at int.jl:408
round(::Type{T<:Integer}, ::Float16) where T<:Integer at float.jl:338
round(::Type{T<:Union{Signed, Unsigned}}, ::BigFloat) where T<:Union{Signed, Unsigned} at mpfr.jl:214
...
Stacktrace:
[1] macro expansion at C:\Users\JHeaton\.julia\v0.6\DataArrays\src\broadcast.jl:32 [inlined]
[2] macro expansion at .\cartesian.jl:64 [inlined]
[3] macro expansion at C:\Users\JHeaton\.julia\v0.6\DataArrays\src\broadcast.jl:111 [inlined]
[4] _broadcast!(::DataArrays.##116#117{Int64,Base.#round}, ::DataArrays.DataArray{Int64,1}, ::DataArrays.DataArray{Float64,1}) at C:\Users\JHeaton\.julia\v0.6\DataArrays\src\broadcast.jl:67
[5] broadcast!(::Function, ::DataArrays.DataArray{Int64,1}, ::Type{Int64}, ::DataArrays.DataArray{Float64,1}) at C:\Users\JHeaton\.julia\v0.6\DataArrays\src\broadcast.jl:169
[6] broadcast(::Function, ::Type{T} where T, ::DataArrays.DataArray{Float64,1}) at .\broadcast.jl:434
[7] include_string(::String, ::String) at .\loading.jl:515
当z
中有na
s时,不能创建整数。您可以round.
(在这种情况下,您将获得float
s的dataarray
),但是当您试图使它们int
时,它会抱怨,因为na
不能是int64
。取而代之的是
convert(DataArray{Int}, round.(z))
此外,使用包中的可用数据而不是计算机上的本地数据集发布示例会更好。
我目前正在研究人工神经网络、支持向量机和线性回归方法在基于气象因素(13个因素)的地区水果产量预测中的应用 在WEKA上实现这些方法时,我得到了不好的结果:就像在多层接收器的情况下一样,我的结果是:(我将数据集划分为28个用于训练,8个用于测试)==运行信息=== 方案:weka。分类器。功能。多层Perceptron-L 0.3-M 0.2-N 500-V 0-S 0-E 20-H a-G-R关
我目前有一个查询,它使用MongoTemplate的findAll()方法返回集合中的所有文档。我想对这些结果进行排序,但看不到任何方法。我看到我可以使用find()和一个查询参数并调用。with(Sort Sort),但是在这个场景中,我如何设置查询以返回所有文档?我会同意使用任何一种方法。
我试图用和PHP一样的方式在Javascript中对浮点数进行舍入;但是我不能用同样的方式将两种语言的数字四舍五入:< code > 6.4049999999999 当我使用PHP循环时,我得到:,但当我尝试使用Javascript循环时,总是得到 信息: 正确答案是 https://stackoverflow.com/a/54721202/4359029 我的脚本尝试: 摘自:http://lo
本文向大家介绍如何停止对MySQL十进制字段进行舍入?,包括了如何停止对MySQL十进制字段进行舍入?的使用技巧和注意事项,需要的朋友参考一下 您可以借助函数停止对十进制字段进行四舍五入。这是四舍五入的十进制字段的演示。对于我们的示例,让我们首先创建一个演示表 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 以下是输出 在上面的示例输出中,小
问题内容: 在对mysql查询进行排名时如何处理联系?在此示例中,我简化了表名和列,但它可以说明我的问题: 因此,假设上面的查询产生了: 即使Al和Amy的成绩相同,一个人的排名也比另一个高。艾米被偷走了。我如何才能使Amy和Al具有相同的排名,以使他们俩的排名都为1。而且,William和Mary没有参加考试。他们挤在教室里,在男孩的房间里抽烟。他们应该并列最后的位置。 正确的排名应该是: 如果
本文向大家介绍TensorFlow如何用于在Python中对Fashion MNIST数据集进行预测?,包括了TensorFlow如何用于在Python中对Fashion MNIST数据集进行预测?的使用技巧和注意事项,需要的朋友参考一下 Tensorflow是Google提供的一种机器学习框架。它是一个开放源代码框架,可与Python结合使用,以实现算法,深度学习应用程序等等。它用于研究和生产目