title: ValueError: Unable to convert array of bytes/strings into decimal numbers with dtype='numeric'
body: <p>I have this pipeline:</p>
  <pre class="lang-py prettyprint-override"><code>diamonds = sns.load_dataset(&quot;diamonds&quot;)
  
  # Build feature/target arrays
  X, y = diamonds.drop(&quot;cut&quot;, axis=1), diamonds[&quot;cut&quot;]
  
  # Set up the colnames
  to_scale = [&quot;depth&quot;, &quot;table&quot;, &quot;x&quot;, &quot;y&quot;, &quot;z&quot;]
  to_log = [&quot;price&quot;, &quot;carat&quot;]
  categorical = X.select_dtypes(include=&quot;category&quot;).columns
  
  scale_pipe = make_pipeline(StandardScaler())
  log_pipe = make_pipeline(PowerTransformer())
  categorical_pipe = make_pipeline(OneHotEncoder(sparse=False))
  
  transformer = ColumnTransformer(
      transformers=[
          (&quot;scale&quot;, scale_pipe, to_scale),
          (&quot;log_transform&quot;, log_pipe, to_log),
          (&quot;oh_encode&quot;, categorical_pipe, categorical),
      ]
  )
  
  knn_pipe = Pipeline([(&quot;prep&quot;, transformer), (&quot;knn&quot;, KNeighborsClassifier())])
  
  # Fit/predict/score
  _ = knn_pipe.fit(X_train, y_train)
  preds = knn.predict(X_test)
  </code></pre>
  <p>When I run it, it is fitting to the data perfectly fine but I can't score or make predictions because I am getting this error:</p>
  <pre><code>ValueError: could not convert string to float: 'G'
  
  The above exception was the direct cause of the following exception:
  
  ValueError: Unable to convert array of bytes/strings into decimal numbers with dtype='numeric'
  </code></pre>
  <p>It is a classification problem, so I thought the reason for the error was because I didn't encode the target. But even after using LabelEncode on the target, I am still getting the same error.
  What might be the reason? I tried the pipeline with other models too. The error is the same. BTW, I am using the built-in Diamonds dataset of Seaborn.</p>