小编Chr*_*rry的帖子

Keras 实时增强添加噪声和对比度

Keras 提供了一个ImageDataGenerator类用于实时增强,但它不包括对比度调整和噪声添加。

我们如何在训练期间应用随机噪声水平和随机对比度调整?可以将这些函数添加到 datagen 中的“preprocessing_function”参数中吗?

谢谢你。

image machine-learning image-processing deep-learning keras

7
推荐指数
2
解决办法
9638
查看次数

从github安装Torch Extension fb-caffe-exts

我正在尝试从Github fb-caffe- exts 为Torch安装fb-caffe-exts扩展,特别是我正在尝试使用torch2caffe.

我正在尝试为torch2caffe运行test.lua演示,但是我收到以下错误,它指的是test.lua文件中的一行:

t2c.run(opts, module) --attempt to call field 'run' (a nil value)
Run Code Online (Sandbox Code Playgroud)

所有测试都失败,堆栈跟踪引用此错误.我已经安装了依赖项(fb.lualib等)并将lua包添加到我的路径中.导入Fb.python和其他依赖项而不会产生错误.

任何帮助赞赏.

installation module machine-learning torch

6
推荐指数
0
解决办法
510
查看次数

SKLearn 中具有类别权重的 KNN

是否可以在 SKLearn 中定义 K 最近邻分类器的类权重?我查看了API,但无法解决。我有一个 knn 问题,它的类数量非常不平衡(其中一些为 10000 个,其他为 1 个)。

knn scikit-learn

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

XGBoost CV 和最佳迭代

我正在使用 XGBoost cv 来查找模型的最佳轮数。如果有人能确认(或反驳),最佳轮数是:

    estop = 40
    res = xgb.cv(params, dvisibletrain, num_boost_round=1000000000, nfold=5, early_stopping_rounds=estop, seed=SEED, stratified=True)

    best_nrounds = res.shape[0] - estop
    best_nrounds = int(best_nrounds / 0.8)
Run Code Online (Sandbox Code Playgroud)

即:完成的总轮数为res.shape[0],因此为了获得最佳轮数,我们减去提前停止的轮数。

然后,我们根据用于验证的分数扩大轮数。那是对的吗?

python statistics machine-learning xgboost

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

设置 XGBoost 提前停止的 Tol

我正在使用 XGBoost 并提前停止。经过大约 1000 个 epoch 后,模型仍在改进,但改进的幅度非常低。IE:

 clf = xgb.train(params, dtrain, num_boost_round=num_rounds, evals=watchlist, early_stopping_rounds=10)
Run Code Online (Sandbox Code Playgroud)

是否可以设置提前停止的“tol”?即:不触发提前停止所需的最低改进水平。

Tol 是 SKLearn 模型中的常用参数,例如 MLPClassifier 和 QuadraticDiscriminantAnalysis。谢谢。

python machine-learning xgboost

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

将二进制堆栈示例调整为多类

我一直在研究这个堆叠的例子.在这种情况下,每组K形折叠产生一列数据,并且对于每个分类器重复这一过程.即:混合的矩阵是:

dataset_blend_train = np.zeros((X.shape[0], len(clfs)))
dataset_blend_test = np.zeros((X_submission.shape[0], len(clfs)))
Run Code Online (Sandbox Code Playgroud)

我需要从多类问题中堆叠预测(每个样本编译15个不同的类).这将为每个clf产生n*15矩阵.

这些矩阵是否应该水平连接?或者在应用逻辑回归之前,是否应该以其他方式组合?谢谢.

python machine-learning matrix ensemble-learning

5
推荐指数
1
解决办法
709
查看次数

为多标记SVM指定权重以平衡类

这是怎么做到的?我正在使用Sklearn来训练SVM.我的班级不平衡.请注意,我的问题是多类,多标签,所以我使用的是OneVsRestClassifier:

mlb = MultiLabelBinarizer()
y = mlb.fit_transform(y_train)

clf = OneVsRestClassifier(svm.SVC(kernel='rbf'))
clf = clf.fit(x, y) 
pred = clf.predict(x_test)
Run Code Online (Sandbox Code Playgroud)

我可以在某处添加'sample_weight'参数来解释不平衡的类吗?


当我向svm添加class_weight dict时,我收到错误:

ValueError: Class label 2 not present
Run Code Online (Sandbox Code Playgroud)

这是因为我使用mlb将我的标签转换为二进制.但是,如果我不转换标签,我会得到:

ValueError: You appear to be using a legacy multi-label data representation. Sequence of sequences are no longer supported; use a binary array or sparse matrix instead. 
Run Code Online (Sandbox Code Playgroud)

class_weight是一个dict,将类标签映射到权重:{1:1,2:1,3:3 ......}

以下是x和y的详细信息:

print(X[0])  
[ 0.76625633  0.63062721  0.01954162 ...,  1.1767817   0.249034    0.23544988]
print(type(X))
<type 'numpy.ndarray'>

print(y[0])
print(type(y))
[1, 2, 3, 4, 5, 6, 7]
<type 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)

注意mlb …

python machine-learning svm scikit-learn

2
推荐指数
1
解决办法
2088
查看次数

在 Python 中调整 3D 图像堆栈的大小

我有一个 3D numpy 数组,它是 100 张 300x300 图像的堆栈。我想将堆栈中的所有图像调整为 200x200。我尝试使用 numpy 调整大小功能:

import numpy as np

img_stack_sm = np.resize(img_stack, (100, 200, 200))
Run Code Online (Sandbox Code Playgroud)

...但这样做会扰乱图像(如绘图所示)。如何一次完成?谢谢你。

python numpy image

2
推荐指数
1
解决办法
8527
查看次数

将一堆图像居中

我有一些要居中的图像的numpy数组(减去平均值并除以标准差)。我可以这样简单吗?

# x is a np array
img_mean = x.mean(axis=0)
img_std = np.std(x)
x = (x - img_mean) / img_std
Run Code Online (Sandbox Code Playgroud)

python arrays numpy computer-vision

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

加快sklearn中的网格搜索

我正在执行网格搜索以识别最佳的SVM参数。我正在使用ipython和sklearn。该代码很慢,并且只能在一个内核上运行。如何播种并利用多个内核?谢谢

random_state = np.random.RandomState(10)
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=.2,random_state=random_state)

model_to_set = OneVsRestClassifier(svm.SVC(kernel="linear"))

parameters = {
    "estimator__C": [1, 2, 4, 8, 16, 32],
    "estimator__kernel": ["linear", "rbf"],
    "estimator__gamma":[1, 0.1, 1e-2, 1e-3, 1e-4],
}

model_tuning = GridSearchCV(model_to_set, param_grid=parameters)
model_tuning.fit(X_train, y_train)

print model_tuning.best_score_
print model_tuning.best_params_
print "Time passed: ", "{0:.1f}".format(time.time()-t), "sec"
Run Code Online (Sandbox Code Playgroud)

machine-learning svm scikit-learn grid-search

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

按相同标准对两个int []进行排序

我有两个int [],Start和End.它们引用一系列行:Start [0]是第0行的起始位置,End [0]是第0行的结束位置.我想按升序对Start进行排序,然后以相同的方式对End进行排序,所以阵列保持对齐.

在MatLab中,您可以这样做:

[idx,StartSorted] = sort(Start); EndSorted =结束(idx);

在Java中执行相同操作的最佳方法是什么?写一个元组课,还是有更好的方法?

一般来说,操作这样的配对数据的最佳方法是什么?

亲爱的


谢谢你们,这太好了.

java arrays sorting

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