sklearn:使用完全随机树进行哈希特征转换

RandomTreesEmbedding提供了一种将数据映射到非常高维,稀疏表示的方法,这可能有利于分类。 映射完全不受监督且非常有效。此示例可视化由多个树给出的分区,并显示转换如何也可用于非线性降维或非线性分类。

相邻的点通常共享树的相同叶子,因此共享其散列表示的大部分。 这允许简单地基于变换数据的主要分量来分离两个同心圆。

在高维空间中,线性分类器通常可以实现极佳的精度。 对于稀疏二进制数据,BernoulliNB特别适合。 底行将BernoulliNB在转换空间中获得的决策边界与在原始数据上学习的ExtraTreesClassifier森林进行比较。

import numpy as np
import matplotlib.pyplot as plt

from sklearn.datasets import make_circles
from sklearn.ensemble import RandomTreesEmbedding, ExtraTreesClassifier
from sklearn.decomposition import TruncatedSVD
from sklearn.naive_bayes import BernoulliNB

# make a synthetic dataset
X, y = make_circles(factor=0.5, random_state=0, noise=0.05)

# use RandomTreesEmbedding to transform data
hasher = RandomTreesEmbedding(n_estimators=10, random_state=0, max_depth=3)
X_transformed = hasher.fit_transform(X)

# Visualize result using PCA
pca = TruncatedSVD(n_compone
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值