目前我已经使用def函数成功定义了一个自定义内核函数(预先计算内核矩阵),现在我使用GridSearchCV函数来获取最佳参数.
因此,在自定义内核函数中,总共有2个参数将被调整(即下例中的gamm和sea_gamma),而且对于SVR模型,还必须调整cost c参数.但到目前为止,我可以使用GridSearchCV 调整成本c参数 - >请参考下面的第一部分:示例.
我搜索了一些类似的解决方案,例如:
是否可以在scikit-learn中使用网格搜索调整参数来定制内核?
它说:" 实现这一目标的一种方法是使用Pipeline,SVC(kernel ='precomputed')并将自定义内核函数包装为sklearn估计器(BaseEstimator和TransformerMixin的子类).)"但这仍然与我的情况不同然而,问题是,我尝试基于此解决方案解决问题,但到目前为止它没有打印任何输出,甚至是任何错误. - >请参考第二部分:管道解决方案.
第一部分:示例 - >我在网格搜索中的原始自定义内核和评分方法是:
import numpy as np
import pandas as pd
import sklearn.svm as svm
from sklearn import preprocessing,svm, datasets
from sklearn.preprocessing import StandardScaler, MaxAbsScaler
from sklearn.metrics.pairwise import rbf_kernel
from sklearn.grid_search import GridSearchCV
from sklearn.svm import SVR
from sklearn.pipeline import Pipeline
from sklearn.metrics.scorer import make_scorer
# weighting the vectors
def distance_scale(X,Y):
K = np.zeros((X.shape[0],Y.shape[0]))
gamma_sea =192
for i in range(X.shape[0]):
for j …Run Code Online (Sandbox Code Playgroud) 关于我发布的上一个问题: 计算Spotfire中特定行的相同列的差异
我有一个新问题,下面是样本:
我想要实现的新功能是,
数据规则:
输出应该是这样的:
我试过的解决方案:
If(([type]=1) and (first([type]) OVER (intersect(previous([type]),AllNext([status])))=0),"T",Null)
Run Code Online (Sandbox Code Playgroud)
它看起来很好,但问题出在每个状态组中,例如第一个status = 1组中的最后一个TYPE = 1(第5行),它没有接下来最接近的TYPE = 0,因此判断为Null.但基于代码,它是T!:(
有什么建议和想法吗?非常感谢'!PS:一些细节:
首先,我有一个大的data.table,带有一个参数-Date,但str(Date)是chr.
date
2015-07-01 0:15:00
2015-07-01 0:30:00
2015-07-01 0:45:00
2015-07-01 0:60:00
2015-07-01 1:15:00
2015-07-01 1:30:00
2015-07-01 1:45:00
2015-07-01 1:60:00
Run Code Online (Sandbox Code Playgroud)
我想做的是
对于第一个,我试图使用函数as.POSIXct()来重置格式,它应该是正确的,但问题是对于像2015-07-01 1:60:00这样的数据,转换后,它是只是NA.
有谁有想法?
这是生成测试数据的代码:
dd <- data.table(date = c("2015-07-01 0:15:00", "2015-07-01 0:30:00",
"2015-07-01 0:45:00","2015-07-01 0:60:00", "2015-07-01 1:15:00",
"2015-07-01 1:30:00","2015-07-01 1:45:00","2015-07-01 1:60:00","2015-07-01 2:15:00"))
Run Code Online (Sandbox Code Playgroud)
注意:此表只有一天,表的最后一个值是
2015-07-01 23:60:00
Run Code Online (Sandbox Code Playgroud)
对于任何不明确的点,请随时告诉我,谢谢!
我认为这可能是一个非常简单的问题,但我真的是R的新手.
我有一个data.table带键和许多行,其中两个可以设置为键.我想通过Key重新创建表.
例如,简单的数据.在这种情况下,关键是ID和Act,在这里我们总共可以得到4组.
ID ValueDate Act Volume
1 2015-01-01 EUR 21
1 2015-02-01 EUR 22
1 2015-01-01 MAD 12
1 2015-02-01 MAD 11
2 2015-01-01 EUR 5
2 2015-02-01 EUR 7
3 2015-01-01 EUR 4
3 2015-02-01 EUR 2
3 2015-03-01 EUR 6
Run Code Online (Sandbox Code Playgroud)
这是生成测试数据的代码:
dd <- data.table(ID = c(1,1,1,1,2,2,3,3,3),
ValueDate = c("2015-01-01", "2015-02-01", "2015-01-01","2015-02-01", "2015-01-01","2015-02-01","2015-01-01","2015-02-01","2015-03-01"),
Act = c("EUR","EUR","MAD","MAD","EUR","EUR","EUR","EUR","EUR"),
Volume=c(21,22,12,11,5,7,4,2,6))
Run Code Online (Sandbox Code Playgroud)
更改后,每列应显示一个由Key(ID和Act)定义的特定组.
结果如下:
ValueDate ID1_EUR D1_MAD D2_EUR D3_EUR
2015-01-01 21 12 5 …Run Code Online (Sandbox Code Playgroud) 我是 HTcondor 的新手,在我通过 Putty 提交作业后,该作业被搁置,日志文件显示以下错误:
007 (274036.000.000) 06/28 23:12:08 Shadow exception!
Error from slot1@hana-******: Failed to execute '/var/lib/condor/execute/dir_107122/condor_exec.exe': (errno=8: 'Exec format error')
0 - Run Bytes Sent By Job
16520 - Run Bytes Received By Job
...
012 (274036.000.000) 06/28 23:12:08 Job was held.
Error from slot1@hana-2.*******: Failed to execute'/var/lib/condor/execute/dir_107122/condor_exec.exe': (errno=8: 'Exec format error')
Code 6 Subcode 8
...
Run Code Online (Sandbox Code Playgroud)
下面是我提交的描述文件:
# defining the programm
cmd = /***/my_prog.ipynb
# defining the parameters
#args = /***/model_1/data_1.csv
#args = /***/model_2/data_2.csv
#args = /***/model_3/data_3.csv …Run Code Online (Sandbox Code Playgroud) 我在 Spotfire 中使用计算列进行行差异计算时遇到问题。
我想知道是否可以创建一个计算列来计算当前行与具有不同属性的下一行之间的差异。示例表可能是这样的:
结果可能是这样的:
基本行是:
我尝试过的方法:
然后尝试代码:
if([type]=1),[value] - Sum([value]) OVER (PreviousPeriod([RowID])),null)
Run Code Online (Sandbox Code Playgroud)但它只是显示类型 1、无类型 1 和类型 0 之间的区别:(
任何帮助或建议将不胜感激:)
谢谢!
data.table ×2
python ×2
r ×2
spotfire ×2
condor ×1
date ×1
difference ×1
expression ×1
format ×1
grid-search ×1
pipeline ×1
scikit-learn ×1
svm ×1
time ×1