小编Tit*_*llo的帖子

使用seaborn的简单线条图

我正在尝试使用seaborn(python)绘制ROC曲线.使用matplotlib我只需使用该函数plot:

plt.plot(one_minus_specificity, sensitivity, 'bs--')
Run Code Online (Sandbox Code Playgroud)

where one_minus_specificitysensitivity是两个配对值列表.

在seaborn中是否有简单的情节功能对应物?我看了一下画廊,但我没有找到任何简单的方法.

python plot matplotlib roc seaborn

52
推荐指数
2
解决办法
8万
查看次数

相关特征和分类准确性

我想问一下每个人关于相关特征(变量)如何影响机器学习算法的分类准确性的问题.相关特征我指的是它们之间的相关性而不是目标类别(即周长和几何图形的面积或教育水平和平均收入)之间的相关性.在我看来,相关特征会对分类算法的准确性产生负面影响,我会说,因为相关性使其中一个无用.它真的像这样吗?问题是否随分类算法类型的变化而变化?任何关于论文和讲座的建议都非常受欢迎!谢谢

classification machine-learning correlation feature-selection

36
推荐指数
2
解决办法
2万
查看次数

Weka中的交叉验证

我一直在想,我读到的交叉验证是这样执行的:

在k倍交叉验证中,原始样本被随机分成k个子样本.在k个子样本中,保留单个子样本作为用于测试模型的验证数据,并且剩余的k-1个子样本用作训练数据.然后将交叉验证过程重复k次(折叠),其中每个k个子样本仅使用一次作为验证数据.然后可以对折叠的k结果进行平均(或以其他方式组合)以产生单个估计

所以建立了k个模型,最后一个是平均值.在Weka指南中写道,每个模型总是使用所有数据集构建.那么Weka中的交叉验证如何工作呢?是否根据所有数据构建模型,"交叉验证"意味着创建了k折叠,然后对其进行评估,最终输出结果只是折叠的平均结果?

validation fold weka

28
推荐指数
3
解决办法
5万
查看次数

使用keras进行极慢的模型加载

我有一套Keras模型(30),我使用以下方法训练和保存:

 model.save('model{0}.h5'.format(n_model))
Run Code Online (Sandbox Code Playgroud)

当我尝试加载它们load_model时,每个模型所需的时间非常大并且是增量的.加载完成如下:

models = {}
for i in range(30):
    start = time.time()
    models[i] = load_model('model{0}.h5'.format(ix)) 
    end = time.time()
    print "Model {0}: seconds {1}".format(ix, end - start)
Run Code Online (Sandbox Code Playgroud)

输出是:

...
Model 9: seconds 7.38966012001
Model 10: seconds 9.99283003807
Model 11: seconds 9.7262301445
Model 12: seconds 9.17000102997
Model 13: seconds 10.1657290459
Model 14: seconds 12.5914049149
Model 15: seconds 11.652477026
Model 16: seconds 12.0126030445
Model 17: seconds 14.3402299881
Model 18: seconds 14.3761711121
...
Run Code Online (Sandbox Code Playgroud)

每个模型都非常简单:2个隐藏层,每个10个神经元(大小约50Kb).为什么装载需要这么多,为什么时间增加?我错过了什么(例如模型的关闭功能?)

我发现加速模型的加载最好将网络结构和权重存储到两个不同的文件中:保存部分:

model.save_weights('model.h5')
model_json = model.to_json()
with …
Run Code Online (Sandbox Code Playgroud)

python performance load keras

19
推荐指数
2
解决办法
8729
查看次数

使用grep仅提取整个单词

我有一个大文本文件.我需要提取包含确切单词"DUSP1"的所有行.这里有一个例子:

9606    ENSP00000239223 DUSP1   BLAST
9606    ENSP00000239223 DUSP1-001 Ensembl
Run Code Online (Sandbox Code Playgroud)

我想要检索第一行而不是第二行.

我尝试了几个命令:

grep -E "^DUSP1"
grep '\<DUSP1\>'
grep '^DUSP1$'
grep -w DUSP1
Run Code Online (Sandbox Code Playgroud)

但它们似乎都不起作用.我应该使用哪个选项?

regex grep match exact-match

17
推荐指数
2
解决办法
3万
查看次数

scikit-learn GridSearchCV多次重复

