用法:
class cuml.random_projection.SparseRandomProjection(*, handle=None, n_components='auto', density='auto', eps=0.1, dense_output=True, random_state=None, verbose=False, output_type=None)
派生自BaseRandomProjection 类的稀疏随机投影方法。
随机投影是一种降维技术。随机投影方法是强大的方法,以其简单性、计算效率和有限的模型大小而闻名。该算法还具有很好地保持任意两个样本之间的距离的优点,因此适用于具有这种要求的方法。
稀疏随机矩阵是密集随机投影矩阵(例如高斯)的替代方案,它保证了相似的嵌入质量,同时内存效率更高,并允许更快地计算投影数据(具有足够稀疏的矩阵)。如果我们注意到
s = 1 / density
,随机矩阵的分量来自:-sqrt(s) / sqrt(n_components)
- 概率为1 / 2s
0
- 概率为1 - 1 / s
+sqrt(s) / sqrt(n_components)
- 概率为1 / 2s
- handle:cuml.Handle
指定 cuml.handle 保存用于此模型中计算的内部 CUDA 状态。最重要的是,这指定了将用于模型计算的 CUDA 流,因此用户可以通过在多个流中创建句柄在不同的流中同时运行不同的模型。如果为 None,则创建一个新的。
- n_components:int(默认 = ‘auto’)
目标投影空间的维度。如果设置为‘auto’,由于Johnson-Lindenstrauss 引理,参数会被扣除。自动推导利用样本数和 eps 参数。 Johnson-Lindenstrauss 引理可以产生非常保守的 n_components 参数,因为它不对数据集结构做任何假设。
- density:在范围内浮点数 (0, 1] (默认 = ‘auto’)
随机投影矩阵中非零分量的比率。如果密度 = ‘auto’,则将该值设置为 Ping Li 等人推荐的最小密度:1 /sqrt(n_features)。
- eps:浮点数(默认 = 0.1)
投影期间的误差容限。当 n_components 设置为 ‘auto’ 时,由 Johnson-Lindenstrauss 自动扣除使用。
- dense_output:布尔值(默认 = True)
如果设置为 True 变换矩阵将是密集的,否则是稀疏的。
- random_state:int(默认 = 无)
用于初始化随机发生器的种子
- verbose:int 或布尔值,默认=False
设置日志记录级别。它必须是
cuml.common.logger.level_*
之一。有关详细信息,请参阅详细级别。- output_type:{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默认=无
用于控制估计器的结果和属性的输出类型的变量。如果为 None,它将继承在模块级别设置的输出类型
cuml.global_settings.output_type
。有关详细信息,请参阅输出数据类型配置。
参数:
注意:
此类无法与
sklearn.base.clone()
一起使用,并且在调用时会引发异常。灵感来自 Scikit-learn 的 implementation。
例子:
from cuml.random_projection import SparseRandomProjection from sklearn.datasets import make_blobs from sklearn.svm import SVC # dataset generation data, target = make_blobs(n_samples=800, centers=400, n_features=3000, random_state=42) # model fitting model = SparseRandomProjection(n_components=5, random_state=42).fit(data) # dataset transformation transformed_data = model.transform(data) # classifier training classifier = SVC(gamma=0.001).fit(transformed_data, target) # classifier scoring score = classifier.score(transformed_data, target) # measure information preservation print("Score: {}".format(score))
输出:
Score: 1.0
- gaussian_method:布尔值
传递给基类以确定随机矩阵生成方法
属性:
相关用法
- Python cuml.random_projection.GaussianRandomProjection用法及代码示例
- Python cuml.metrics.pairwise_distances.pairwise_distances用法及代码示例
- Python cuml.neighbors.KNeighborsClassifier用法及代码示例
- Python cuml.ensemble.RandomForestRegressor用法及代码示例
- Python cuml.svm.SVC用法及代码示例
- Python cuml.svm.SVR用法及代码示例
- Python cuml.Lasso用法及代码示例
- Python cuml.tsa.ARIMA.predict用法及代码示例
- Python cuml.multiclass.OneVsRestClassifier用法及代码示例
- Python cuml.preprocessing.LabelBinarizer用法及代码示例
- Python cuml.MBSGDRegressor用法及代码示例
- Python cuml.experimental.preprocessing.PolynomialFeatures用法及代码示例
- Python cuml.PCA用法及代码示例
- Python cuml.feature_extraction.text.HashingVectorizer用法及代码示例
- Python cuml.DBSCAN用法及代码示例
- Python cuml.dask.feature_extraction.text.TfidfTransformer用法及代码示例
- Python cuml.TruncatedSVD用法及代码示例
- Python cuml.common.memory_utils.using_output_type用法及代码示例
- Python cuml.preprocessing.text.stem.PorterStemmer用法及代码示例
- Python cuml.experimental.preprocessing.add_dummy_feature用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuml.random_projection.SparseRandomProjection。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。