Python中文
首页
教程
问答
标签
搜索
登录
注册
如何处理sklearn GradientBoostingClassifier中的分类变量?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试使用分类变量用<a href="http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html" rel="noreferrer">GradientBoostingClassifier</a>训练模型。</p> <p>下面是一个原始代码示例,仅用于尝试将分类变量输入<code>GradientBoostingClassifier</code>。</p> <pre><code>from sklearn import <a href="https://www.cnpython.com/pypi/dataset" class="inner-link">dataset</a>s from sklearn.ensemble import GradientBoostingClassifier import pandas iris = datasets.load_iris() # Use only data for 2 classes. X = iris.data[(iris.target==0) | (iris.target==1)] Y = iris.target[(iris.target==0) | (iris.target==1)] # Class 0 has indices 0-49. Class 1 has indices 50-99. # Divide data into 80% training, 20% testing. train_indices = list(range(40)) + list(range(50,90)) test_indices = list(range(40,50)) + list(range(90,100)) X_train = X[train_indices] X_test = X[test_indices] y_train = Y[train_indices] y_test = Y[test_indices] X_train = pandas.DataFrame(X_train) # Insert fake categorical variable. # Just for testing in GradientBoostingClassifier. X_train[0] = ['a']*40 + ['b']*40 # Model. clf = GradientBoostingClassifier(learning_rate=0.01,max_depth=8,n_estimators=50).fit(X_train, y_train) </code></pre> <p>出现以下错误:</p> <pre><code>ValueError: could not convert string to float: 'b' </code></pre> <p>据我所知,在<code>GradientBoostingClassifier</code>构建模型之前,似乎需要对分类变量进行<a href="http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn-preprocessing-onehotencoder" rel="noreferrer">One Hot Encoding</a>。</p> <p><code>GradientBoostingClassifier</code>是否可以使用分类变量构建模型,而不必进行一次热编码?</p> <p>R-gbm包能够处理上述样本数据。我正在寻找一个具有同等功能的Python库。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>当然它可以处理它,您只需要将分类变量编码为管道上的一个单独步骤。Sklearn完全能够处理分类变量以及R或任何其他ML包。R包仍然(可能)在后台执行一个热编码,它只是没有在这种情况下分离编码和拟合的关注点(可以说应该如此)。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
8 回答
文本小部件:在没有输入时更新并在循环后保持空闲
7 回答
文本小部件tkin
3 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
1 回答
文本小部件tkinter复制图像选项
8 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
5 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
7 回答
文本小部件不显示lis中的内容
8 回答
文本小部件不显示Unicode字符
4 回答
文本小部件中写入的行间距
5 回答
文本小部件中的文本作为变量
7 回答
文本小部件中的滚动条仅显示在底部
7 回答
文本小部件中的选项卡键空间计数
3 回答
文本小部件作为Lis
5 回答
文本小部件在主框架中扩展列宽
6 回答
文本小部件未使用删除功能清除
10 回答
文本小部件滚动动画(Tkinter、Python)
7 回答
文本居中。格式正确吗?
7 回答
文本差分算法
5 回答
文本已知时音频文件中的单词索引
5 回答