scikit学习python fasttext的包装

skift的Python项目详细描述


PyPI-StatusPePy statsPyPI-VersionsBuild-StatusCodecovCodefactor code qualityLICENCE

scikit-learnpython的包装器fastText

>>>fromskiftimportFirstColFtClassifier>>>df=pandas.DataFrame([['woof',0],['meow',1]],columns=['txt','lbl'])>>>sk_clf=FirstColFtClassifier(lr=0.3,epoch=10)>>>sk_clf.fit(df[['txt']],df['lbl'])>>>sk_clf.predict([['woof']])[0]

1   Installation

依赖关系:

  • numpy
  • scipy
  • scikit-learn
  • fasttextpython包
pip install skift

2   Configuration

因为fasttext从文件中读取输入数据,skift必须将输入数据转储到临时文件中,以便fasttext使用。为文件系统上的这些文件创建一个专用文件夹。默认情况下,此存储分配在系统临时存储位置(即*nix系统上的/tmp)。要覆盖此默认位置,请使用SKIFT_TEMP_DIR环境变量:

exportSKIFT_TEMP_DIR=/path/to/desired/temp/folder

^ {STR 1 } $注:>目录将创建,如果它不存在。

3   Features

  • 遵循scikit-learn分类器API,包括predict_proba
  • 还满足了pandas.DataFrameinputs的常见用例。
  • 使fastText与其他类型的scikit-learn兼容分类器轻松堆叠。
  • 可pickle的分类器对象。
  • 围绕official fasttext Python package构建。
  • 纯Python。
  • 支持Python3.5+。
  • 全面测试。

4   Wrappers

fastText只对文本数据起作用,这意味着它将只使用数据集中的一个列,该数据集可能包含许多不同类型的功能列。因此,一个常见的用例是让fastText分类器使用单个列作为输入,而忽略其他列。当fastText用作堆叠分类器中的多个分类器之一,而其他分类器使用非文本特征时,尤其如此。

skift包含几个scikit-learn兼容的包装器(用于officialfastTextpython包),它们可以满足这些用例。

注意:提供给分类器构造函数的任何其他关键字参数,除了那些必需的参数外,将在每次调用fit时转发给fastText.train_supervised方法。

4.1   Standard wrappers

除了通常由scikit-learn分类所做的假设之外,这些包装器不会对输入做额外的假设;即,该输入是2dndarray对象等。

  • FirstColFtClassifier-一个用于fasttext的sklearn分类器适配器,它接受输入ndarray对象的第一列作为输入。
>>>fromskiftimportFirstColFtClassifier>>>df=pandas.DataFrame([['woof',0],['meow',1]],columns=['txt','lbl'])>>>sk_clf=FirstColFtClassifier(lr=0.3,epoch=10)>>>sk_clf.fit(df[['txt']],df['lbl'])>>>sk_clf.predict([['woof']])[0]
  • IdxBasedFtClassifier-一个用于fasttext的sklearn分类器适配器,按列索引接受输入。这是通过向构造函数提供input_ix参数在对象构造上设置的。
>>>fromskiftimportIdxBasedFtClassifier>>>df=pandas.DataFrame([[5,'woof',0],[83,'meow',1]],columns=['count','txt','lbl'])>>>sk_clf=IdxBasedFtClassifier(input_ix=1,lr=0.4,epoch=6)>>>sk_clf.fit(df[['count','txt']],df['lbl'])>>>sk_clf.predict([['woof']])[0]

4.2   pandas-dependent wrappers

这些包装器假设给fitpredict方法的X参数是一个pandas.DataFrame对象:

  • FirstObjFtClassifier-一个用于fasttext的sklearn适配器,使用dtype == object的第一列作为输入。
>>>fromskiftimportFirstObjFtClassifier>>>df=pandas.DataFrame([['woof',0],['meow',1]],columns=['txt','lbl'])>>>sk_clf=FirstObjFtClassifier(lr=0.2)>>>sk_clf.fit(df[['txt']],df['lbl'])>>>sk_clf.predict([['woof']])[0]
  • ColLblBasedFtClassifier-一个sklearn适配器,用于按列标签获取输入的fasttext。这是通过向构造函数提供input_col_lbl参数在对象构造上设置的。
>>>fromskiftimportColLblBasedFtClassifier>>>df=pandas.DataFrame([['woof',0],['meow',1]],columns=['txt','lbl'])>>>sk_clf=ColLblBasedFtClassifier(input_col_lbl='txt',epoch=8)>>>sk_clf.fit(df[['txt']],df['lbl'])>>>sk_clf.predict([['woof']])[0]

5   Contributing

软件包作者和当前维护者是shay palachy(shay.palachy@gmail.com);非常欢迎您向他寻求帮助。捐款是非常受欢迎的。

5.1   Installing for development

克隆:

git clone git@github.com:shaypal5/skift.git

以开发模式安装,包括测试依赖项:

cd skift
pip install -e '.[test]'

要同时安装fasttext,请参阅安装部分中的说明。

5.2   Running the tests

要运行测试,请使用:

cd skift
pytest

5.3   Adding documentation

这个项目是使用numpy docstring conventions来记录的,之所以选择它们,是因为它们可能是由公共工具支持的最广泛传播的约定。例如sphinx并生成人类可读的docstring。在记录添加到此项目中的代码时,请遵循these conventions

另外,如果您更新了这个README.rst文件,请使用python setup.py checkdocs验证它的编译。

6   Credits

由shay palachy创建(shay.palachy@gmail.com)。

修复:uniazcrouffer

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java API以编程方式创建ARM模板   java是否有合适的模式或方法来遍历数据和动态构造对象?   oop((类名)InstanceName)在java中有什么用途?   接口Java类方法未初始化   Java类:静态字段在内存中的位置?   java错误:服务类没有零参数构造函数   使用JDBC模板的java参数化sql查询   安卓致命异常:主java。lang.RuntimeException:   amazon web服务使用IAM角色从java访问AWS S3   java如何在Gradle中使用ojdbc   带块的Java类实例化   java日志记录是否有很大的开销,即使它是关闭的?   java JetBrains@Contract using字段   BluetoothGattCallback中从未调用java onDescriptorWrite()   java HttpMessageConverter无效的EOF处理   java在安卓的主活动类中调用另一个类   java防止在spring hibernate中存储重复值的正确方法   java如何在JAVADOC注释中使用变量?