【发布时间】:2019-06-06 03:17:41
【问题描述】:
我正在尝试构建决策树回归来预测汽车的 MSRP(制造商建议零售价)值。但是,我在将分类值转换为数值时遇到了问题。
我的问题: 我有 8 列分类特征,有些列有多达 40 种不同类型的唯一值和 20,000 个实例。我应该使用什么方法来转换分类数据以用于决策树回归?有没有办法自动输入唯一值而不是手动输入?
我尝试使用 LabelEncoder 转换分类值,但由于某种原因,第一列中 df.values(BMW、Acura...)的数组即使在我转换后也没有改变。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_excel(r'C:\Users\user\Desktop\data.xlsx')
from sklearn.preprocessing import LabelEncoder
labelencoder = LabelEncoder()
df.values[:, 0] = labelencoder.fit_transform(df.values[:, 0])
这是我得到的结果:
array([['BMW', '1 Series M', 2011, ..., 19, 3916, 46135],
['BMW', '1 Series', 2011, ..., 19, 3916, 40650],
['BMW', '1 Series', 2011, ..., 20, 3916, 36350],
...,
['Acura', 'ZDX', 2012, ..., 16, 204, 50620],
['Acura', 'ZDX', 2013, ..., 16, 204, 50920],
['Lincoln', 'Zephyr', 2006, ..., 17, 61, 28995]], dtype=object)
我希望第一列是用于 DT 回归的数值。 任何人都可以帮忙吗?我在我的 FYP 中这样做,这是我第一次接触机器学习。
【问题讨论】:
标签: python machine-learning decision-tree