在朱莉娅0.4我有一个名为variablex的变量
in: variablex = 6
out: 6
in: typeof(variablex)
out: Int64
Run Code Online (Sandbox Code Playgroud)
我想将变量的名称保存为字符串,所以我想最终得到类似下面的变量'a'的东西,它将变量'variablex'的名称存储为字符串.
in: a = Name(variablex)
out: variablex
in: typeof(a)
out: ASCIIString
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我刚刚编写了函数'Name',它将变量的名称作为字符串返回.Julia中是否存在与上面的虚构示例函数"Name"相同的功能?
我有一个形式为(x,y,z)的n个坐标点的集合.它们存储在nx 3矩阵M中.
Julia中是否有内置函数来计算每个点与每个点之间的距离?我正在使用少量积分,因此计算时间不是很重要.
我的总体目标是运行一个聚类算法,所以如果有一个我可以看到的聚类算法,不要求我先计算这些距离,请同样建议.我想要执行聚类的数据示例如下.显然我只需要为z坐标做这个.
我想通过重复长度为 n 次的较小列向量 G 来创建列向量 X 。最终向量 X 的长度为 h*n。例如
G = [1;2;3;4] #column vector of length h
X = [1;2;3;4;1;2;3;4;1;2;3;4] #ie X = [G;G;G;G] column vector of
length h*n
Run Code Online (Sandbox Code Playgroud)
我可以在循环中执行此操作,但是否有等效于“填充”功能的功能,可以在尺寸不出错的情况下使用。当我尝试在这种情况下使用填充时,我得到的不是长度为 h*n 的列向量,而是长度为 n 的列向量,其中每一行是另一个长度为 h 的向量。例如,我得到以下信息:
X = [[1,2,3,4];[1,2,3,4];[1,2,3,4];[1,2,3,4]]
Run Code Online (Sandbox Code Playgroud)
这对我来说没有意义,因为我知道 ; 符号用于显示行中的元素,空格用于显示列中的元素。为什么这里使用 , 符号,它甚至是什么意思?例如,我可以通过 X[1] 访问最终输出 X 的第一行,然后通过 X[1][1] 访问其中的任何元素。
我想使用一些“填充”等效项或某种“展平”功能(如果存在),将 X 的所有元素展平为一个列向量,每个条目都是一个数字。
我也尝试了输出的重塑功能,但我也无法让它工作。
我正在使用DecisionTree.jl包的 ScikitLearn 风格为RDatasets数据集之一的二元分类问题创建随机森林模型(有关 ScikitLearn 风格的含义,请参阅 DecisionTree.jl 主页的底部)。我还使用MLBase包进行模型评估。
我已经为我的数据构建了一个随机森林模型,并想为这个模型创建一个 ROC 曲线。阅读可用的文档,我确实理解理论上的 ROC 曲线是什么。我只是不知道如何为特定模型创建一个。
从维基百科页面,我在下面用粗斜体标记的第一句话的最后一部分引起了我的困惑:“在统计学中,接受者操作特征 (ROC) 或 ROC 曲线是一个图形图,说明二元分类器系统的性能作为其区分阈值是变化的。” 整篇文章中有更多关于阈值的内容,但这仍然让我对二元分类问题感到困惑。什么是阈值以及如何改变它?
此外,在关于 ROC 曲线的MLBase 文档中,它说“根据给定的分数和阈值计算 ROC 实例或 ROC 曲线(ROC 实例的向量)。” 但实际上并没有在其他任何地方提到这个阈值。
下面给出了我的项目的示例代码。基本上,我想为随机森林创建一个 ROC 曲线,但我不确定如何或者它是否合适。
using DecisionTree
using RDatasets
using MLBase
quakes_data = dataset("datasets", "quakes");
# Add in a binary column as feature column for classification
quakes_data[:MagGT5] = convert(Array{Int32,1}, quakes_data[:Mag] .> 5.0)
# Getting features and labels where label = …Run Code Online (Sandbox Code Playgroud) 我使用DecisionTree模块在Julia中训练了一个修剪过的决策树模型.我现在想要保存此模型以便稍后在其他数据集上使用.
我已经尝试使用writetable()将模型转换为数据数组以便导出,并且我尝试使用writedlm()进行导出,但这些都不起作用.当我查看模型的类型时,我发现它是DecisionTree.Node类型.我不知道如何使用它,无法导出/保存.
In:DataFrame(PrunedModel)
Out:LoadError: MethodError: `convert` has no method matching convert(::Type{DataFrames.DataFrame}, ::DecisionTree.Node)
This may have arisen from a call to the constructor DataFrames.DataFrame(...),
since type constructors fall back to convert methods.
Closest candidates are:
call{T}(::Type{T}, ::Any)
convert(::Type{DataFrames.DataFrame}, !Matched::Array{T,2})
convert(::Type{DataFrames.DataFrame}, !Matched::Dict{K,V})
...
while loading In[22], in expression starting on line 1
in call at essentials.jl:56
In:typeof(PrunedModel)
Out:DecisionTree.Node
Run Code Online (Sandbox Code Playgroud)
我有什么想法可以保存这个模型以供日后使用?
我在朱莉娅有一个灰度图像,我想在图像上画一条直线.我有两对坐标.它们代表线应该开始和结束的起点(x1,y1)和结束(x2,y2)像素位置.我不确定如何找到落在这两个需要着色的点之间的像素位置,以便我的线条出现在图像上.
我不想使用交互式工具或注释来执行此操作,例如,因为我需要根据为图像指定的精确坐标对许多图像执行此操作.
到目前为止我的代码看起来像这样:
using Images, Colors, ImageView
function convert_rgb_image_to_greyscale(imagefilepath)
img = load(imagefilepath)
my_img_grey = convert(Image{Gray}, my_img)
view(my_img_grey, pixelspacing = [1,1])
return my_img_grey
end
imagefilepath = "myimage.jpg"
my_img_grey = convert_rgb_image_to_greyscale(imagefilepath)
start_pos = [1048 48] # (x1,y1)
end_pos = [1050 155] # (x2,y2)
Run Code Online (Sandbox Code Playgroud)
我试过看Interpolation.jl和这里的一些图像处理帖子和博客等,但我似乎无法让这个工作.