我正在尝试为SVR模型获取最佳参数集.我想使用GridSearchCV超过不同的值C.但是,从之前的测试中我发现,分成训练/测试集高可影响整体表现(在这种情况下为r2).为了解决这个问题,我想实现重复的5倍交叉验证(10 x 5CV).是否有内置的方式来执行它GridSearchCV

快速解决方案:

遵循sci-kit 官方文档中提出的想法,快速解决方案代表:

NUM_TRIALS = 10
scores = []
for i in range(NUM_TRIALS):
     cv = KFold(n_splits=5, shuffle=True, random_state=i)
     clf = GridSearchCV(estimator=svr, param_grid=p_grid, cv=cv)
     scores.append(clf.best_score_)
print "Average Score: {0} STD: {1}".format(numpy.mean(scores), numpy.std(scores))
Run Code Online (Sandbox Code Playgroud)

python scikit-learn cross-validation grid-search

9
推荐指数
2
解决办法
7478
查看次数

用awk比较文件

嗨我有两个相似的文件(都有3列).我想检查这两个文件是否包含相同的元素(但以不同的顺序列出).首先,我想比较第一列

FILE1.TXT

"aba" 0 0 
"abc" 0 1
"abd" 1 1 
"xxx" 0 0
Run Code Online (Sandbox Code Playgroud)

FILE2.TXT

"xyz" 0 0
"aba" 0 0
"xxx" 0 0
"abc" 1 1
Run Code Online (Sandbox Code Playgroud)

我怎么能用awk做到这一点?我试着环顾四周,但我发现只有复杂的例子.如果我想在比较中包含其他两列,该怎么办?输出应该给我匹配元素的数量.

comparison awk compare two-columns

8
推荐指数
2
解决办法
2万
查看次数

SPMD vs. Parfor

我是关于matlab并行计算的新手.我有一个创建分类器(SVM)的函数,我想用几个数据集测试它.我有一个2核工作站,所以我想并行运行测试.有人可以解释我之间的区别:

 dataset_array={dataset1, dataset2}
 matlabpool open 2
 spmd
      my_function(dataset(labindex));
 end
Run Code Online (Sandbox Code Playgroud)

 dataset_array={dataset1, dataset2}
 matlabpool open 2
 parfor i:1=2
      my_function(dataset(i));
 end
Run Code Online (Sandbox Code Playgroud)

parallel-processing matlab classification

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

AWS Lambda上的Unittest

我有一个我在AWS上运行的python脚本.该脚本包含lambda_handler(event, context)AWS调用的函数.现在,我想创建一个新的lambda函数,作为单元测试.典型的单元测试模式定义为:

import unittest

def my_function(a):
    return a + 1

class Test(unittest.TestCase):

    def test_correct(self):
        self.assertEqual( my_function(1), 2)

if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

在AWS中,lambda_handler(event, context)调用该函数.如何unittest_lambda_handler(event, context)进行单元测试?

所以我猜我的代码(在单元测试脚本中)应该是这样的:

import main_lambda_function
import unittest

    def unittest_lambda_handler(event, context):
         #what should this function do?

    class MyTest(unittest.TestCase):
         def return_type(self,event, context):
            self.assertTrue(isinstance(main_lambda_function.lambda_handler(event, context),int))
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?如果是这样,该怎么unittest_lambda_handler办?

python unit-testing amazon-web-services aws-lambda

6
推荐指数
3
解决办法
5826
查看次数

从 LightGBM 模型访问树和节点

在 sci-kit learn 中,可以访问整个树结构,即树的每个节点。这允许探索在树的每个分裂中使用的属性以及用于测试的值

The binary tree structure has 5 nodes and has the following tree structure:
node=0 test node: go to node 1 if X[:, 3] <= 0.800000011920929 else to node 2.
    node=1 leaf node.
    node=2 test node: go to node 3 if X[:, 2] <= 4.950000047683716 else to node 4.
            node=3 leaf node.
            node=4 leaf node.

Rules used to predict sample 0:
decision id node 0 : (X_test[0, 3] (= 2.4) > 0.800000011920929)
decision id node 2 : …
Run Code Online (Sandbox Code Playgroud)

decision-tree nodes random-forest lightgbm

6
推荐指数
3
解决办法
4145
查看次数