我想问一下,我对集合学习(同质还是异质)的理解是否正确。
下面的陈述正确吗?
齐次集成是建立在不同数据上的同类型分类器集合,异构集成是建立在同一数据基础上的不同类型的分类器集合。
如果不对,请你澄清这一点好吗?
发布于 2018-03-23 09:16:23
齐次集合由具有单一类型基学习算法的成员组成.常用的方法,如套袋和增强,通过抽样或为训练示例分配权重来产生多样性,但通常使用单一类型的基分类器来建立集合。
另一方面,异构集成由支持向量机、神经网络和决策树等具有不同基础学习算法的成员组成。堆叠是一种比较流行的异质集成方法,它类似于boosting。
这张桌子包含同质和异构集成模型的示例。
编辑:
同质集成方法采用相同的特征选择方法,对不同的训练数据采用相同的特征选择方法,将数据集分布在多个节点上,而异构集成方法则采用不同的特征选择方法,对相同的训练数据进行特征选择。
发布于 2019-12-11 10:39:24
异构组件(HEE)使用不同的微调算法。如果我们有少量的估计量,它们通常工作得很好。注意,为了避免联系,算法的数目应该总是奇数(3+)。例如,我们可以将决策树、支持向量机和logistic回归结合起来,使用投票机制来改进结果。然后,通过多数表决,运用综合智慧对给定样本进行分类。除了投票外,我们还可以使用平均或叠加来聚合每个模型的models.The数据的结果是相同的。
齐次集合(HOE),例如将相同的算法应用于所有估计量的打包工作。这些算法不应该是微调的->,它们应该是弱的!与HEE相比,我们将使用大量的估计量。请注意,该模型的数据集应该单独抽样,以确保独立性。此外,每个模型的数据集应该是不同的。这将使我们能够更精确地汇总每个模型的结果。套袋减少差异,因为抽样是真正的随机。通过使用集合本身,我们可以减少过度拟合的风险,并建立一个稳健的模型。不幸的是,打包在计算上是昂贵的。
编辑:这里是代码中的一个示例
异构集成功能:
# Instantiate the individual models
clf_knn = KNeighborsClassifier(5)
clf_decision_tree= DecisionTreeClassifier()
clf_logistic_regression = LogisticRegression()
# Create voting classifier
clf_voting = VotingClassifier(
estimators=[
('knn', clf_knn),
('dt', clf_decision_tree),
('lr', clf_logistic_regression )])
# Fit it to the training set and predict
clf_voting.fit(X_train, y_train)
y_pred = clf_voting.predict(X_test)
齐次集合函数:
# Instantiate the base estimator, which is a weak model (we set max depth to 3)
clf_decision_tree = DecisionTreeClassifier(max_depth=3)
# Build the Bagging classifier with 5 estimators (we use 5 decision trees)
clf_bag = BaggingClassifier(
base_estimator=clf_decision_tree,
n_estimators=5
)
# Fit the Bagging model to the training set
clf_bag.fit(X_train, y_train)
# Make predictions on the test set
y_pred = clf_bag.predict(X_test)
结论:总之,你说的是对的。
https://stackoverflow.com/questions/49445446
复制相似问题