简要背景:广泛使用的许多(大多数?)当代编程语言至少有一些共同的ADT [抽象数据类型],特别是
string(由字符组成的序列)
list(有序的值集合),和
基于地图的类型(将键映射到值的无序数组)
在R编程语言中,前两个分别实现为character和vector.
当我开始学习R时,几乎从一开始就有两件事是显而易见的:list是R中最重要的数据类型(因为它是R的父类data.frame),其次,我无法理解它们是如何工作的,至少不能很好地在我的代码中正确使用它们.
首先,在我看来,R的list数据类型是地图ADT的简单实现(dictionary在Python中,NSMutableDictionary在Objective C中,hash在Perl和Ruby中,object literal在Javascript中,等等).
例如,您可以像创建Python字典一样创建它们,方法是将键值对传递给构造函数(在Python中dict不是这样list):
x = list("ev1"=10, "ev2"=15, "rv"="Group 1")
Run Code Online (Sandbox Code Playgroud)
并且您可以像访问Python字典那样访问R List的项目,例如x['ev1'].同样,您可以通过以下方式仅检索"键"或仅检索"值":
names(x) # fetch just the 'keys' of an R list
# [1] "ev1" "ev2" "rv"
unlist(x) # fetch just the 'values' of an R list
# ev1 ev2 rv
# …Run Code Online (Sandbox Code Playgroud) numpy文档建议使用数组而不是矩阵来处理矩阵.但是,与octave(我直到最近使用)不同,*不执行矩阵乘法,你需要使用函数matrixmultipy().我觉得这使得代码非常难以理解.
有人分享我的观点,并找到了解决方案吗?
我一直在读神经网络上的一些东西,我理解单层神经网络的一般原理.我理解对aditional图层的需求,但为什么要使用非线性激活函数?
这个问题之后是这个问题:用于反向传播的激活函数的衍生物是什么?
如果我们有10个特征向量,那么我们可以在输入层有10个神经节点.如果我们有5个输出类,那么我们可以在输出层有5个节点.但是选择MLP中隐藏层数的标准是什么以及有多少神经节点1个隐藏层中的节点?
当我查看R Packages的源代码时,我会看到sweep常用的函数.有时候,当一个更简单的函数已经足够时(例如,apply),它会被使用,有时,如果不花费相当多的时间来逐步执行代码块,就不可能确切地知道它在做什么.
我可以sweep使用更简单的函数重现效果的事实表明我不理解sweep核心用例,并且这个函数经常使用的事实表明它非常有用.
上下文:
sweep是R标准库中的一个函数; 它的论点是:
sweep(x, MARGIN, STATS, FUN="-", check.margin=T, ...)
# x is the data
# STATS refers to the summary statistics which you wish to 'sweep out'
# FUN is the function used to carry out the sweep, "-" is the default
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,参数类似于apply但sweep需要一个参数,STATS.
另一个关键区别是sweep返回一个与输入数组相同形状的数组,而返回的结果apply取决于传入的函数.
sweep 在行动:
# e.g., use 'sweep' to express a given matrix in …Run Code Online (Sandbox Code Playgroud) 我试图找到几何平均值的内置但不能.
(显然,在shell中工作时内置不会保存我,也不会怀疑在准确性上有任何差异;对于脚本,我尝试尽可能多地使用内置函数,其中(累积)性能提升通常是显而易见的.
如果没有一个(我怀疑是这种情况),这里是我的.
gm_mean = function(a){prod(a)^(1/length(a))}
Run Code Online (Sandbox Code Playgroud) 假设我有一个由某些函数组成的R源文件,无论它们是什么,例如,
fnx = function(x){(x - mean(x))/sd(x)}
Run Code Online (Sandbox Code Playgroud)
我希望能够在我当前的R会话中访问它们(显然没有输入它们).如果库("/ path/to/file/my_fn_lib1.r")工作,那将是很好的,因为"import"在Python中工作,但事实并非如此.一个显而易见的解决方案是创建一个R包,但我想避免这种开销只是为了导入一些函数.
当用户在我的网站上注册时,我希望能够通过Adwords广告系列存储他们是否来到我的网站.
我知道谷歌使用javascript来跟踪基于用户计算机上创建的cookie的转换.有没有办法可以检查这个cookie,以便我可以将源存储在用户帐户中?
作为一个自我发展练习,我想开发一个简单的分类算法,给定Dilbert卡通片的特定单元格,能够识别出动画片中存在哪些角色(Dilbert,PHB,Ratbert等).
我认为最好的方法是(1)将一些算法应用于图像,将其转换为一组特征,以及(2)使用训练集和许多可能的机器学习算法之一来关联存在/没有特定特征存在于细胞中的某些特征.
所以我的问题是 - (a)这是正确的方法,(b)因为有许多分类算法和ML算法要测试,找到合适的算法的好方法是什么,以及(c)你会开始哪种算法因为我们基本上是在对卡通进行分类练习.
python classification machine-learning computer-vision feature-detection
可视化由python中编码的边连接的节点序列.
寻找一个python库来可视化这样的图形数据.
用python或python绑定编写的库都可以
(我知道Visustin,但寻找替代方案)