草庐IT

SciKit-Learn

全部标签

python - Scikit-learn 教程文档位置

我在Ubuntu14.04上安装了scikit-learn0.16.1,并且正在学习教程。SKL已安装所有默认配置。教程说明Thesourceofthistutorialcanbefoundwithinyourscikit-learnfolder:scikit-learn/doc/tutorial/text_analytics/我在整个驱动器上都使用了find,但没有“tutorial”文件夹。没有任何地方。有人知道这些文件的实际安装位​​置吗? 最佳答案 查找包内容包的安装位置取决于您安装scikit-learn的方式如果您通过以

python - 使用交叉验证评估逻辑回归

我想使用交叉验证来测试/训练我的数据集,并评估逻辑回归模型在整个数据集上的性能,而不仅仅是在测试集(例如25%)上的性能。这些概念对我来说是全新的,我不确定我是否做对了。如果有人能就我出错的地方采取正确的步骤向我提出建议,我将不胜感激。我的部分代码如下所示。此外,如何在与当前图表相同的图表上绘制“y2”和“y3”的ROC?谢谢importpandasaspdData=pd.read_csv('C:\\Dataset.csv',index_col='SNo')feature_cols=['A','B','C','D','E']X=Data[feature_cols]Y=Data['Sta

python - 在 Sklearn 的 SVC 中,当标签大小很大时,为什么训练时间与最大迭代不严格线性?

我做了一个分析,试图查看SVC中训练时间和最大迭代之间的关系。我使用的数据是一些随机生成的数字,我根据SVC拟合的max_iter绘制了训练时间。我检查了日志,每个二进制分类器都达到了max_iter(我输出了所有控制台日志,这些日志显示了每个二进制分类器的详细警告并对其进行了计数)。但是,我假设训练时间与迭代严格线性,但实际上,在训练数据有很多标签的情况下,例如说40,那么情节不显示它是线性的。似乎随着最大迭代次数的增加,每次迭代所需的时间比以前略少。而如果我们将label_size更改为2(这意味着每个拟合仅包含1个二元分类器),则该线是直的。是什么导致这种情况发生?这是我的源代码

python - SkLearn 多项式 NB : Most Informative Features

由于我的分类器在测试数据上产生了大约99%的准确率,我有点怀疑并想深入了解我的NB分类器最有用的特征,看看它正在学习什么样的特征。以下主题非常有用:Howtogetmostinformativefeaturesforscikit-learnclassifiers?至于我的特征输入,我仍在尝试,目前我正在使用CountVectorizer测试一个简单的unigram模型:vectorizer=CountVectorizer(ngram_range=(1,1),min_df=2,stop_words='english')关于上述主题,我发现了以下函数:defshow_most_inform

python - 为什么我们用 sklearn 导入 scikit-learn?

为什么我们安装scikit-learn包:condainstallscikit-learn然后使用名称sklearn在脚本中导入(模块来自)包,例如:fromsklearnimportx 最佳答案 scikit-learn不是python中的有效标识符,所以它不可能是那个。我想他们本可以将包命名为scikit_learn,但需要输入的内容很多,所以我想他们只是为了方便起见而决定缩短包名称。当然,如果您愿意,您可以:importsklearnasscikit_learn:-) 关于pyth

python - 使用 scikit-learn 对连续变量和分类变量(整数类型)进行特征预处理

主要目标如下:将StandardScaler应用于连续变量将LabelEncoder和OnehotEncoder应用于分类变量连续变量需要缩放,但同时有几个分类变量也是整数类型。应用StandardScaler会导致不良影响。另一方面,StandardScaler会缩放基于整数的分类变量,这也不是我们想要的。由于连续变量和分类变量混合在单个PandasDataFrame中,建议的工作流程是什么来处理此类问题?说明我的观点的最好例子是KaggleBikeSharingDemand数据集,其中season和weather是整数分类变量 最佳答案

python - 无法导入 Scikit-Learn

我尝试在我的LinuxMint12上安装scikit-learn但失败了。我从http://pypi.python.org/pypi/scikit-learn/下载了这个包并安装sudopython2.7setup.pyinstall然后我将目录更改为home并启动了python2.7shell。在导入sklearn时,我得到了:>>>importsklearn/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7:RuntimeWarning:numpy.dtypesizechanged,mayindicatebina

python - 如何对多列使用 OneHotEncoder 并自动为每列删除第一个虚拟变量?

这是3列3行的数据集NameOrganizationDepartmentManie ABC2FINANCEJoyce ABC1HRAmi NSV2HR这是我的代码:现在到这里为止都很好,我如何为每个删除第一个虚拟变量列?#Importingthelibrariesimportnumpyasnpimportmatplotlib.pyplotaspltimportpandasaspd#Importingthedatasetdataset=pd.read_csv('Data1.csv',encoding="cp1252")X=dataset.values#Encodingcategorica

python - 投票分类器 : Different Feature Sets

我有两个不同的特征集(因此,行数相同且标签相同),在我的例子中DataFrames:df1:|A|B|C|-------------|1|4|2||1|4|8||2|1|1||2|3|0||3|2|5|df2:|E|F|---------|6|1||1|3||8|1||2|8||5|2|标签:|labels|----------|5||5||1||7||3|我想用它们来训练VotingClassifier。但是拟合步骤只允许指定单个特征集。目标是使clf1与df1和clf2与df2相匹配。eclf=VotingClassifier(estimators=[('df1-clf',clf1

python - 机器学习的周期性数据(如度角 -> 179 与 -179 相差 2)

我正在使用Python进行核密度估计,并使用高斯混合模型对多维数据样本的可能性进行排序。每条数据都是一个角度,我不确定如何处理机器学习角度数据的周期性。首先,我通过添加360来移除所有负角,因此所有负角都变为正角,-179变为181。我相信这可以优雅地处理-179的情况,与179和类似的没有显着差异,但它不处理像359与1没有区别的实例。我想到的解决该问题的一种方法是同时保留负值和负值+360,并使用两者中的最小值,但这需要修改机器学习算法。对于这个问题,是否有一个好的仅预处理解决方案?scipy或scikit中内置了什么?谢谢! 最佳答案