我已经看到,在大多数情况下,时间复杂度与空间复杂性有关,反之亦然.例如,在数组遍历中:
for i=1 to length(v)
print (v[i])
endfor
Run Code Online (Sandbox Code Playgroud)
这里很容易看出算法在时间上的复杂度是O(n),但在我看来,空间复杂度也是n(也表示为O(n)?).
我的问题:算法是否可能具有与空间复杂度不同的时间复杂度?
我一直在回顾一下Andrew Ng在机器学习中的一个例子,我在https://github.com/jcgillespie/Coursera-Machine-Learning/tree/master/ex3中找到了这个例子.该示例处理逻辑回归和一对一分类.我对这个功能有疑问:
function [all_theta] = oneVsAll(X, y, num_labels, lambda)
%ONEVSALL trains multiple logistic regression classifiers and returns all
%the classifiers in a matrix all_theta, where the i-th row of all_theta
%corresponds to the classifier for label i
% [all_theta] = ONEVSALL(X, y, num_labels, lambda) trains num_labels
% logisitc regression classifiers and returns each of these classifiers
% in a matrix all_theta, where the i-th row of all_theta corresponds
% to the classifier for label i
% Some useful …Run Code Online (Sandbox Code Playgroud) 我想在OOP中模拟以下情况:
我希望Freight类成为一个抽象类,因为我希望我的程序根据一件货物的危险程度收取一些额外的费用.
实际上我遇到的问题是我希望Freight类是一个对象数组.我的意思是它可以存放一块行李和货物.我的问题是我在哪里可以调用addItem方法?我应该把它放入行李箱和货物类吗?或者我应该将一个名为addItem的通用抽象方法放入Freight类中?像这样的东西(我为此目的使用Java):
abstract class Freight{
//other things here
protected Freight[] fr=Freight[10];
protected int numItems;
abstract addItem();
}
class PieceOfLuggage extends Freight{
//other things
public PieceOfLuggage(int iden,double weight,int id){
super(iden,weight,id)
}
public addItem(){
fr[numItems]=this;
numItems++;
}
}
class PieceOfCargo extends Freight{
private degreeHazard;
public PieceOfCargo(int iden,double weight,int id,int degHazard){
super(iden,weight,id);
degreeHazard=degHazard;
}
public addItem(){
fr[numItems]=this;
numItems++;
}
}
Run Code Online (Sandbox Code Playgroud)
所以在我的主程序中我可以做类似的事情:
Luggage l1=new Luggage(100,50,1234); //ident, weight, id
Cargo c1=new Cargo(300,123.56,1111,1); //ident, weight, id, degree of hazard
l1.addItem();
c1.addItem();
Run Code Online (Sandbox Code Playgroud)
任何建议,我可以把addItem方法?,以便类Freight包含行李和货物类型的对象数组?
谢谢
我想在R中做出以下线性回归的情况
year<-rep(2008:2010,each=4)
quarter<-rep(1:4,3)
cpi<-c(162.2,164.6,166.5,166.0,166.4,167.0,168.6,169.5,170.0,172.0,173.3,174.0)
plot(cpi,xaxt="n",ylab="CPI",xlab="")
axis(1,labels=paste(year,quarter,sep="C"),at=1:12,las=3)
fit<-lm(cpi~year+quarter)
Run Code Online (Sandbox Code Playgroud)
我想绘制显示我处理的数据的线性回归的线.我尝试过:
abline(fit)
abline(fit$coefficients[[1]],c(fit$coefficients[[2]],fit$coefficients[[3]]))
Run Code Online (Sandbox Code Playgroud)
问题是我的公式是这样的:
y=a+b*year+c*quarter
Run Code Online (Sandbox Code Playgroud)
而不是更简单的东西:
y=a+b*year
Run Code Online (Sandbox Code Playgroud)
那么我如何绘制显示线性回归的那条线呢?
是否可以用abline绘制线?
我有以下程序:
timeStart<-Sys.time()
timeEnd<-Sys.time()
difference<-timeEnd-timeStart
anyVector<-c(difference)
Run Code Online (Sandbox Code Playgroud)
最后我需要把数据放到一个向量中,我所遇到的问题就是当差值以秒为单位时,值就像:
4.46809 seconds
Run Code Online (Sandbox Code Playgroud)
当它通过几分钟时,值就像:
2.344445 minutes
Run Code Online (Sandbox Code Playgroud)
我希望答案在任何情况下都会转换为分钟,但是当我做这样的事情时:
anyVector<-c(difference/60)
Run Code Online (Sandbox Code Playgroud)
对于差异的值以秒为单位工作正常的情况,但它也将在几分钟内转换数据给我一个不正确的数字.
那么,只有当答案在几秒钟内而不是在几分钟内,我才能如何转换为分钟?
我一直在 Coursera 上学习有关神经网络的课程,并遇到了这个模型:
据我了解,z1、z2 等的值是将线性回归的值放入激活函数中。我遇到的问题是,当作者说应该有一个权重矩阵和一个输入向量时,如下所示:
我知道 Xs 的向量的尺寸为 3 x 1,因为有三个输入,但为什么 Ws 的数组的尺寸为 4 x 3?我可以推断它有四行,因为这些是权重 w1、w2、w3 和 w4,它们对应于 a1...a4 的每个值,但是该数组内部是什么?它的元素类似于:
w1T w1T w1T
w2T w2T w3T
... ?
Run Code Online (Sandbox Code Playgroud)
例如,当我乘以 x1 时,我将得到:
w1Tx1+w1Tx2+w1Tx3=w1T(x1+x2+x3)=w1TX
Run Code Online (Sandbox Code Playgroud)
我已经考虑过了,但我无法真正理解这个数组包含的内容,即使我知道最后我将有一个对应于 z 值的 4 x 1 向量。有什么帮助吗?
谢谢
我有一个由第 0 到 10 列组成的数据集,我想提取仅在第 1 到 5 列中的信息,而不是第 6 列和第 7 到 9 列(这意味着不是最后一列)。到目前为止,我已经做了以下事情:
A = B[:, [[1:5], [7:-1]]]
Run Code Online (Sandbox Code Playgroud)
但我有一个syntax error,我怎样才能检索该数据?
我有一个数据框,其中空格作为缺失值,因此我使用正则表达式将它们替换为 NaN 值。我遇到的问题是当我想使用序数编码来替换分类值时。到目前为止我的代码如下:
x=pd.DataFrame(np.array([30,"lawyer","France",
25,"clerk","Italy",
22," ","Germany",
40,"salesman","EEUU",
34,"lawyer"," ",
50,"salesman","France"]
).reshape(6,3))
x.columns=["age","job","country"]
x = x.replace(r'^\s*$', np.nan, regex=True)
oe=preprocessing.OrdinalEncoder()
df.job=oe.fit_transform(df["job"].values.reshape(-1,1))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Input contains NaN
Run Code Online (Sandbox Code Playgroud)
我希望将工作列替换为数字,例如:[1,2,-1,3,1,3]。
我使用Shiny创建了一个应用程序并上传到属于shinyapps.io的服务器; 我测试过,一切都很好.我的应用程序通过server.R创建一个文本文件,我想在用户完成任务时发送到我的电子邮件.我想将该文件发送到我的电子邮件,因为我没有看到在shinyapps.io管理工具中查看我的闪亮应用程序输出的文件的方法.那么底线,如何将文件从闪亮的应用程序发送到我的电子邮件?
例如,如果我有以下内容:
library(sendmailR)
datos<-read.table("data.txt")
to <- "<loretta@gmail.com>"
subject <- "Email Subject"
body <- "Email body."
mailControl=list(smtpServer="ASPMX.L.GOOGLE.COM")
sendmail(from="localhost",to=to,subject=subject,msg=body,control=mailControl)
attachmentObject <- mime_part(name=datos)
bodyWithAttachment <- list(body,attachmentObject)
sendmail(from="localhost",to=to,subject=subject,msg=bodyWithAttachment,control=mailControl)
Run Code Online (Sandbox Code Playgroud)
我想知道我应该放什么的一部分,我的意思是我已经把它本地主机,但我需要把其中的闪亮运行应用程序的地址; 从哪里可以得到它?
此外,当我运行上面的代码,而不是在Shiny环境中,但作为脚本,我在sendmail部分后得到以下错误:
Error in wait_for(code) :
SMTP Error: 5.5.2 Syntax error. g22si4860678yhc.87 - gsmtp
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒
我正在使用credit.csv构建学习树,数据可在以下位置找到:
https://github.com/stedy/Machine-Learning-with-R-datasets/blob/master/credit.csv
我做了以下步骤:
credit<-read.csv("credit.csv")
set.seed(12345)
credit_rand<-credit[order(runif(1000)),]
credit_train<-credit_rand[1:900,]
credit_test<-credit_rand[901:1000,]
library(C50)
credit_model<-C5.0(credit_train[-21],credit_train$default)
Run Code Online (Sandbox Code Playgroud)
在我关注的指南中,似乎我应该删除最后一列,这是默认值,但我得到以下错误:
Error en C5.0.default(credit_train[, -21], credit_train$default) :
C5.0 models require a factor outcome
Run Code Online (Sandbox Code Playgroud)
我尝试将最后一行更改为:
credit_model<-C5.0(credit_train[,-21],credit_train$default)
Run Code Online (Sandbox Code Playgroud)
但没有成功.
有帮助吗?