【发布时间】:2020-07-22 04:44:45
【问题描述】:
这是我第一次接触 sklearn 库,老实说,由于我在互联网上找到了许多“做事的方法”,我脑子里一片混乱。 所以我有我清理过的数据库,看起来像这样:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 246858 entries, 2 to 371527
Data columns (total 11 columns):
name 246858 non-null object
price 246858 non-null int64
vehicleType 246858 non-null object
yearOfRegistration 246858 non-null int64
gearbox 246858 non-null object
powerPS 246858 non-null int64
model 246858 non-null object
kilometer 246858 non-null int64
fuelType 246858 non-null object
brand 246858 non-null object
notRepairedDamage 246858 non-null object
dtypes: int64(4), object(7)
memory usage: 22.6+ MB
所以我想对价格变量进行分类。显然我必须对分类进行编码:
categorical = ['name', 'vehicleType', 'gearbox', 'model', 'fuelType', 'brand', 'notRepairedDamage']
这就是问题所在。我总是遇到内存错误。我尝试使用数据框映射器:
encoding = DataFrameMapper([
(['name', 'vehicleType', 'gearbox', 'model', 'fuelType', 'brand', 'notRepairedDamage'],
OneHotEncoder(handle_unknown='ignore')),
(["price", "yearOfRegistration", "powerPS", "kilometer"], None)
])
encoding_target = DataFrameMapper([
(['price'], none)
])
现在这很好,假设我想尝试一个分类树,我必须创建训练和测试,但在我必须应用转换之前:
X = encoding.transform(data.loc[:, data.columns != "price"])
此时我得到一个内存错误。我也想不通
【问题讨论】:
标签: python encoding scikit-learn decision-tree