NoiseFactors is a probabilistic graphical model to suppress and remove additive noise in a single DWI image. It mitigates the issues caused by noise by preserving correlations in the signal components and suppressing the uncorrelated noise within local neighbourhoods. We solve the low-rank approximation problem by learning a best m-component approximation of a factor model. To do so we also introduce a novel flipped bi-crossvalidation to estimate the factor model. It outperforms the state-of-the-art PCA based methods such as Marchenko-Pastur PCA and Local PCA. The proposed method for denoising will be made available with an open-source implementation in DIPY.