cargar datos desde csv en Scikit learn SVM

Quiero entrenar a un SVM para realizar una clasificación de muestras. Tengo un archivo csv que tiene 3 columnas con encabezados: característica 1, característica 2, etiqueta de clase y 20 filas (= número de muestras).

Ahora cito de la documentación de Scikit-Learn “Como otros clasificadores, SVC, NuSVC y LinearSVC toman como entrada dos matrices: una matriz X de tamaño [n_samples, n_features] que contiene las muestras de capacitación, y una matriz y de tags de clase (cadenas o enteros), tamaño [n_samples]: ”

Entiendo que necesito obtener dos matrices (una matriz 2d y una matriz 1d) para ingresar datos a la SVM. Sin embargo, no puedo entender cómo obtener la matriz requerida del archivo csv. He probado el siguiente código

import numpy as np data = np.loadtxt('test.csv', delimiter=',') print data 

Sin embargo, está mostrando un error “ValueError: no se pudo convertir la cadena a flotar: ࡱ ”

No hay encabezados de columna en el csv. ¿Estoy cometiendo algún error al llamar a la función np.loadtxt o debo usar otra cosa?

Actualización: Así es como se ve mi archivo .csv.

 12 122 34 12234 54 23 23 34 23 

Pasaste el parámetro delimiter=',' pero tu csv no estaba separado por comas.

Así que las siguientes obras:

 In [378]: data = np.loadtxt(path_to_data) data Out[378]: array([[ 1.20000000e+01, 1.22000000e+02, 3.40000000e+01], [ 1.22340000e+04, 5.40000000e+01, 2.30000000e+01], [ 2.30000000e+01, 3.40000000e+01, 2.30000000e+01]]) 

Los documentos muestran que, de forma predeterminada, el delimitador es None y, por lo tanto, trata el espacio en blanco como el delimitador:

delimitador: str, opcional La cadena utilizada para separar los valores. Por defecto, esto es cualquier espacio en blanco.

El problema fue con el archivo csv en lugar de con la función loadtxt (). El formato en el que guardé no daba un archivo .csv adecuado (¡no sé por qué! -Quizás no lo guardé en absoluto). Pero hay una manera de verificar si el archivo csv está guardado en el formato correcto o no. Abra el archivo .csv usando el bloc de notas. Si los datos tienen comas entre ellos, entonces se guardan correctamente. Y loadtxt () funcionará. Si muestra algo de galimatías, créalo de nuevo y luego verifique.