# -*- coding: utf-8 -*-
"""
Created on Sat Nov 25 13:22:06 2017

@author: Márton
"""

from sklearn import datasets as ds;
import numpy as np;  # importing numpy the scientific computing package with Python
import matplotlib.pyplot as plt;  # importing pyplot the MATLAB-like plotting framework from matplotlib library
import matplotlib.colors as col;
from sklearn import mixture; 

# load dataset and partition in training and testing sets
iris = ds.load_iris();  # load iris dataset
# Scatterplot for two input attributes
x_axis = 0;  # x axis attribute (0,1,2,3)
y_axis = 1;  # y axis attribute (0,1,2,3)
colors = ['red','green','blue']; # colors for target values setosa 
fig = plt.figure(1);
plt.title('Scatterplot for iris dataset');
plt.xlabel(iris.feature_names[x_axis]);
plt.ylabel(iris.feature_names[y_axis]);
plt.scatter(iris.data[:,x_axis],iris.data[:,y_axis],s=50,c=iris.target,cmap=col.ListedColormap(colors));
plt.show();

iris_EM = mixture.GaussianMixture(n_components=3, covariance_type="full");
iris_EM.fit(iris.data,iris.target);
iris_pred = iris_EM.predict(iris.data);

iris_weight = iris_EM.weights_;
iris_mean = iris_EM.means_;
iris_cov = iris_EM.covariances_;