def __init__(self, preprocessor=None):
        self.class_names = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']
        lines = iris_data.split('\n')
        X = []
        y = []
        for line in lines:
            row = line.split(',')
            X.append([float(elem) for elem in row[:-1]])
            y.append(self.class_names.index(row[-1]))
        X = np.array(X)

        assert X.shape == (150, 4)
        assert len(y) == 150

        # Build a column array for y
        y = np.array([[y_i] for y_i in y])
        assert min(y) == 0
        assert max(y) == 2

        super(Iris, self).__init__(X=X, y=y, y_labels=3, preprocessor=preprocessor)
.. todo::
dataset/ETHPy150Open lisa-lab/pylearn2/pylearn2/datasets/iris.py/Iris.__init__