Issue 1:
nosetests sklearn --exe
.............................................................../usr/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg/sklearn/manifold/spectral_embedding.py:225: UserWarning: Graph is not fully connected, spectral embedding may not works as expected.
warnings.warn("Graph is not fully connected, spectral embedding"
...........SS....../usr/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg/sklearn/datasets/tests/test_base.py:124: UserWarning: Could not load sample images, PIL is not available.
warnings.warn("Could not load sample images, PIL is not available.")
.../usr/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg/sklearn/datasets/tests/test_base.py:145: UserWarning: Could not load sample images, PIL is not available.
warnings.warn("Could not load sample images, PIL is not available.")
./usr/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg/sklearn/datasets/tests/test_base.py:161: UserWarning: Could not load sample images, PIL is not available.
warnings.warn("Could not load sample images, PIL is not available.")
.....SS................................................S.........................................................S.........................................SSS....................../usr/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg/sklearn/externals/joblib/test/test_func_inspect.py:122: UserWarning: Cannot inspect object <functools.partial object at 0x6e36f18>, ignore list will not work.
nose.tools.assert_equal(filter_args(ff, ['y'], (1, )),
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................S...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F............................................................................SSS....S....S...................................................................................................................................
======================================================================
FAIL: sklearn.tests.test_common.test_regressors_train
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/nose-1.2.1-py2.7.egg/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/usr/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg/sklearn/tests/test_common.py", line 655, in test_regressors_train
assert_true(succeeded)
AssertionError: False is not true
-------------------- >> begin captured stdout << ---------------------
CCA(copy=True, max_iter=500, n_components=2, scale=True, tol=1e-06)
singular matrix

--------------------- >> end captured stdout << ----------------------

----------------------------------------------------------------------
Ran 1598 tests in 81.829s

FAILED (SKIP=15, failures=1)

Is the failures a big deal ? Can I use it anyway ? I want to use sklearn to do logistic regression . Thanks.

Issue 2:
Currently, the Imputer works on columns. Let's assume I have a dataset with mixed categorical and numerical data points and missing values and I want to use the pipeline object:

import numpy as np
import scipy.stats
import sklearn.pipeline
import sklearn.preprocessing
import sklearn.ensemble

categorical_data = np.random.randint(0, 5, size=(10, 4))
numerical_data = np.random.randn(10, 4)
data = np.hstack((categorical_data, numerical_data))

# Add missing values
data[0, 1] = np.NaN
data[1, 5] = np.NaN

X = data
y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])

If I now try to use imputation, I can only choose a single strategy for both data types:

pipeline = sklearn.pipeline.Pipeline((('imp',
sklearn.preprocessing.Imputer(
strategy='most_frequent')),
('ohe',
sklearn.preprocessing.OneHotEncoder(
categorical_features=[0, 1, 2, 3])),
('rf',
sklearn.ensemble.RandomForestClassifier())))

which would result in a more or less random value being picked for the missing value of the continuous feature:

Xt, _ = pipeline._pre_transform(X, y)
# Now uses the return value of scipy.stats.mode which makes only very little
# sense for a continuous value
print(scipy.stats.mode(data)[5])
print(Xt.toarray()[1])

To overcome this, I propose to add a new attribute to the Imputer which allows to specify the columns to be imputed in order to allow something like this:

pipeline = sklearn.pipeline.Pipeline((('imp_cat',
sklearn.preprocessing.Imputer(
strategy='most_frequent',
columns=[0, 1, 2, 3])),
('imp_num',
sklearn.preprocessing.Imputer(
strategy='median',
columns=[4, 5, 6, 7])),
('ohe',
sklearn.preprocessing.OneHotEncoder(
categorical_features=[0, 1, 2, 3])),
('rf',
sklearn.ensemble.RandomForestClassifier())))

I could not find a related issue and am willing to work on this if this is considered worth adding to scikit-learn.