Obteniendo advertencia de desaprobación en Sklearn sobre matriz 1d, a pesar de no tener una matriz 1D

Estoy tratando de usar SKLearn para ejecutar un modelo SVM. Solo lo estoy probando ahora con algunos datos de muestra. Aquí están los datos y el código:

import numpy as np
from sklearn import svm
import random as random

A = np.array([[random.randint(0, 20) for i in range(2)] for i in range(10)])
lab = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

clf = svm.SVC(kernel='linear', C=1.0)
clf.fit(A, lab)

FYI, cuando corro

import sklearn
sklearn.__version__

Produce 0.17.

Ahora cuando corroprint(clf.predict([1, 1])), Recibo la siguiente advertencia:

C:\Users\me\AppData\Local\Continuum\Anaconda2\lib\site-packages\sklearn\ut
ils\validation.py:386: DeprecationWarning: Passing 1d arrays as data is deprecat
ed in 0.17 and willraise ValueError in 0.19. Reshape your data either using X.re
shape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contain
s a single sample.
  DeprecationWarning)

Me da una predicción, lo cual es genial. Sin embargo, esto me parece extraño por varias razones.

No tengo una matriz 1d. Si imprime A, obtiene

array([[ 9, 12],
       [ 2, 16],
       [14, 14],
       [ 4,  2],
       [ 8,  4],
       [12,  3],
       [ 0,  0],
       [ 3, 13],
       [15, 17],
       [15, 16]]) 

Lo cual me parece ser bidimensional. Pero bueno, digamos que lo que tengo es, de hecho, una matriz 1D. Intentemos cambiarlo usandoreshape, como lo sugiere el error.

Mismo código que el anterior, pero ahora tenemos

A = np.array([[random.randint(0, 20) for i in range(2)] for i in range(10)]).reshape(-1,1)

Pero luego esto genera una matriz de longitud 20, que no tiene sentido y no es lo que quiero. También lo probé conreshape(1, -1) pero esto me da una sola observación / lista con 20 elementos.

¿Cómo puedo cambiar la forma de mis datos en arreglos numpy para que no reciba esta advertencia?

Miré dos respuestas en SO, y ninguna funcionó para mí.Pregunta 1 yPregunta 2. Parece que Q1 era en realidad datos 1D y se resolvió usandoreshape, que probé y fallé en. Q2 tiene una respuesta sobre cómo rastrear advertencias y errores, que no es lo que quiero. La otra respuesta es nuevamente una instancia de una matriz 1D.

Respuestas a la pregunta(3)

Su respuesta a la pregunta