我正在尝试使用scikit learn对我的数据(6个分类,1个整数)进行逻辑回归。我正在关注scikit learn文档,但在尝试拟合我的数据时,我收到以下值错误。有人可以帮忙。
#Below are the variables of my data.
train_data.dtypes
OUTPUT
TripType category
VisitNumber category
Weekday category
Upc category
ScanCount int64
DepartmentDescription category
FinelineNumber category
dtype: object
X = train_data.loc[:, 'VisitNumber':'FinelineNumber']
Y = train_data.loc[:, 'TripType':'TripType']
logreg = linear_model.LogisticRegression()
logreg.fit(X, Y)
**ValueError: could not convert string to float: GROCERY DRY GOODS**
答案 0 :(得分:2)
Scikit-learn只能处理数字特征。有关如何继续处理案例的一些想法,请参阅scikit-learn文档中的Encoding Categorical Features。
答案 1 :(得分:0)
您不能直接将类别名称用作逻辑回归中的要素。您需要将它们转换为某些编码向量(或虚拟变量)。如果您有6个类别,则需要使用5个虚拟变量。
您可以在以下sklearn包链接中查看Encoding Categorical Features部分: http://scikit-learn.org/stable/modules/preprocessing.html