- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一组 4k 文本文档。他们属于 10 个不同的类别。我正在尝试查看随机森林方法如何执行分类。问题是我的特征提取类提取了 200k 个特征。(单词、二元组、搭配等的组合)这是高度稀疏的数据,sklearn 中的随机森林实现不适用于稀疏数据输入。
问。我在这里有什么选择?减少功能数量 ?如何 ?问:是否有任何适用于稀疏数组的随机森林实现。
我的相关代码如下:
import logging
import numpy as np
from optparse import OptionParser
import sys
from time import time
#import pylab as pl
from sklearn.datasets import load_files
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.ensemble import RandomForestClassifier
from special_analyzer import *
data_train = load_files(RAW_DATA_SRC_TR)
data_test = load_files(RAW_DATA_SRC_TS)
# split a training set and a test set
y_train, y_test = data_train.target, data_test.target
vectorizer = CountVectorizer( analyzer=SpecialAnalyzer()) # SpecialAnalyzer is my class extracting features from text
X_train = vectorizer.fit_transform(data_train.data)
rf = RandomForestClassifier(max_depth=10,max_features=10)
rf.fit(X_train,y_train)
最佳答案
几个选项:通过将 max_features=10000
传递给 CountVectorizer
并使用 to array 方法将结果转换为密集的 numpy 数组,仅获取最流行的 10000 个特征:
X_train_array = X_train.toarray()
否则将维度减少到 100 或 300 维:
pca = TruncatedSVD(n_components=300)
X_reduced_train = pca.fit_transform(X_train)
但是根据我的经验,在原始稀疏数据(可能使用 TF-IDF 归一化)上,我永远无法使 RF 比调整良好的线性模型(例如具有网格搜索正则化参数的逻辑回归)更好。
关于python - 使用随机森林对文本文档进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21689141/
我们正在运行 MarkLogic 9.0-11 版本 3 节点集群,并且 MarkLogic 安装在“/var/opt/MarkLogic/”目录中,我们创建了“/var/opt/MarkLogic/
我有一片任意高度的森林,大致像这样: let data = [ { "id": 2, "name": "AAA", "parent_id": null, "short_name": "A" },
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 7 年前。 Improve
我有一个巨大的深度字典,代表森林(许多非二叉树),我想处理森林并创建一个包含森林所有可能关系的文本文件,例如给定字典: {'a': {'b': {'c': {}, 'd': {}}, 'g': {}}
在我的 Android 应用程序中,我包含了谷歌地图。现在我想获取有关您周围地区的信息。例如,你是在公园/森林/海滩……所以我基本上想要一个用“水”回答输入坐标 53°33'40.9"N 10°00'
如果我有下表: Member_Key Member_Name col1 Mem1 col2 Mem2 col3 Mem3 col4
继续我的老问题: Writing nested dictionary (forest) of a huge depth to a text file 现在我想把森林遍历写成BFS风格:我有一个巨大的深
我有一个多域环境(事件目录林),例如subdomain1.mydomain.com, subdomain2.mydomain.com 其中 mydomain.com 是根 AD 域 (GC) 和 su
我想知道是否有可能在 Google map 或 Bing Mag 2D/3D map 上恢复地形类型(山脉、森林、水域、平原等...) 。为了根据玩家在现实世界中的位置生成 map !我认为可用 AP
我是一名优秀的程序员,十分优秀!