【发布时间】:2019-04-23 23:41:04
【问题描述】:
我得到了一个客户数据框和有关他们活动的信息,并且我建立了一个模型来预测他们是否购买了该产品。我的标签是“did_buy”列,如果客户购买,则分配 1,否则分配 0。我的模型考虑了数字列,但我也想将分类列添加到预测模型中,但我不确定如何转换它们并在我的 X 火车中使用它们。这是我的数据框列的一瞥:
Company_Sector Company_size DMU_Final Joining_Date Country
Finance and Insurance 10 End User 2010-04-13 France
Public Administration 1 End User 2004-09-22 France
更多栏目:
linkedin_shared_connections online_activity did_buy Sale_Date
11 65 1 2016-05-23
13 100 1 2016-01-12
【问题讨论】:
-
您不能为模型使用分类变量吗?你遇到了什么错误? Scikit learn 会自动将一种热编码应用于分类变量。
-
你看了吗pd.get_dummies
-
我使用了“online_activity”和“linkedin_shared_connections”等数值变量来预测“did-buy”,效果非常好。但是当我添加例如“company_Sector”之类的分类列时,我收到“无法将字符串转换为浮点数”的错误消息。
-
另一个问题是转换分类 DateStamp 'joining-date' 列。我使用了这段代码: data['joining_date'] = pd.to_datetime(data['joining_date']) data['joining_date']=data['joining_date'].map(dt.datetime.toordinal) 但它打印了所有1970 年的日期
-
@AshokKS 不会。 Scikit-learn 会抱怨无法将字符串转换为浮点数。用户需要自己做。
标签: python pandas numpy scikit-learn data-science