我一直在寻找一种在我的测试方法中使用多个DataProviders的方法.我的方案如下:
假设我们有一个DataProvider类:
@Test
public class ExampleDataProvider {
/**
* Returns the list of shape codes.
*
* @return the collection shape codes.
*/
@DataProvider(name = "ShapeCodes")
public static Object[][] getShapeCodes() {
return new Object[][] { new Object[] { Shape.Square },
new Object[] { Shape.Triangle }
};
}
/**
* Returns the list of color codes.
*
* @return the collection of color codes.
*/
@DataProvider(name = "ColorCodes")
public static Object[][] geColorCodes() {
return new Object[][] { new Object[] { Color.Green …Run Code Online (Sandbox Code Playgroud) 有没有办法根据列名拆分pandas数据框?作为一个例子,考虑数据框有以下列df = ['A_x', 'B_x', 'C_x', 'A_y', 'B_y', 'C_y'],我想创建两个数据框X = ['A_x', 'B_x', 'C_x']和Y = ['A_y', 'B_y', 'C_y'].
我知道有可能这样做:
d = {'A': df.A_x, 'B': df.B_x, 'C': df.B_x}
X = pd.DataFrame (data=d)
Run Code Online (Sandbox Code Playgroud)
但这不是理想的,因为在我的情况下,我有2200列df.有更优雅的解决方案吗?
我已经阅读了@codehaus exec-maven-plugin usage的文档。我知道 exec:java 允许用户在他们声明的同一 VM 中执行 java 程序。我是 maven 的新手,我的目标是了解 和 之间的区别mvn exec:exec,mvn exec:java以便我可以更好地应用它们。
我正在处理大型稀疏二进制矩阵。我使用Scipy稀疏矩阵实现压缩了它们。Jaccard distancefrom的计算scipy.spatial.distance不支持对稀疏矩阵的直接运算,所以要么:
将整个稀疏矩阵转换为密集矩阵,然后将每一行作为向量进行操作,这会占用大量内存
或者
遍历稀疏,抓取每一行使用getrow()并操作。
或者
编写我们自己的实现来处理稀疏矩阵。
为了正确看待事情,这里是示例代码:
import scipy.spatial.distance as d
import numpy as np
from scipy.sparse import csr_matrix
# benchmark performance
X = np.random.random((3000, 3000))
# binarize
X[X > 0.3] = 0
X[X>0] = 1
mat = csr_matrix(X)
a = np.zeros(3000)
a[4] = a[100] = a[22] =1
a = csr_matrix(a)
def jaccard_fast(v1,v2):
common = v1.dot(v2.T)
dis = (v1 != v2).getnnz()
if common[0,0]:
return 1.0-float(common[0,0])/float(common[0,0]+dis)
else:
return 0.0
def benchmark_jaccard_fast(): …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个非常简单的多层感知器(MLP)keras:
model = Sequential()
model.add(Dense(16, 8, init='uniform', activation='tanh'))
model.add(Dropout(0.5))
model.add(Dense(8, 2, init='uniform', activation='tanh'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=1000, batch_size=50)
score = model.evaluate(X_test, y_test, batch_size=50)
Run Code Online (Sandbox Code Playgroud)
我的训练数据形状:X_train.shape给出(34180, 16)
标签属于具有shape:y_train.shapegive的二进制类(34180,)
所以我的keras代码应该生成具有以下连接的网络:16x8 => 8x2
这会产生形状不匹配错误:
ValueError: Input dimension mis-match. (input[0].shape[1] = 2, input[1].shape[1] = 1)
Apply node that caused the error: Elemwise{sub,no_inplace}(Elemwise{Composite{tanh((i0 + i1))}}[(0, 0)].0, <TensorType(float64, matrix)>)
Inputs types: [TensorType(float64, matrix), TensorType(float64, matrix)]
Inputs shapes: [(50, 2), …Run Code Online (Sandbox Code Playgroud) 我找不到关于中severity指示内容的良好文档/说明nodetool gossipinfo。正在寻找详细的说明,但找不到合适的说明。