gpt4 book ai didi

python - 分类和数值特征 - 分类目标 - Scikit Learn - Python

转载 作者:太空狗 更新时间:2023-10-30 00:06:42 24 4
gpt4 key购买 nike

我有一个包含分类列和数字列的数据集,我的目标列也是分类列。我在 Python34 中使用 Scikit 库。我知道在执行任何机器学习方法之前,Scikit 需要将所有分类值转换为数值。

我应该如何将分类列转换为数值?我尝试了很多方法,但出现了不同的错误,例如“str”对象没有“numpy.ndarray”对象没有属性“items”。

Here is an example of my data:
UserID LocationID AmountPaid ServiceID Target
29876 IS345 23.9876 FRDG JFD
29877 IS712 135.98 WERS KOI

我的数据集保存在 CSV 文件中,下面是我编写的小代码,让您了解我想做什么:

#reading my csv file
data_dir = 'C:/Users/davtalab/Desktop/data/'
train_file = data_dir + 'train.csv'
train = pd.read_csv( train_file )

#numeric columns:
x_numeric_cols = train['AmountPaid']

#Categrical columns:
categorical_cols = ['UserID' + 'LocationID' + 'ServiceID']
x_cat_cols = train[categorical_cols].as_matrix()


y_target = train['Target'].as_matrix()

我需要将 x_cat_cols 转换为数值并将它们添加到 x_numeric_cols 中,这样我就有了完整的输入 (x) 值。

然后我还需要将我的目标函数转换为数值,并将其作为我的最终目标 (y) 列。

然后我想使用这两个完整的集合来做一个随机森林:

rf = RF(n_estimators=n_trees,max_features=max_features,verbose =verbose, n_jobs =n_jobs)
rf.fit( x_train, y_train )

感谢您的帮助!

最佳答案

对于target,可以使用sklearn的LabelEncoder .这将为您提供从字符串标签到数字标签的转换器(以及反向映射)。链接中的示例。

至于特征,学习算法通常期望(或最适合)序数数据。所以最好的选择是使用 OneHotEncoder转换分类特征。这将为每个类别生成一个新的二进制特征,表示每个类别的开/关。同样,链接中的用法示例。

关于python - 分类和数值特征 - 分类目标 - Scikit Learn - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30271257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com