草庐IT

sklearn_pca

全部标签

python - sklearn 中 score 和 accuracy_score 的区别

sklearn.naive_bayes.GaussianNB()模块中的score()方法和sklearn中的accuracy_score方法有什么区别。指标模块?两者似乎相同。对吗? 最佳答案 一般来说,不同的模型有返回不同指标的评分方法。这是为了允许分类器指定他们认为最适合他们的评分指标(因此,例如,最小二乘回归分类器将有一个score方法返回类似于平方误差之和的东西).在GaussianNB的情况下,文档说它的评分方法:Returnsthemeanaccuracyonthegiventestdataandlabels.accu

python - Sklearn 标签编码多列 pandas 数据框

我尝试在大型pandas数据框中对包含分类数据("is"和“否”)的多个列进行编码。完整的数据框包含400多列,因此我正在寻找一种方法来对所有需要的列进行编码,而不必对它们进行逐一编码。我使用Scikit-learnLabelEncoder对分类数据进行编码。不必对数据帧的第一部分进行编码,但是我正在寻找一种方法来直接对包含分类日期的所有所需列进行编码,而无需拆分和连接数据帧。为了展示我的问题,我首先尝试在数据框的一小部分上解决它。然而,卡在数据拟合和转换的最后部分,并得到一个ValueError:badinputshape(4,3)。我运行的代码:#Createasimpledata

python - 是否可以将 PCA 应用于任何文本分类?

我正在尝试使用python进行分类。我正在为网页使用NaiveBayesMultinomialNB分类器(从网络检索数据到文本,稍后我对这段文本进行分类:网络分类)。现在,我正在尝试对这些数据应用PCA,但python给出了一些错误。我的朴素贝叶斯分类代码:fromsklearnimportPCAfromsklearnimportRandomizedPCAfromsklearn.feature_extraction.textimportCountVectorizerfromsklearn.naive_bayesimportMultinomialNBvectorizer=CountVec

python - sklearn : Turning off warnings

当我使用1列pythonpandasDataFrame(不是Series对象),我收到此警告:/Library/Python/2.7/site-packages/sklearn/preprocessing/label.py:125:DataConversionWarning:Acolumn-vectorywaspassedwhena1darraywasexpected.Pleasechangetheshapeofyto(n_samples,),forexampleusingravel().y=column_or_1d(y,warn=True)我知道我可以很容易地在我的代码中发出这个警告

python - sklearn : how to get coefficients of polynomial features

我知道可以使用以下方法获取多项式特征作为数字:polynomial_features.transform(X)。根据manual,对于二度的特征是:[1,a,b,a^2,ab,b^2]。但是我如何获得高阶特征的描述呢?.get_params()不显示任何功能列表。 最佳答案 顺便说一句,现在有更合适的功能:PolynomialFeatures.get_feature_names.fromsklearn.preprocessingimportPolynomialFeaturesimportpandasaspdimportnumpyas

python - 将 DictVectorizer 与 sklearn DecisionTreeClassifier 结合使用

我尝试用python和sklearn开始决策树。工作方式是这样的:importpandasaspdfromsklearnimporttreeforcolinset(train.columns):iftrain[col].dtype==np.dtype('object'):s=np.unique(train[col].values)mapping=pd.Series([x[0]forxinenumerate(s)],index=s)train_fea=train_fea.join(train[col].map(mapping))else:train_fea=train_fea.join(

python - sklearn.ensemble.RandomForestClassifier 中的邻近度矩阵

我正在尝试使用随机森林在Python中执行聚类。在随机森林的R实现中,您可以设置一个标志来获取邻近矩阵。我似乎无法在随机森林的pythonscikit版本中找到任何类似的东西。有谁知道python版本是否有等效的计算? 最佳答案 我们没有在Scikit-Learn中实现邻近矩阵(目前)。但是,这可以依靠我们的决策树实现中提供的apply函数来完成。也就是说,对于数据集中的所有样本对,迭代森林中的决策树(通过forest.estimators_)并计算它们落在同一片叶子中的次数,即多次apply为配对中的两个样本提供相同的节点ID。希

python - sklearn Kfold 访问单折而不是 for 循环

在使用cross_validation.KFold(n,n_folds=folds)之后,我想访问用于训练和测试单折的索引,而不是遍历所有折。让我们来看示例代码:fromsklearnimportcross_validationX=np.array([[1,2],[3,4],[1,2],[3,4]])y=np.array([1,2,3,4])kf=cross_validation.KFold(4,n_folds=2)>>>print(kf)sklearn.cross_validation.KFold(n=4,n_folds=2,shuffle=False,random_state=No

python - 如何在 sklearn 中编码分类变量?

我正在尝试使用UCI存储库中的汽车评估数据集,我想知道是否有一种方便的方法可以在sklearn中对分类变量进行二值化。一种方法是使用LabelBinarizer的DictVectorizer但这里我得到k不同的特征,而你应该只有k-1以避免共线性化。我想我可以编写自己的函数并删除一列,但是这种簿记很乏味,有没有一种简单的方法可以执行此类转换并得到一个稀疏矩阵? 最佳答案 如果您的数据是pandasDataFrame,那么您可以简单地调用get_dummies。假设您的数据框是df,并且您希望每个级别的变量“键”都有一个二进制变量。您

python - sklearn LogisticRegression 和更改分类的默认阈值

我正在使用sklearn包中的LogisticRegression,并且有一个关于分类的快速问题。我为我的分类器构建了一条ROC曲线,结果证明我的训练数据的最佳阈值约为0.25。我假设创建预测时的默认阈值是0.5。在进行10折交叉验证时,如何更改此默认设置以了解我的模型的准确性?基本上,我希望我的模型为大于0.25而不是0.5的任何人预测“1”。我一直在查看所有文档,但似乎一无所获。 最佳答案 我想给出一个实际的答案fromsklearn.datasetsimportmake_classificationfromsklearn.mo