使用kernlab我训练了一个模型,其代码如下:
my.model <- ksvm(result ~ f1+f2+f3, data=gold, kernel="vanilladot")
Run Code Online (Sandbox Code Playgroud)
由于它是一个线性模型,我更喜欢在运行时将得分计算为特征值的简单加权和,而不是使用完整的SVM机制.如何将模型转换为类似的东西(这里有一些组成的权重):
> c(.bias=-2.7, f1=0.35, f2=-0.24, f3=2.31)
.bias f1 f2 f3
-2.70 0.35 -0.24 2.31
Run Code Online (Sandbox Code Playgroud)
.bias偏差项在哪里,其余是特征权重?
编辑:
这是一些示例数据.
gold <- structure(list(result = c(-1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), f1 = c(0, 0, 0, 0,
0, 0, …Run Code Online (Sandbox Code Playgroud) 我知道当我data.table逐行构建时,最好预先分配空间:
library(data.table)
dt <- data.table(x=rep(0,1000), y=rep(0,1000))
for(i in 1L:1000L) {
set(dt, i, 1L, runif(1))
set(dt, i, 2L, rnorm(1))
}
Run Code Online (Sandbox Code Playgroud)
(事实上,如果我不预先分配,我会收到该代码的分段错误。)
如果我事先不知道行数,那么我需要动态增长,可能使用指数分配或其他方式。我是否需要自己管理这个过程,或者是否有任何现有的支持来data.table实现动态增长?
另外,当我完成附加行时,我可能会剩下一些分配的空间,有没有truncate()方法或类似的方法?还是我应该做dt <- dt[1:n,]?
Spark中是否有可用于将RDD绑定到REST服务的开箱即用功能?也就是说,调用Web服务并获取RDD.
或者是我自己调用其余服务并将结果集合转换为RDD的最简单方法?
谢谢.
我正在映射HBase表,每个HBase行生成一个RDD元素.但是,有时行有坏数据(在解析代码中抛出NullPointerException),在这种情况下我只想跳过它.
我有我的初始映射器返回一个Option表示它返回0或1个元素,然后筛选Some,然后获取包含的值:
// myRDD is RDD[(ImmutableBytesWritable, Result)]
val output = myRDD.
map( tuple => getData(tuple._2) ).
filter( {case Some(y) => true; case None => false} ).
map( _.get ).
// ... more RDD operations with the good data
def getData(r: Result) = {
val key = r.getRow
var id = "(unk)"
var x = -1L
try {
id = Bytes.toString(key, 0, 11)
x = Long.MaxValue - Bytes.toLong(key, 11)
// ... more code that might throw exceptions …Run Code Online (Sandbox Code Playgroud) 我和我的小团队在Git工作,而较大的团队使用Subversion.我想安排一个cron作业,HEAD每小时将我们的存储库当前发布到SVN 仓库中的某个目录中.
我以为我已经想到了这一点,但我之前写下的食谱现在似乎没有起作用:
git clone ssh://me@gitserver/git-repo/Projects/ProjX px2
cd px2
svn mkdir --parents http://me@svnserver/svn/repo/play/me/fromgit/ProjX
git svn init -s http://me@svnserver/svn/repo/play/me/fromgit/ProjX
git svn fetch
git rebase trunk master
git svn dcommit
Run Code Online (Sandbox Code Playgroud)
这是我尝试时会发生的事情:
% git clone ssh://me@gitserver/git-repo/Projects/ProjX px2
Cloning into 'ProjX'...
...
% cd px2
% svn mkdir --parents http://me@svnserver/svn/repo/play/me/fromgit/ProjX
Committed revision 123.
% git svn init -s http://me@svnserver/svn/repo/play/me/fromgit/ProjX
Using higher level of URL: http://me@svnserver/svn/repo/play/me/fromgit/ProjX => http://me@svnserver/svn/repo
% git svn fetch
W: Ignoring error from SVN, path probably does not exist: (160013): …Run Code Online (Sandbox Code Playgroud) 我是Scala的新手.我看到有一个slice可以返回连续切片的Arrays方法,如下所示:
scala> "zero|one|two|three|four|five".split("\\|").slice(2,5)
res3: Array[String] = Array(two, three, four)
Run Code Online (Sandbox Code Playgroud)
是否有某种语法糖用于采取任意的,非连续的,非上升的子阵列?就像是:
scala> "zero|one|two|three|four|five".split("\\|").fictionalMethod(4,1,5)
res3: Array[String] = Array(four, one, five)
Run Code Online (Sandbox Code Playgroud) R公式https://github.com/Homebrew/homebrew-core/commits/master/Formula/r.rb最近从版本3.6.3升级到4.0。版本 4 中有一些向后不兼容的更改,因此我想在我的系统上安装 3.x 和 4.x 进行测试。
用自制程序可以实现吗?一个简单的尝试brew install r@3.6就给了我No available formula with the name "r@3.6"。
(旁白:从 3.6 到 4.0 的升级在我的系统上相当偷偷地发生,我做了一个brew upgrade dvc升级了一些依赖项 [ Installing dependencies for dvc: c-ares, protobuf, grpc, gcc, openblas, sqlite, python@3.8, numpy, zstd and apache-arrow],然后是大量的依赖项:
==> Upgrading 42 dependents:
ansible 2.9.6_1 -> 2.9.10, ansible 2.9.6_1 -> 2.9.10, awscli 2.0.7 -> 2.0.28_1,
awscli 2.0.7 -> 2.0.28_1, cython 0.29.10 -> 0.29.20, cassandra 3.11.4 -> 3.11.6_2,
ffmpeg 4.2.2_2 -> 4.3_2, …Run Code Online (Sandbox Code Playgroud) 我看到了一些关于“如何检查分支是否X已重新基于Y”的问题,但我还没有找到具有我想要的特定风味的分支。
我想检查是否X是“简单的分支下降Y”。X严格来说,只允许在和 之间使用这种模式,而不是在和Y之间使用这种模式:ZY
换句话说,如果分支中的每个提交都X具有Y作为祖先(或者等于Y或是其中一个Y祖先)——而不仅仅是 的尖端是否具有作为X祖先Y。
这对于帮助人们实现基于 rebase 的合并模式是可取的,其中X是功能分支,Y是主要开发分支。(如果有人真的知道他们在做什么,并且非严格分支是他们真正想要的,我们可以轻松地授予特殊豁免并允许合并。但我们希望他们至少意识到他们正在这样做,这一直没有发生。)
请注意,这与“可以合并”不同--ff-only。 git merge --ff-only会很高兴地更新Y以指向XifY是 的后代X,即使 的某些祖先X既不是 的后代也不是祖先Y。
我知道我可以遍历所有祖先X并检查是否Y是每个祖先的祖先(当我到达Y自身时停止,并确保没有多个父母),但我想知道是否有更好的内置东西到我错过的 Git。
附录:
pull正如 @TTT 指出的,另一个常见的情况是有人在 之前使用 ing而push不是执行 …
我想知道是否有人知道如何以比我想象的更好的方式计算如下组合.
> library(lubridate)
> df <- data.frame(x=sample(now()+hours(1:3), 100, T), y=sample(1:4, 100, T))
> with(df, as.data.frame(table(x, y)))
x y Freq
1 2012-06-15 00:10:18 1 5
2 2012-06-15 01:10:18 1 9
3 2012-06-15 02:10:18 1 8
4 2012-06-15 00:10:18 2 9
5 2012-06-15 01:10:18 2 10
6 2012-06-15 02:10:18 2 12
7 2012-06-15 00:10:18 3 7
8 2012-06-15 01:10:18 3 9
9 2012-06-15 02:10:18 3 6
10 2012-06-15 00:10:18 4 5
11 2012-06-15 01:10:18 4 14
12 2012-06-15 02:10:18 4 6
Run Code Online (Sandbox Code Playgroud)
我喜欢这种格式,但不幸的是,当我们跑 …
我正在寻找一种有效的习惯用法来创建一个新的 Pandas DataFrame,它的列和类型与现有的Pandas相同DataFrame,但没有行。以下工作,但可能比它可能效率低得多,因为它必须创建一个长索引结构,然后为每一行评估它。我假设这O(n)是行数,我想找到一个O(1)解决方案(这看起来还不错)。
out = df.loc[np.repeat(False, df.shape[0])].copy()
Run Code Online (Sandbox Code Playgroud)
我copy()在那里,因为老实说,我不知道在什么情况下我会得到副本或查看原件。
为了在 R 中进行比较,一个很好的习惯用法是 do df[0,],因为没有第零行。 df[NULL,]也有效。
r ×4
apache-spark ×2
data.table ×2
git ×2
scala ×2
arrays ×1
combinations ×1
dataframe ×1
exception ×1
factors ×1
git-merge ×1
homebrew ×1
indexing ×1
mirroring ×1
pandas ×1
scala-option ×1
slice ×1
svm ×1
svn ×1
version ×1