У меня есть данные, которые выглядят так:
shift_id user_id status organization_id location_id department_id open_positions city zip role_id specialty_id latitude longitude years_of_experience
2 9 S 1 1 19 1 brooklyn 48001 2 9 42.643 -82.583
6 60 S 12 19 20 1 test 68410 3 7 40.608 -95.856
9 61 S 12 19 20 1 new york 48001 1 7 42.643 -82.583
10 60 S 12 19 20 1 test 68410 3 7 40.608 -95.856
21 3 S 1 1 19 1 pune 48001 1 2 46.753 -89.584 0
4 7 S 1 1 19 1 needham 2494 4 4 42.292 -71.246 2
Так что они содержат как строки, так и числовые элементы.
Сначала я хочу выполнить удаление компонентов, а затем SVM.
Вот мой код для этого.
dataset = pd.read_csv("data.csv",header = 0)
data = dataset.drop('organization_id',1)
#data = data.fillna(0, inplace=True)
target = dataset.location_id
#dataset.head()
svm = LinearSVC()
rfe = RFE(svm, 3)
rfe = rfe.fit(data, target)
print(rfe.support_)
print(rfe.ranking_)
Но так как столбец status
имеет строковое значение, он дает -
ValueError: could not convert string to float: 'S'
Наличие такой строковой функции очевидно.Какова стандартная практика для такого сценария?