我有一个包含分类和数字列的数据集,我的目标列也是分类.我在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
Run Code Online (Sandbox Code Playgroud)
我的数据集保存在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()
Run Code Online (Sandbox Code Playgroud)
我需要将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 )
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我有一个 DWG 文件,其中有一个矩形,其中有几条线(例如带有内墙的平面图)。如何使用Python提取边缘(X,Y坐标)?我需要将平面图提取为定义了节点和边的图形。因此,作为一个矩形的实例,我应该有 4 个 X,Y 坐标,将这个矩形的边缘定义为图形。
我有一个 bash 文件,在其中我在 for 循环中多次执行 python 代码。我想设置一个超时,这样如果 python 代码花费的时间超过一定时间,那么我们就进入下一次迭代。编译和运行 python 文件时,如何向 bash 代码行添加超时?这是我用于运行 python 代码的当前行:
python hw.py
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
python hw.py timeout=120
Run Code Online (Sandbox Code Playgroud)