小编Tar*_*lia的帖子

将现有 Cov 矩阵转换为块对角线

我有一个现有的协方差矩阵,我想根据各个列所属的组将其转换为块对角线(例如,第 2 行/列是第 1 组,接下来是第 2 组等)是否有一种简单的方法这样做:

下面是我所拥有的示例:

m1 <- matrix(1:16, ncol=4, byrow=TRUE)
rownames(m1) <- colnames(m1 ) <- c('a', 'b', 'c', 'd')

   a  b  c  d
a  1  2  3  4
b  5  6  7  8
c  9 10 11 12
d 13 14 15 16
Run Code Online (Sandbox Code Playgroud)

我有2组:

第 1 组:“a”、“b”

第 2 组:“c”、“d”

我想要什么:

   a  b  c  d
a  1  2  0  0
b  5  6  0  0
c  0  0 11 12
d  0  0 15 16
Run Code Online (Sandbox Code Playgroud)

r matrix

9
推荐指数
5
解决办法
447
查看次数

sklearn 交叉验证中的自定义评分函数

我想使用一个自定义函数,cross_validate它使用特定y_test的计算精度,这y_test与实际目标不同y_test

我尝试了几种方法,make_scorer但我不知道如何实际通过我的替代方法y_test

scoring = {'prec1': 'precision',
     'custom_prec1': make_scorer(precision_score()}

scores = cross_validate(pipeline, X, y, cv=5,scoring= scoring)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议一种方法吗?

python scikit-learn cross-validation

8
推荐指数
1
解决办法
2948
查看次数

特征的名称和顺序对预测算法重要吗

我的 X_test 数据帧的列的名称/顺序是否必须与我用于拟合的 X_train 相同?

下面是一个例子

我正在训练我的模型:

model.fit(X_train,y)
Run Code Online (Sandbox Code Playgroud)

在哪里X_train=data['var1','var2']

但在预测过程中,当我使用:

model.predict(X_test)
Run Code Online (Sandbox Code Playgroud)

X_test定义为:X_test=data['var1','var3']

其中var3可能是与 完全不同的变量var2

是否predict假设 与中的第二列var3相同?var2X_test

如果什么:

X_live被定义为:X_live=data['var2','var1']

预测会知道重新排序 X 以使它们正确排列吗?

python predict data-fitting

6
推荐指数
1
解决办法
3606
查看次数

如何使用GridSearchCV确定最优参数

GridSearchCV用来识别最佳参数,但我不确定如何实际使用最佳参数,也就是说,在下面的代码中,在第三行中,更改第一行后我的结果不会改变(例如,如果我更改参数空格,或用精确度替换召回率等)

cv = GridSearchCV(pipeline, parameters, cv=len(range(2014,2019)), scoring='recall', refit=True)
cv.fit(X,y)
y_pred = cross_val_predict(cv, X, y, cv=len(range(2014,2019)))
Run Code Online (Sandbox Code Playgroud)

有没有办法确保无论何时GridSearchCV我打电话时,所确定的最佳参数实际上也会被使用cv.predict

python machine-learning scikit-learn cross-validation grid-search

3
推荐指数
1
解决办法
2929
查看次数

迭代日历月份的开始/结束

我想创建一个循环,在提供时间段、第一天和最后一天返回每个月(考虑到月份在第 28-31 天结束):(“function_to_increase_month”尚未定义)

for beg in pd.date_range('2014-01-01', '2014-06-30', freq='1M'):
period_start = beg
period_end = function_to_increase_month(beg)
Run Code Online (Sandbox Code Playgroud)

第一次迭代的预期输出: period_start = '2014-01-01' period_end = '2014-01-31'

第二次迭代: period_start = '2014-02-01' period_end = '2014-02-28'

第三次迭代: period_start = '2014-03-01' period_end = '2014-03-31'

谁能建议一种方法?

python loops date

3
推荐指数
1
解决办法
4996
查看次数

Sort_values Pandas 按索引排序?

我知道 sort_index() 可以让我按索引对 df 进行排序,但我想知道 sort_values() 是否也可以按索引排序(无需重置索引)?

sorting indexing pandas

3
推荐指数
1
解决办法
9746
查看次数

MPI基础知识

我有一个关于MPI的基本问题,为了更好地理解它(我是MPI和多个过程的新手,所以请在这个上承担我的责任).我正在使用C++(RepastHPC)中的模拟环境,它广泛使用MPI(使用Boost库)来允许并行操作.特别是,模拟由各个类(即代理)的多个实例组成,它们应该相互交互,交换信息等.现在假设这发生在多个进程上(并且给出了我对MPI的基本理解)我所拥有的自然问题或恐惧是,不同进程的代理不再相互影响,因为它们无法连接(我知道,这与MPI的整个概念相矛盾).

阅读本手册后,我的理解是这样的:Boost.MPI的可用库(以及上面提到的包的库)负责处理所有通信并在进程之间来回发送包,即每个进程都有来自其他进程的实例(我猜这是某种形式的值调用,b/c原始实例不能从只有副本的进程中更改),然后进行更新,以确保实例的副本具有与原件相同的信息等.

这是否意味着,就模拟运行的最终结果而言,我会像在一个进程中完成整个事情一样?换句话说,多个过程只是为了加快速度而不是改变模拟的设计(因此我不必担心它)?

c++ boost mpi

0
推荐指数
1
解决办法
288
查看次数