def nmf(X, n_components=None): model = NMF(n_components) W = model.fit_transform(X) components = model.components_ return W, components