草庐IT

Scikit-image

全部标签

python - 如何在 Scikit-Learn 的随机森林分类器中设置子样本大小?特别是对于不平衡数据

目前,我正在Sklearn中为我的不平衡数据实现RandomForestClassifier。我不太清楚RF在Sklearn中究竟是如何工作的。以下是我的担忧:根据文档,似乎没有办法为每个树学习器设置子样本大小(即小于原始数据大小)。但实际上,在随机森林算法中,我们需要得到每棵树的样本子集和特征子集。我不确定我们能否通过Sklearn实现这一目标?如果是,如何?下面是Sklearn中对RandomForestClassifier的描述。“随机森林是一种元估计器,它在数据集的各种子样本上拟合多个决策树分类器,并使用平均来提高预测准确性和控制过度拟合。子样本大小为始终与原始输入样本大小相同

python - scikit-learn,将特征添加到向量化的文档集

我从scikit-learn开始,我正在尝试将一组文档转换为我可以应用聚类和分类的格式。我已经看到了有关矢量化方法的详细信息,以及用于加载文件和索引其词汇表的tfidf转换。但是,我有每个文档的额外元数据,例如作者、负责的部门、主题列表等。如何向向量化函数生成的每个文档向量添加特征? 最佳答案 您可以使用DictVectorizer获取额外的分类数据,然后使用scipy.sparse.hstack将它们结合起来。 关于python-scikit-learn,将特征添加到向量化的文档集,我

python - 如何有效地序列化 scikit-learn 分类器

序列化scikit-learn分类器的最有效方法是什么?我目前正在使用Python的标准Pickle模块来序列化textclassifier,但这会导致pickle大得惊人。序列化的对象可以是100MB甚至更大,这看起来太大了并且需要一段时间来生成和存储。我用Weka做过类似的工作,等效的序列化分类器通常只有几MB。scikit-learn是否可能在pickle中缓存训练数据或其他无关信息?如果是这样,我怎样才能加快和减少序列化scikit-learn分类器的大小?classifier=Pipeline([('vectorizer',CountVectorizer(ngram_rang

image2gif 的 Python 导入问题

我知道我已经安装了所有包(pipfreeze)我在Windows10机器上运行python3.4,但遇到奇怪的依赖问题测试.py:fromimages2gifimportwriteGiffromPILimportImage,ImageSequenceimportosfile_names=['output\donkey-1.png','output\donkey-2.png']images=[Image.open(fn)forfninfile_names]size=(600,350)foriminimages:im.thumbnail(size,Image.ANTIALIAS)filen

python - 在 scikit-learn 中查找和利用来自 PCA 的特征值和特征向量

我一直在使用在scikit-learn中实现的PCA。但是,我想找到拟合训练数据集后产生的特征值和特征向量。文档中没有提及两者。其次,这些特征值和特征向量本身是否可以用作分类目的的特征? 最佳答案 我在这里假设特征向量是指协方差矩阵的特征向量。假设您在p维空间中有n个数据点,X是您的点的pxn矩阵,那么主成分的方向是协方差矩阵XXT的特征向量。您可以通过访问PCA对象的components_属性从sklearn获取这些特征向量的方向。这可以按如下方式完成:fromsklearn.decompositionimportPCAimpor

python - scipy.misc.imshow 运行时错误 ('Could not execute image view' )

我正在测试scipy.misc.imshow我得到了RuntimeError:Couldnotexecuteimageviewer。我正在使用Python3.4并在CentOS7上运行它。importscipy.miscimg=scipy.misc.imread('Data/cat.jpg')assertlen(img.shape)==3img_resized=scipy.misc.imresize(img,(224,224))img_answer=(img_resized/255.0).astype('float32')scipy.misc.imshow(img_answer)我得到

python - 使用 Pandas 为 Scikit-Learn 准备 CSV 文件数据?

我有一个没有标题的csv文件,我正在使用pandas将其导入python。最后一列是目标类,其余列是图像的像素值。我如何继续使用pandas(80/20)将此数据集拆分为训练集和测试集?此外,一旦完成,我将如何拆分这些集合中的每一个,以便我可以定义x(除最后一列之外的所有列)和y(最后一列)?我使用以下方法导入了我的文件:dataset=pd.read_csv('example.csv',header=None,sep=',')谢谢 最佳答案 我建议使用sklearn的train_test_splitfromsklearn.mode

python - 如何裁剪或删除图像中的白色背景

我正在尝试使用OpenCV和Python比较图像。考虑这些图像:两者都有一双相同的鞋子,设置为白色背景。唯一的区别是第一个的背景比第二个高。我想知道如何以编程方式裁剪两者的白色背景,以便我只剩下那双鞋。我必须补充一点,我无法手动裁剪背景。 最佳答案 你在评论中的要求:鞋子是白色背景的。我想彻底摆脱边界;如留下一个白色或透明背景的矩形框,具有图片中鞋子的长度和宽度。然后我裁剪目标区域的步骤:Converttogray,andthresholdMorph-optoremovenoiseFindthemax-areacontourCrop

python - scikit-learn 可以处理多少功能?

我有一个[66k,56k]大小(行,列)的csv文件。它是一个稀疏矩阵。我知道numpy可以处理那个大小的矩阵。我想知道根据大家的经验,scikit-learn算法可以轻松处理多少特征? 最佳答案 取决于估算器。在那个规模下,线性模型仍然表现良好,而SVM可能需要永远训练(并且忘记随机森林,因为它们无法处理稀疏矩阵)。我个人使用过LinearSVC、LogisticRegression和SGDClassifier以及大小约为300k×330万的稀疏矩阵,没有遇到任何问题。参见@amueller的scikit-learncheatsh

python - 如何在 scikit-learn DecisionTreeRegressor 中使用实际的特征名称而不是 "X"?

我想这是可能的,因为在fit函数的定义中itsays:X:array-like,shape=[n_samples,n_features]现在我有,我当然可以生成决策树的字符串表示,然后将X[]替换为实际的特征名称。但是我想知道fit函数是否可以直接将特征名称作为输入的一部分?我为每个样本尝试了以下格式[1,2,"feature_1","feature_2"][[1,2],["feature_1","feature_2"]]但都没有用。shape是什么意思?能举个例子吗? 最佳答案 fit函数本身不支持类似的东西。但是,您可以使用ex