首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级分类

分级分类
EN

Stack Overflow用户
提问于 2020-02-19 20:41:01
回答 1查看 374关注 0票数 1

我有一个多等级的问题。我想用传家宝分类的LCPN (本地分类器每一个父节点)方法来解决这个问题。因此,我已经手动将原始数据集划分为两个层次结构。级别1有4个父类&每个父类都有子类。

我为第1级分类建立了一个模型(用于预测父类)。基于第1级的预测,现在我希望将被分类为1类的实例发送到第二个分类器,该分类器区分第1类的子标签。同样,我也想对其他父类重复这个过程。我这样做主要是为了避免与LCPN相关的不一致问题。

这是我到目前为止所做的主要工作。

代码语言:javascript
复制
X = data_frame.drop([‘region’], axis = 1) # Features
y = data_frame[‘region’] # Labels

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

sm = SMOTE()
X_resampled, y_resampled = sm.fit_sample(X_train, y_train)

model = DecisionTreeClassifier().fit(X_resampled, y_resampled)
print(classification_report_imbalanced(y_test, predictions))

我很难找到一种方法来进一步进行第二级分类,基于第1级的预测。有人能给我一个好的方法吗?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-21 05:30:01

我们刚刚发布了一个与scikit兼容的新库--学习创建本地层次分类器。您可以使用lcppn = LocalClassifierPerParent(local_classifier=RandomForestClassifier())轻松地为每个父节点创建一个本地分类器,然后用lcppn.fit()来拟合您的模型并使用lcppn.predict()进行预测。图书馆为你做了所有的重活。:)

它可以很容易地用pip install hiclassconda install hiclass安装。文档和更多的示例可以在https://gitlab.com/dacs-hpi/hiclass上找到。

我希望这对你和未来的读者都有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60308886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档