我正在尝试运行一个非常简单的示例,其中XGBoost会获取一些数据并进行二进制分类。该文档说xgboost在使用“ binary:logistic”时输出概率
import numpy as np
import xgboost as xgb
data = np.random.rand(7,10)
label = np.random.randint(2,size=7)
#print data
#print label
dtrain = xgb.DMatrix(data, label=label)
param = {'bst:max_depth':2, 'bst:eta':1, 'silent':1, 'objective':'binary:logistic' }
plst = param.items()
bst = xgb.train(plst,dtrain,)
dtest= xgb.DMatrix(np.random.rand(4,10))
ypred = bst.predict(dtest)
print ypred
Run Code Online (Sandbox Code Playgroud)
输出为:
[ 0.31350434 0.31350434 0.31350434 0.31350434]
Run Code Online (Sandbox Code Playgroud)
那么这个输出是什么意思呢?这是否意味着我有31%的机会得到1?
如何将其转换为0,1?
这个问题似乎有关,但我无法从中得到任何有用的信息。
当我在目标c中使用此语句时
NSObject object = [[NSObject alloc] init];
Run Code Online (Sandbox Code Playgroud)
为对象保留了多少内存?
我想在整个应用程序中使用自定义字体(ios 5).我使用了以下代码
[[UILabel appearance] setFont:[UIFont fontWithName:@"MyCustomFont" size:17.0]];
Run Code Online (Sandbox Code Playgroud)
这个问题是它覆盖了所有视图中的所有字体大小.
我怎么能避免呢?
我在java中开发了一个包含大约30个操作的Web服务.除2-3行外,每个操作都具有完全相同的代码.以下是代码草图
public Response operation1(String arg1, String arg2)
{
initialze(); // this line will be different for each operation with different arguments
authorizeSession();
Response res;
if (authorized)
{
try
{
Object result = callMethod1(arg1, arg2); // This line is different for each operation
res = Response.ok(result).build();
}
catch( MultipleExceptions ex)
{
res = handleExceptions();
}
finally
{
logInDatabase();
}
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
我应该遵循什么方法,以便我不必在每个操作中编写相同的代码?
请考虑以下示例字符串:
abc1235abc53abcXX
123abc098YXabc
Run Code Online (Sandbox Code Playgroud)
我想捕获abc之间发生的组,
我应该得到以下几组:
1235, 53, XX
123, 098YX
Run Code Online (Sandbox Code Playgroud)
我正在尝试这个正则表达式,但不知何故它不捕获中间文本:
(abc(.*?))+
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
编辑:我需要使用正则表达式,没有字符串拆分,因为我需要对捕获的组应用进一步的规则.