为什么这样的事情在Haskell中运行得非常慢?
test = [x|a<-[1..100],b<-[1..100],c<-[1..100],d<-[1..100],let x = a]
print $ length test
Run Code Online (Sandbox Code Playgroud)
只有大约10^8数字可以运行,它应该在眨眼间完成,但它似乎永远运行,几乎崩溃.
我想使用C ++,OpenCV 2.4.11,Windows 8.1和Qt Creator 3.4.2列出所有连接的网络摄像头(USB网络摄像头和内部网络摄像头)。对我而言,通过以下方式获取可访问的网络摄像头数量就足够了:
VideoCapture videoCapture(0); // Will access my internal laptop webcam.
VideoCapture videoCapture(1); // Will access the first connected usb webcam.
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
// Following procedure detects, how many webcams are accessible from 0 on upwards.
numberOfDevices = 0;
bool noError = true;
while (noError)
{
try
{
// Check if camera is available.
VideoCapture videoCapture(numberOfDevices); // Will crash if not available, hence try/catch.
// ...
}
catch (...)
{
noError = false;
}
// If above …Run Code Online (Sandbox Code Playgroud) 我正在使用pandas.read_csv(),我发现quotechar并引用了其中的参数,
pandas.read_csv(filepath_or_buffer, sep=', ' , quotechar='"', quoting=0)
Run Code Online (Sandbox Code Playgroud)
这些参数的确切用途是什么?我查看了文档,但我无法理解。
我正在浏览SVM损失和衍生的代码,我确实理解了损失,但我无法理解如何以矢量化方式计算梯度
def svm_loss_vectorized(W, X, y, reg):
loss = 0.0
dW = np.zeros(W.shape) # initialize the gradient as zero
num_train = X.shape[0]
scores = X.dot(W)
yi_scores = scores[np.arange(scores.shape[0]),y]
margins = np.maximum(0, scores - np.matrix(yi_scores).T + 1)
margins[np.arange(num_train),y] = 0
loss = np.mean(np.sum(margins, axis=1))
loss += 0.5 * reg * np.sum(W * W)
Run Code Online (Sandbox Code Playgroud)
到目前为止理解了,在这之后我无法理解为什么我们在二进制矩阵中逐行求和并用它的总和减去
binary = margins
binary[margins > 0] = 1
row_sum = np.sum(binary, axis=1)
binary[np.arange(num_train), y] = -row_sum.T
dW = np.dot(X.T, binary)
# Average
dW /= num_train
# Regularize
dW …Run Code Online (Sandbox Code Playgroud) 最近,我开始在我的研究中使用R的推荐器包.
这是recommenderlab文件:
http://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab.pdf
本文档中有一些例子,但我有一个很大的问题.
首先,加载recommenderlab包和Jester5k数据集.
library("recommenderlab")
data(Jester5k)
Run Code Online (Sandbox Code Playgroud)使用Jester5k的最前1000个记录(用户)来学习.推荐算法是热门的.
r <- Recommender(Jester5k[1:1000], method="POPULAR")
Run Code Online (Sandbox Code Playgroud)然后预测第1001个用户的推荐列表.列出前5项.
recom <- predict(r, Jester5k[1001], n=5)<br/>
as(recom, "matrix")
Run Code Online (Sandbox Code Playgroud)输出:
[1] "j89" "j72" "j47" "j93" "j76"<br/>
Run Code Online (Sandbox Code Playgroud)
然后我检查上面5项的评级.
rating <- predict(r, Jester5k[1001], type="ratings")<br/>
as(rating, "matrix")[,c("j89", "j72", "j47", "j93", "j76")]
Run Code Online (Sandbox Code Playgroud)输出:
j89 j72 j47 j93 j76<br/>
2.6476613 2.1273894 0.5867006 1.2997065 1.2956333<br/>
Run Code Online (Sandbox Code Playgroud)
为什么排名前5位的是"j89""j72""j47""j93""j76",但j47的评分仅为0.5867006.
我不明白.
如何recommenderlab计算每个项目的评级ratingMatrix?
它如何产生TopN列表?
我正在R 2.15.1中使用tm和wordcloud软件包。我试图使一个词云这是代码:
maruti_tweets = userTimeline("Maruti_suzuki", n=1000,cainfo="cacert.pem")
hyundai_tweets = userTimeline("HyundaiIndia", n=1000,cainfo="cacert.pem")
tata_tweets = userTimeline("TataMotor", n=1000,cainfo="cacert.pem")
toyota_tweets = userTimeline("Toyota_India", n=1000,cainfo="cacert.pem")
# get text
maruti_txt = sapply(maruti_tweets, function(x) x$getText())
hyundai_txt = sapply(hyundai_tweets, function(x) x$getText())
tata_txt = sapply(tata_tweets, function(x) x$getText())
toyota_txt = sapply(toyota_tweets, function(x) x$getText())
clean.text = function(x)
{
# tolower
x = tolower(x)
# remove rt
x = gsub("rt", "", x)
# remove at
x = gsub("@\\w+", "", x)
# remove punctuation
x = gsub("[[:punct:]]", "", x)
# remove numbers
x = gsub("[[:digit:]]", …Run Code Online (Sandbox Code Playgroud) 我有一个主R标记文档(Rmd),其中我想在其中一个块中的knit几个单独的 Rnw文档(无子文档).但是,当我调用knitRnw文档时,似乎没有处理包含的R代码块,导致尝试texi2pdf在它们上运行时出错.
情况说明:
内部高手.Rmd:
```{r my_chunk, echo=FALSE, message=FALSE, results='asis'}
... some code ...
knit("sub.**Rnw**", output = ..., quiet = TRUE)
tools::texi2pdf(tex_file)
... some code ...
```
Run Code Online (Sandbox Code Playgroud)
是否需要一些其他配置才能使此方案有效?
这是示例:
#include <stdio.h>
int main()
{
int x=35;
int y=-35;
unsigned int z=35;
unsigned int p=-35;
signed int q=-35;
printf("Int(35d)=%d\n\
Int(-35d)=%d\n\
UInt(35u)=%u\n\
UInt(-35u)=%u\n\
UInt(-35d)=%d\n\
SInt(-35u)=%u\n",x,y,z,p,p,q);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
Int(35d)=35
Int(-35d)=-35
UInt(35u)=35
UInt(-35u)=4294967261
UInt(-35d)=-35
SInt(-35u)=4294967261
Run Code Online (Sandbox Code Playgroud)
我将值声明为有符号整数还是无符号整数真的很重要吗?因为,C实际上只关心我如何从内存中读取值。请帮助我理解这一点,我希望你证明我错了。
我正在使用 R 中预安装的 RScript 包。
我想从命令提示符调用以下名为“test.R”的 R 脚本:
a <- c("a", "b", "c")
a
args <- commandArgs(TRUE)
b <- as.vector(args[1])
b
Run Code Online (Sandbox Code Playgroud)
我使用以下命令:
RScript test.R c("d","e","f")
Run Code Online (Sandbox Code Playgroud)
这将创建以下输出:
[1] "a" "b" "c"
[1] "c(d,e,f)"
Run Code Online (Sandbox Code Playgroud)
如您所见,第一个(也是唯一的)参数被解释为字符串,然后转换为一维向量。如何将参数解释为向量?
旁注:当然,向量的项可以分为多个参数,但在我的最终项目中,将有多个向量参数。实现这样的事情是我最后的手段:
RScript test.R "d" "e" "f" END_OF_VECTOR_1 "g" "h" "i" END_OF_VECTOR_2 "j" "k" "l"
Run Code Online (Sandbox Code Playgroud) 我有一个由n列组成的数据框,其中一个是food.food列可能的值是apple,tomato,cabbage,sausage,beer,vodka,potato.我想在我的data数据框中创建一个新列,如下所示:if food==apple或food==tomatoor food==potato,然后赋值vegetables,否则只data$food赋值.
所以,如果数据框是这样的:
ID ..(some other columns).. food
1 apple
2 sausage
3 tomato
4 cabbage
5 vodka
Run Code Online (Sandbox Code Playgroud)
那么结果应如下:
ID ..(some other columns).. food category
1 apple vegetable
2 sausage sausage
3 tomato vegetable
4 cabbage vegetable
5 vodka vodka
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?