diff --git a/sklearn/__check_build/__init__.py b/sklearn/__check_build/__init__.py
index 6256b99408256f14f01268e878605261de85c1ce..5a4018789a7777a51234b4ff0cf5e87f9642fddb 100644
--- a/sklearn/__check_build/__init__.py
+++ b/sklearn/__check_build/__init__.py
@@ -41,6 +41,6 @@ to build the package before using it: run `python setup.py install` or
 %s""" % (e, local_dir, ''.join(dir_content).strip(), msg))
 
 try:
-    from ._check_build import check_build
+    from ._check_build import check_build  # noqa
 except ImportError as e:
     raise_build_error(e)
diff --git a/sklearn/cluster/tests/test_k_means.py b/sklearn/cluster/tests/test_k_means.py
index 38fcff94d7505903630a1789ffac9b133b20c03d..7e33fabc5ab4ab0644c5cf0b84b1e6f3e6c2da8a 100644
--- a/sklearn/cluster/tests/test_k_means.py
+++ b/sklearn/cluster/tests/test_k_means.py
@@ -27,7 +27,6 @@ from sklearn.cluster.k_means_ import _labels_inertia
 from sklearn.cluster.k_means_ import _mini_batch_step
 from sklearn.datasets.samples_generator import make_blobs
 from sklearn.externals.six.moves import cStringIO as StringIO
-from sklearn.exceptions import DataConversionWarning
 from sklearn.metrics.cluster import homogeneity_score
 
 
diff --git a/sklearn/cluster/tests/test_spectral.py b/sklearn/cluster/tests/test_spectral.py
index 494c9ab7c3fab6cec6ca525ae7f3bab8cddc3b36..48b1a8f32ea385c32e6531564ebecf4fe506f3b3 100644
--- a/sklearn/cluster/tests/test_spectral.py
+++ b/sklearn/cluster/tests/test_spectral.py
@@ -65,7 +65,7 @@ def test_spectral_amg_mode():
     S = np.max(D) - D  # Similarity matrix
     S = sparse.coo_matrix(S)
     try:
-        from pyamg import smoothed_aggregation_solver
+        from pyamg import smoothed_aggregation_solver  # noqa
 
         amg_loaded = True
     except ImportError:
diff --git a/sklearn/cross_decomposition/__init__.py b/sklearn/cross_decomposition/__init__.py
index 836b685163b721448e35b39920c8173b163243d8..11e7ee1d0bef731bc664a5cd712985ac18e83d6b 100644
--- a/sklearn/cross_decomposition/__init__.py
+++ b/sklearn/cross_decomposition/__init__.py
@@ -1,2 +1,2 @@
-from .pls_ import *
-from .cca_ import *
+from .pls_ import *  # noqa
+from .cca_ import *  # noqa
diff --git a/sklearn/datasets/tests/test_base.py b/sklearn/datasets/tests/test_base.py
index 5c171561bd58c8837ad2fc5ce8473a317b3ac954..a7cf278e37e44a2c297042b242ad64ea570cc1ad 100644
--- a/sklearn/datasets/tests/test_base.py
+++ b/sklearn/datasets/tests/test_base.py
@@ -158,7 +158,7 @@ def test_load_missing_sample_image_error():
         try:
             from scipy.misc import imread
         except ImportError:
-            from scipy.misc.pilutil import imread
+            from scipy.misc.pilutil import imread  # noqa
     except ImportError:
         have_PIL = False
     if have_PIL:
diff --git a/sklearn/ensemble/tests/test_weight_boosting.py b/sklearn/ensemble/tests/test_weight_boosting.py
index 5099b729de39f19ac5163638629f0e27f64cdd00..6edf0984e7b12b40853f05fa8239859c927b4cfd 100755
--- a/sklearn/ensemble/tests/test_weight_boosting.py
+++ b/sklearn/ensemble/tests/test_weight_boosting.py
@@ -308,7 +308,6 @@ def test_base_estimator():
 
 
 def test_sample_weight_missing():
-    from sklearn.linear_model import LogisticRegression
     from sklearn.cluster import KMeans
 
     clf = AdaBoostClassifier(KMeans(), algorithm="SAMME")
diff --git a/sklearn/externals/joblib/my_exceptions.py b/sklearn/externals/joblib/my_exceptions.py
index 28f31ddd12783435c860292df85f40dccc4ef820..3bda92f58a6e700a3b7eafea0253e305fca63737 100644
--- a/sklearn/externals/joblib/my_exceptions.py
+++ b/sklearn/externals/joblib/my_exceptions.py
@@ -5,8 +5,6 @@ Exceptions
 # Copyright: 2010, Gael Varoquaux
 # License: BSD 3 clause
 
-import sys
-
 from ._compat import PY3_OR_LATER
 
 class JoblibException(Exception):
diff --git a/sklearn/feature_selection/tests/test_mutual_info.py b/sklearn/feature_selection/tests/test_mutual_info.py
index b9ae4730b9580ef81cbb2793fa331063ec550d34..615abf1c5b0a04feab094fe09240c41a8293cca1 100644
--- a/sklearn/feature_selection/tests/test_mutual_info.py
+++ b/sklearn/feature_selection/tests/test_mutual_info.py
@@ -7,7 +7,7 @@ from scipy.sparse import csr_matrix
 from sklearn.utils import check_random_state
 from sklearn.utils.testing import (assert_array_equal, assert_almost_equal,
                                    assert_false, assert_raises, assert_equal,
-                                   assert_allclose, assert_greater)
+                                   assert_greater)
 from sklearn.feature_selection.mutual_info_ import (
     mutual_info_regression, mutual_info_classif, _compute_mi)
 
diff --git a/sklearn/linear_model/__init__.py b/sklearn/linear_model/__init__.py
index cd1c616f15bc4a97bcc205f7b03f561a255dccd2..f3100d45e2e66e4190d3fb7ac79441d6a059d6ea 100644
--- a/sklearn/linear_model/__init__.py
+++ b/sklearn/linear_model/__init__.py
@@ -42,6 +42,7 @@ __all__ = ['ARDRegression',
            'ElasticNet',
            'ElasticNetCV',
            'Hinge',
+           'Huber',
            'HuberRegressor',
            'Lars',
            'LarsCV',
diff --git a/sklearn/linear_model/tests/test_coordinate_descent.py b/sklearn/linear_model/tests/test_coordinate_descent.py
index 7372fbed1ab3ded93a3e5ba42d4a77a5cb1c50bf..ee2737718edc6f2c1f047b6f14768b32d2dc0cc3 100644
--- a/sklearn/linear_model/tests/test_coordinate_descent.py
+++ b/sklearn/linear_model/tests/test_coordinate_descent.py
@@ -2,8 +2,6 @@
 #          Alexandre Gramfort <alexandre.gramfort@inria.fr>
 # License: BSD 3 clause
 
-from sys import version_info
-
 import numpy as np
 from scipy import interpolate, sparse
 from copy import deepcopy
@@ -13,7 +11,6 @@ from sklearn.exceptions import ConvergenceWarning
 from sklearn.utils.testing import assert_array_almost_equal
 from sklearn.utils.testing import assert_almost_equal
 from sklearn.utils.testing import assert_equal
-from sklearn.utils.testing import SkipTest
 from sklearn.utils.testing import assert_true
 from sklearn.utils.testing import assert_greater
 from sklearn.utils.testing import assert_raises
diff --git a/sklearn/manifold/tests/test_spectral_embedding.py b/sklearn/manifold/tests/test_spectral_embedding.py
index fa2eb60b1f0bbb819626180ad780f52c03cf3477..ffca9c429a9b1151fbfc54310d5d03f43c3d2891 100644
--- a/sklearn/manifold/tests/test_spectral_embedding.py
+++ b/sklearn/manifold/tests/test_spectral_embedding.py
@@ -162,7 +162,7 @@ def test_spectral_embedding_callable_affinity(seed=36):
 def test_spectral_embedding_amg_solver(seed=36):
     # Test spectral embedding with amg solver
     try:
-        from pyamg import smoothed_aggregation_solver
+        from pyamg import smoothed_aggregation_solver  # noqa
     except ImportError:
         raise SkipTest("pyamg not available.")
 
diff --git a/sklearn/metrics/__init__.py b/sklearn/metrics/__init__.py
index 3b8b9b71dcd874764cfa83163464a726dd6a3cf8..93d21a146619a00f582fa0490f7bb697236a7412 100644
--- a/sklearn/metrics/__init__.py
+++ b/sklearn/metrics/__init__.py
@@ -70,8 +70,10 @@ __all__ = [
     'adjusted_rand_score',
     'auc',
     'average_precision_score',
+    'calinski_harabaz_score',
     'classification_report',
     'cluster',
+    'cohen_kappa_score',
     'completeness_score',
     'confusion_matrix',
     'consensus_score',
@@ -80,6 +82,7 @@ __all__ = [
     'explained_variance_score',
     'f1_score',
     'fbeta_score',
+    'fowlkes_mallows_score',
     'get_scorer',
     'hamming_loss',
     'hinge_loss',
diff --git a/sklearn/metrics/tests/test_classification.py b/sklearn/metrics/tests/test_classification.py
index 5f827e87689d043b34aa7f63499a954f9921b4d0..e2acf1de592ad43e3f0c80738cf5e9350f7c88cc 100644
--- a/sklearn/metrics/tests/test_classification.py
+++ b/sklearn/metrics/tests/test_classification.py
@@ -11,7 +11,6 @@ from sklearn import svm
 
 from sklearn.datasets import make_multilabel_classification
 from sklearn.preprocessing import label_binarize
-from sklearn.utils.fixes import np_version
 from sklearn.utils.validation import check_random_state
 
 from sklearn.utils.testing import assert_raises, clean_warning_registry
diff --git a/sklearn/preprocessing/tests/test_function_transformer.py b/sklearn/preprocessing/tests/test_function_transformer.py
index 80dc04f995f4392938ec37cd3cc2c5c2f6d1b181..4e9cb26b64a9dc0fb153d43bb2c219fbf7cacd0a 100644
--- a/sklearn/preprocessing/tests/test_function_transformer.py
+++ b/sklearn/preprocessing/tests/test_function_transformer.py
@@ -1,6 +1,5 @@
 import numpy as np
 
-from sklearn.utils import testing
 from sklearn.preprocessing import FunctionTransformer
 from sklearn.utils.testing import assert_equal, assert_array_equal
 from sklearn.utils.testing import assert_warns_message
diff --git a/sklearn/svm/bounds.py b/sklearn/svm/bounds.py
index 808b3872c67622d253afa5a228c5910fb7203157..4dbcc705c708e027c2a55eceb6c1d42bbbde8bf5 100644
--- a/sklearn/svm/bounds.py
+++ b/sklearn/svm/bounds.py
@@ -2,8 +2,6 @@
 # Author: Paolo Losi
 # License: BSD 3 clause
 
-from warnings import warn
-
 import numpy as np
 
 from ..preprocessing import LabelBinarizer
diff --git a/sklearn/svm/tests/test_bounds.py b/sklearn/svm/tests/test_bounds.py
index 7a280d22a6a813a53e4bd286dbff495c5cbff794..583c413bc5c1199084dec5bdfc1b9453394f4aca 100644
--- a/sklearn/svm/tests/test_bounds.py
+++ b/sklearn/svm/tests/test_bounds.py
@@ -1,5 +1,3 @@
-import warnings
-
 import numpy as np
 from scipy import sparse as sp
 
diff --git a/sklearn/tests/test_grid_search.py b/sklearn/tests/test_grid_search.py
index 3933e2ff19a3a3fcf72fc07666cb4e793af5967d..f3c003e8c5be5a3d5562926da8a9a1be5bb2c780 100644
--- a/sklearn/tests/test_grid_search.py
+++ b/sklearn/tests/test_grid_search.py
@@ -44,7 +44,6 @@ from sklearn.metrics import make_scorer
 from sklearn.metrics import roc_auc_score
 from sklearn.linear_model import Ridge
 
-from sklearn.exceptions import ChangedBehaviorWarning
 from sklearn.exceptions import FitFailedWarning
 
 with warnings.catch_warnings():
diff --git a/sklearn/tests/test_init.py b/sklearn/tests/test_init.py
index 2c7d3b6b62e215d519d287055eedf8dcbecfc78e..56dbcaafba2c4d0bc2914735a7b0fed5b683caa9 100644
--- a/sklearn/tests/test_init.py
+++ b/sklearn/tests/test_init.py
@@ -7,7 +7,7 @@ __license__ = 'BSD'
 from sklearn.utils.testing import assert_equal
 
 try:
-    from sklearn import *
+    from sklearn import *  # noqa
     _top_import_error = None
 except Exception as e:
     _top_import_error = e
diff --git a/sklearn/tree/tree.py b/sklearn/tree/tree.py
index bab9c00dc94b39b9c250123a1636018604b7c4ee..8d3048d32edd31f9929defaae91d404367ce800e 100644
--- a/sklearn/tree/tree.py
+++ b/sklearn/tree/tree.py
@@ -35,7 +35,6 @@ from ..utils import check_random_state
 from ..utils import compute_sample_weight
 from ..utils.multiclass import check_classification_targets
 from ..utils.validation import check_is_fitted
-from ..exceptions import NotFittedError
 
 from ._criterion import Criterion
 from ._splitter import Splitter
diff --git a/sklearn/utils/graph.py b/sklearn/utils/graph.py
index 3bc97be917d7244c0f0b7674c5937aa192ba412f..610cd0ec9b4e41ce546ecef0540d86b4ed439d96 100644
--- a/sklearn/utils/graph.py
+++ b/sklearn/utils/graph.py
@@ -10,11 +10,9 @@ sparse matrices.
 #          Jake Vanderplas <vanderplas@astro.washington.edu>
 # License: BSD 3 clause
 
-import numpy as np
 from scipy import sparse
 
-from .validation import check_array
-from .graph_shortest_path import graph_shortest_path
+from .graph_shortest_path import graph_shortest_path  # noqa
 from .deprecation import deprecated
 
 
diff --git a/sklearn/utils/tests/test_extmath.py b/sklearn/utils/tests/test_extmath.py
index 72c6c1e6e0f56d54de4f6b8aef380088e615b158..86d604ef33f66a611371e8cb47c48fafb65de17f 100644
--- a/sklearn/utils/tests/test_extmath.py
+++ b/sklearn/utils/tests/test_extmath.py
@@ -16,7 +16,6 @@ from sklearn.utils.testing import assert_array_almost_equal
 from sklearn.utils.testing import assert_true
 from sklearn.utils.testing import assert_false
 from sklearn.utils.testing import assert_greater
-from sklearn.utils.testing import assert_raises
 from sklearn.utils.testing import assert_warns
 from sklearn.utils.testing import assert_warns_message
 from sklearn.utils.testing import skip_if_32bit