我有一个回归模型,其中因变量是连续的,但百分之九十的自变量是分类的(有序和无序)和大约百分之三十的记录都有缺失值(更糟糕的是,它们随机丢失而没有任何模式,也就是说,超过百分之四十五的数据至少有一个缺失值).没有先验理论来选择模型的规范,因此关键任务之一是在运行回归之前降维.虽然我知道连续变量降维的几种方法,但我不知道有关分类数据的类似静态文献(可能除了作为对应分析的一部分,基本上是频率表上主成分分析的变化).我还要补充一点,该数据集具有200个变量的中等大小500000个观测值.我有两个问题.
通常,数据结构的有效初始化是将所有成员设置为零.即使使用C++进行编程,也可能需要与外部API进行交互.
以下是否有任何实际区别:
some_struct s;
memset(&s, 0, sizeof(s));
Run Code Online (Sandbox Code Playgroud)
简单地说
some_struct s = { 0 };
Run Code Online (Sandbox Code Playgroud)
人们发现自己都使用这两种方法,选择哪种方法更适合给定的应用程序?(希望据了解,这只适用于POD结构;如果该结构中存在C++ std :: string,则会遇到各种各样的破坏.)
对于我自己来说,作为一个不使用memset的C++程序员,我从不确定函数签名,所以我发现第二个例子更容易使用,除了更少打字,更紧凑,甚至更多很明显,因为它在声明中说"这个对象被初始化为零"而不是等待下一行代码并且看到"哦,这个对象初始化为零".
在C++中创建类和结构时,我倾向于使用初始化列表; 我很好奇人们对上面两个"C风格"初始化的想法,而不是与C++中可用的内容进行比较,因为我怀疑我们很多人都与C库接口,即使我们自己主要用C++编写代码.
编辑: Neil Butterworth 在后续提出这个问题,我认为这是这个问题的一个有趣的推论.
我正在使用C#中的一个小型2D游戏引擎,并决定使用Direct2D和DirectWrite进行渲染.我知道有Windows API Code Pack和SlimDX,但我真的很喜欢从头开始编写接口.我试图在没有托管C++的情况下这样做,但Direct2D和DirectWrite似乎没有使用传统的COM对象.它们定义了派生自的接口IUnknown,但似乎没有办法从C#与COM互操作实际使用它们.有IID d2d1.h,但没有CLSID.
当然,我是COM互操作的新手,所以也许我只是缺少一些东西.有人可以对这种情况有所了解吗?
我正在使用Symfony开发一个新的应用程序.我想存储密码哈希,所以我覆盖了我的用户模型中的save方法:
public function save(Doctrine_Connection $conn = null)
{
$this->setUserPassword( md5($this->getUserPassword()) );
return parent::save($conn);
}
Run Code Online (Sandbox Code Playgroud)
这在新用户创建时很有效.但是,当我们在不更改密码的情况下编辑用户时会出现问题.这会导致Doctrine散列已经散列的密码.
因此,我需要检查是否在此DoctrineRecord实例中修改了UserPassword.我怎么能设法做到这一点?
我有以下功能:
function getLevel(points)
{
var level = -1 + Math.sqrt(4 + points/20);
// Round down to nearest level
return Math.floor(level);
}
Run Code Online (Sandbox Code Playgroud)
上面的函数根据他们的积分来计算玩家的等级,我的问题是我需要这样的函数来计算给定等级所需的点数.
我有一段Objective-C代码,如下所示:
- (NSString *)copyData:(NSData *)data
{
NSString *path = [[[self outputDirectory] stringByAppendingPathComponent:@"archive"] stringByAppendingPathExtension:@"zip"];
NSLog(@"Copying data to %@", path);
[data writeToFile:path atomically:NO];
return path;
}
Run Code Online (Sandbox Code Playgroud)
从初始化程序调用代码,如下所示:
- (id)initWithData:(NSData *)data
{
if ((self = [super init]) != nil) {
NSString *path = [self copyData:data]; // Line 41 (referenced in warning, shown below)
return [self initWithContentsOfFile:path];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
运行clang静态分析器时,我得到以下path变量警告:
第41行分配的对象的潜在泄漏并存储在"路径"中
具有+0保留计数的对象返回给调用者,其中预期+1(拥有)保留计数
我糊涂了.我的理解是stringByAppendingPathComponent应该返回一个自动释放的字符串,所以它应该有一个净保留计数为0.(显然我不想保留它.)
我已经尝试改变copyData:以返回以下内容,但它没有消除警告:
return [[path retain] autorelease];
Run Code Online (Sandbox Code Playgroud)
那么这个警告的处理是什么?
在我看来,自从这个着名的线程以来,Ruby社区一直在关注自动加载,因为出于线程安全原因而不鼓励使用它.
有谁知道这不再是Ruby 1.9.1或1.9.2中的问题吗?我已经看过一些关于包装需求的讨论等等,但1.9更改日志(或者至少和我能找到的一样多)似乎并没有解决这个特定的问题.我想知道我是否可以在没有任何合理悲伤的情况下合理地开始自动加载仅1.9的库.
提前感谢任何见解.
我正在研究的团队已经养成了<script>在HTML页面正文中随机位置使用标记的习惯.例如:
<html>
<head></head>
<body>
<div id="some-div">
<script type="text/javascript">//some javascript here</script>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我以前没见过这个.它似乎适用于我测试过的少数浏览器.但据我所知,将脚本标签放在这样的地方是无效的.
我错了吗?我们在这样的div标签中放置脚本标签有多糟糕?我应该注意哪些浏览器兼容性问题?
在Java中,我定义了一个抽象类,其中包含具体和抽象方法,并且必须由第三方开发人员独立创建子类.只是为了确定:我是否可以对抽象类进行任何更改,这些更改与源类兼容,但不兼容二进制?换句话说:他们已经编制了各自的子类后,我能变抽象类 - 除了如增加一个抽象方法给它或移除它受保护的方法由子类,这是当然的源不兼容称为 - 的方式这可能会迫使他们重新编译他们的子类?
我正在将数据导入到将来有一个静态MyISAM表的数据库中(只能读取).我之所以选择MyISAM是因为据我所知,它对我的要求更快(我根本不熟悉MySQL/SQL).
该表将包含各种列,例如ID,名称,性别,电话,状态...以及国家/地区,城市,街道列.现在的问题是,我应该创建表(例如国家:COUNTRY_ID,COUNTRY_NAME)在过去的3列,并通过ID是指它们在主表(正常化...... [?]),或者只是将它们存储为VARCHAR在主表(显然有重复)?
我主要关心的是速度 - 由于不会写入表格,因此数据完整性不是优先事项.唯一的操作是选择特定行或搜索特定条件的行.
如果我只使用VARCHAR,那么按国家,城市和/或街道列(以及可能在同一搜索中的其他列)搜索会更快吗?
编辑:该表有大约30列和大约10米行.