<h4 dir="auto">Description</h4>
<p dir="auto">Hi,</p>
<p dir="auto">I am trying to use the sklearn.mixture.GaussianMixture for clustering purpose. I read from the clustering comparison page: <a href="https://scikit-learn.org/stable/modules/clustering.html" rel="nofollow">https://scikit-learn.org/stable/modules/clustering.html</a> that Gaussian Mixture does not require scaling for each variable to have unit variance before fitting the model. That makes sense to me because it is using Mahalanobis Distance to center.</p>
<p dir="auto">However, I found some conflict results when I tried some toy problems. I generated two clusters of data from bivariate normal distributions and put them together, hoping the GaussianMixture will be able to separate them in return.</p>
<p dir="auto">My generated data:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/44034333/61408831-f46beb80-a8ae-11e9-9e2f-623c7c31ecca.png"><img src="https://user-images.githubusercontent.com/44034333/61408831-f46beb80-a8ae-11e9-9e2f-623c7c31ecca.png" alt="generated" style="max-width: 100%;"></a></p>
<p dir="auto">the data has larger variance along one axis than the other</p>
<p dir="auto">Using GaussianMixture without scaling:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/44034333/61409151-a0153b80-a8af-11e9-88e9-25c18bec2b26.png"><img src="https://user-images.githubusercontent.com/44034333/61409151-a0153b80-a8af-11e9-88e9-25c18bec2b26.png" alt="unscaled" style="max-width: 100%;"></a></p>
<p dir="auto">Using GaussianMixture with sklearn.preprocessing.scale():<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/44034333/61409173-ab686700-a8af-11e9-886a-59b520dfd05c.png"><img src="https://user-images.githubusercontent.com/44034333/61409173-ab686700-a8af-11e9-886a-59b520dfd05c.png" alt="scaled" style="max-width: 100%;"></a></p>
<p dir="auto">It looks like it is the scaled one that catches the data feature. Please kindly help. Is it necessary to scale attributes before applying Gaussian Mixture.</p>
<p dir="auto">Thanks!</p>
<h4 dir="auto">Steps/Code to Reproduce</h4>
<p dir="auto">mu = np.array([0,0])<br>
cov = np.array([[10,0],[0,1000]])<br>
data1 = np.random.multivariate_normal(mu,cov,5000)</p>
<p dir="auto">mu = np.array([mean_diff,0])<br>
cov = np.array([[10,0],[0,1000]])<br>
data2 = np.random.multivariate_normal(mu,cov,5000)</p>
<p dir="auto">data = np.concatenate((data1,data2),axis=0)</p>
<p dir="auto">gmm_model  = gmm(2,'full')<br>
#data = preprocessing.scale(data)<br>
clusters = gmm_model.fit_predict(data)</p>
<h4 dir="auto">Expected Results</h4>

<h4 dir="auto">Actual Results</h4>

<h4 dir="auto">Versions</h4>
<p dir="auto">scikit-learn = 0.21.2:<br>
Linux-4.15.0-54-generic-x86_64-with-debian-buster-sid<br>
Python 3.7</p>
<p dir="auto">I think these should be documented in the quick start guide: <a href="http://scikit-learn.org/dev/tutorial/basic/tutorial.html" rel="nofollow">http://scikit-learn.org/dev/tutorial/basic/tutorial.html</a></p>