草庐IT

分类法

全部标签

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

python - 在 NLTK/Python 中使用电影评论语料库进行分类

我希望按照NLTKChapter6的思路进行一些分类.这本书似乎跳过了创建类别的步骤,我不确定我做错了什么。我的脚本在这里,响应如下。我的问题主要源于第一部分——基于目录名称的类别创建。这里的其他一些问题使用了文件名(即pos_1.txt和neg_1.txt),但我更愿意创建可以将文件转储到其中的目录。fromnltk.corpusimportmovie_reviewsreviews=CategorizedPlaintextCorpusReader('./nltk_data/corpora/movie_reviews',r'(\w+)/*.txt',cat_pattern=r'/(\w

python - 如何关联 Pandas 中的序数分类列?

我有一个DataFramedf,它有一个非数字列CatColumn。ABCatColumn0381.13967.343921Medium1481.32686.786945Medium2263.37667.628746High3177.24005.225647Medium-High我想将CatColumn包含在与Dataframe中其他列的相关性分析中。我尝试了DataFrame.corr,但它在相关性分析中不包含标称值的列。 最佳答案 我将强烈不同意其他评论。他们忽略了相关性的要点:随着变量2的增加或减少,变量1增加或减少了多少。因

python - 使用word2vec对类别中的单词进行分类

背景我有一些带有样本数据的向量,每个向量都有一个类别名称(地点、颜色、名称)。['john','jay','dan','nathan','bob']->'Names'['yellow','red','green']->'Colors'['tokyo','bejing','washington','mumbai']->'Places'我的目标是训练一个模型,该模型采用新的输入字符串并预测它属于哪个类别。例如,如果新输入是“紫色”,那么我应该能够将“颜色”预测为正确的类别。如果新输入是“Calgary”,它应该将“Places”预测为正确的类别。方法我做了一些研究并发现了Word2vec.

python - 使用 librosa 进行音频分类的 MFCC 特征描述符

我正在尝试获取音频文件的单一矢量特征表示以用于机器学习任务(具体来说,使用神经网络进行分类)。我在计算机视觉和自然语言处理方面有经验,但我需要一些帮助来加快处理音频文件的速度。音频文件有多种特征描述符,但似乎MFCC最常用于音频分类任务。我的问题是:如何将音频文件的MFCC表示(通常是矩阵(大概是系数))转换为单个特征向量?我目前正在使用librosa为此。我有一堆音频文件,但它们的形状各不相同:forfilenameinos.listdir('data'):y,sr=librosa.load('data/'+filename)printfilename,librosa.feature

python - PyTorch 二进制分类 - 相同的网络结构, 'simpler' 数据,但性能更差?

为了掌握PyTorch(以及一般的深度学习),我首先研究了一些基本的分类示例。一个这样的例子是对使用sklearn创建的非线性数据集进行分类(完整代码可作为笔记本here获得)n_pts=500X,y=datasets.make_circles(n_samples=n_pts,random_state=123,noise=0.1,factor=0.2)x_data=torch.FloatTensor(X)y_data=torch.FloatTensor(y.reshape(500,1))然后使用非常基本的神经网络对其进行准确分类classModel(nn.Module):def__in

python - 如何根据 ROC 结果设置 sklearn 分类器的阈值?

我使用scikit-learn训练了一个ExtraTreesClassifier(gini指数),它非常适合我的需要。准确性不太好,但使用10折交叉验证,AUC为0.95。我想在我的工作中使用这个分类器。我是ML的新手,所以如果我问你一些概念上的错误,请原谅我。我绘制了一些ROC曲线,据此,我似乎有一个特定的阈值,我的分类器开始表现良好。我想在拟合分类器上设置这个值,所以每次我调用预测时,分类器都会使用该阈值,我可以相信FP和TP率。我也看到了这篇文章(scikit.predict()defaultthreshold),其中指出阈值不是分类器的通用概念。但由于ExtraTreesCla

python - 为什么 CalibratedClassifierCV 不如直接分类器?

我注意到当base_estimator是GradientBoostingClassifer时,sklearn的新CalibratedClassifierCV似乎表现不如直接base_estimator,(我没有测试其他分类器)。有趣的是,如果make_classification的参数是:n_features=10n_informative=3n_classes=2那么CalibratedClassifierCV似乎略胜一筹(对数损失评估)。但是,在以下分类数据集下,CalibratedClassifierCV似乎通常表现不佳:fromsklearn.datasetsimportmak

python - 适合多类分类的深度学习结构

我有以下数据feat_1feat_2...feat_nlabelgene_1100.3310.2...90.23greatgene_213.3287.9...77.18soso....gene_m213.3263.2...12.23quitegoodM的大小很大~30K行,N小得多~10列。我的问题是适合学习的深度学习结构是什么并像上面一样测试数据。在一天结束时,用户将给出一个带有表达的基因载体。gene_1989.00gene_277.10...gene_N100.10系统将标记每个基因应用的标签,例如很棒或一般,等等...我所说的结构是指其中之一:卷积神经网络(CNN)自编码器深度