草庐IT

SciKit-Learn

全部标签

python - 如何将图像从 scikit-image 转换为 opencv2 和其他库?

我试图在使用scikit-image创建的骨架化图像中使用cv2python库查找轮廓,但出现此错误:contours,hierarchy=cv2.findContours(skel,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)TypeError:datatype=0isnotsupported我的问题是:我需要做什么才能转换为cv2,反之亦然?我知道opencv使用numpy.uint8类型来表示二进制图像而不是scikit-imagenumpy.float64我还使用了mahotas(numpy.bool)和pymorph库。我如何从scikit-i

python - 如何使用 Scikit-Image 库从 Python 中的 RGB 图像中提取绿色 channel ?

我对Python中用于图像处理的scikit-image(skimage)库非常陌生(几分钟前开始!)。我使用imread读取了numpy.ndarray中的图像文件。该数组是三维的,其中第三维的大小为3(即图像的红色、绿色和蓝色分量各一个)。rgb_image=imread("input_rgb_image.jpg")rgb_image.shape#gives(1411L,1411L,3L)我尝试将绿色channel提取为:green_image=rgb_image[:,:,1]但是当我将这个图像矩阵写入输出文件时:imsave("green_output_image.jpg",gr

python - scikit-learn 中具有相同属性的跨多列的标签编码

如果我有如下两列:OriginDestinationChinaUSAChinaTurkeyUSAChinaUSATurkeyUSARussiaRussiaChina我将如何执行标签编码,同时确保Origin列的标签与目标列中的标签相匹配,即OriginDestination010310101021如果我分别对每一列进行编码,那么算法会认为第1列中的中国与第2列中的中国不同,但事实并非如此 最佳答案 堆栈df.stack().pipe(lambdas:pd.Series(pd.factorize(s.values)[0],s.inde

python - 如何探索使用 scikit learn 构建的决策树

我正在使用构建决策树clf=tree.DecisionTreeClassifier()clf=clf.fit(X_train,Y_train)一切正常。但是,我该如何探索决策树?例如,我如何找到X_train中的哪些条目出现在特定的叶子中? 最佳答案 您需要使用预测方法。在训练树之后,您输入X值来预测它们的输出。fromsklearn.datasetsimportload_irisfromsklearn.treeimportDecisionTreeClassifierclf=DecisionTreeClassifier(random

python - 如何在 scikit-learn 的 `pipeline` 中使用自定义特征选择函数

假设我想通过交叉验证和使用pipeline类比较包含n>2个特征的特定(监督)数据集的不同降维方法。例如,如果我想试验PCA与LDA,我可以这样做:fromsklearn.cross_validationimportcross_val_score,KFoldfromsklearn.pipelineimportPipelinefromsklearn.naive_bayesimportGaussianNBfromsklearn.preprocessingimportStandardScalerfromsklearn.ldaimportLDAfromsklearn.decomposition

python - 如何在 Python scikit-learn 中输出随机森林中每棵树的回归预测?

除了组合预测之外,是否还有一种方法可以从随机森林中的每棵树中获取预测?我想输出列表中的所有预测,而不是查看整棵树。我知道我可以使用apply方法获取叶索引,但我不确定如何使用它从叶中获取值。编辑:这是我到目前为止从下面的评论中得到的内容。之前我不清楚可以调用estimators_属性中的树,但似乎可以在使用该属性的每棵树上使用predict方法。不过,这是最好的方法吗?numberTrees=100clf=RandomForestRegressor(n_estimators=numberTrees)clf.fit(X,Y)fortreeinrange(numberTrees):prin

python - Scikit-learn χ²(卡方)统计量和相应的列联表

在scikit-learn的卡方单变量特征选择函数的文档中http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.chi2.html,它指出Thisscorecanbeusedtoselectthen_featuresfeatureswiththehighestvaluesfortheχ²(chi-square)statisticfromX,whichmustcontainbooleansorfrequencies(e.g.,termcountsindocumentclassification

python - 在 python 中使用 BernoulliNB(朴素贝叶斯分类器)scikit-learn 的简单示例 - 无法解释分类

使用scikit-learn0.10为什么下面的简单代码片段:fromsklearn.naive_bayesimport*importsklearnfromsklearn.naive_bayesimport*printsklearn.__version__X=np.array([[1,1,1,1,1],[0,0,0,0,0]])print"X:",XY=np.array([1,2])print"Y:",Yclf=BernoulliNB()clf.fit(X,Y)print"Prediction:",clf.predict([0,0,0,0,0])打印出“1”的答案?在[0,0,0,0,

python - 如何知道 Scikit-learn 中 predict_proba 的返回数组中表示哪些类

我从Scikit-learn开始......>>>importsklearn>>>sklearn.__version__'0.13.1'>>>fromsklearnimportsvm>>>model=svm.SVC(probability=True)>>>X=[[1,2,3],[2,3,4]]#featurevectors>>>Y=['apple','orange']#classes>>>model.fit(X,Y)>>>model.predict_proba([1,2,3])array([[0.39097541,0.60902459]])我怎么知道哪个类应该是哪个?

python - 使用 Scikit Learn SVM 为文本分类准备数据

我正在尝试应用Scikit中的SVM学习对我收集的推文进行分类。因此,将有两个类别,将它们命名为A和B。现在,我将所有推文分类在两个文本文件中,“A.txt”和“B.txt”。但是,我不确定ScikitLearnSVM需要什么类型的数据输入。我有一个以标签(A和B)作为键的字典,以及一个特征字典(unigrams)及其频率作为值。抱歉,我是机器学习的新手,不确定我应该怎么做才能让SVM正常工作。我发现SVM使用numpy.ndarray作为其数据输入的类型。我需要根据自己的数据创建一个吗?应该是这样的吗?LabelsfeaturesfrequencyA'book'54B'movies'