2015-11-06 1 views
0

У меня есть список словарей, которые содержат функции и классификационную метку. Я читал из CSV. Как я могу разбить его на массив numpy, как требуется scikit для задачи классификации.
код до сих поризменить список словарей на вектор и цель в scikit

from sklearn.feature_extraction import DictVectorizer 
      rowdicts =[{'feature1': 4, 'feature2':2,'target':"yes","feature3":0},{'feature1': 3, 'feature2': 2,'target':"no","feature3":1}] 


    vec1 = DictVectorizer(sparse=False) 
    X = vec1.fit_transform(rowdicts) 

Что может быть хорошим способом, чтобы удалить целевые метки из приведенного выше векторизатора для задачи классификации?

ответ

1

Вы можете выяснить, какие столбцы означают, что с помощью get_feature_names:

print(vec1.get_feature_names()) 

выход:

['feature1', 'feature2', 'feature3', 'target=no', 'target=yes'] 

Теперь, когда мы знаем, что мы можем просто отбросить target=no колонки:

X = numpy.delete(X, 3, axis=1) 
+0

здесь моя цель - это метка классификации, которая принимает значения как «да» или «нет», но здесь она показана как два d ifferent. – AMisra

+0

Изменен мой ответ, чтобы сохранить столбец с метками «да» –

+0

Я все еще смущен, почему он показывает цель как две разные функции с разными значениями. Почему цель не показана как одна отдельная функция, такая как feature1, feature2, feature3. – AMisra

Смежные вопросы