title: Error： All intermediate steps should be transformers and implement fit and transform or be the string 'passthrough'
body: <p>When I use the Pipeline of sklearn, it's working well sometimes, but it shows error most of the time.</p>
  
  <p>I don`t know why. Please help me. Thanks.
  The sklearn version is 0.21.2.</p>
  
  <p><strong>Error message :</strong></p>
  
  <blockquote>
    <p>Traceback (most recent call last):
      File "D:/workspace/pycharm/machine-learning-1/多项式回归Pipline.py", line 18, in 
        ("lin_reg", LinearRegression())
      File "D:\develop\Anaconda3\lib\site-packages\sklearn\pipeline.py", line 135, in <strong>init</strong>
        self._validate_steps()
      File "D:\develop\Anaconda3\lib\site-packages\sklearn\pipeline.py", line 185, in _validate_steps
        "'%s' (type %s) doesn't" % (t, type(t)))
    TypeError: All intermediate steps should be transformers and implement fit and transform or be the string 'passthrough' 'LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)' (type ) doesn't </p>
  </blockquote>
  
  <p><strong>And my Code:</strong></p>
  
  <pre class="lang-py prettyprint-override"><code>import numpy as np
  import matplotlib.pyplot as plt
  from sklearn.preprocessing import PolynomialFeatures
  from sklearn.linear_model import LinearRegression
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import StandardScaler
  
  x = np.random.uniform(-3, 3, size=100)
  X = x.reshape(-1, 1)
  y =  0.5 * x * x + 3 * x + np.random.normal(0, 1 , 100)
  
  
  # pipleLine 写法
  pip = Pipeline({
      ("ployFeature", PolynomialFeatures(degree=2)),
      ("std_scaler", StandardScaler()),
      ("lin_reg", LinearRegression())
  })
  
  pip.fit(X, y)
  y_predict2 = pip.predict(X)
  
  plt.plot(np.sort(x), y_predict2[np.argsort(x)], color="green")
  plt.scatter(x, y)
  plt.show()
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/ulKVC.png" alt=""></p>