贝叶斯影响特征提取框架。一个简单的特征提取框架,从不同的数据源提取数据并将其导出为易于共享的格式。

fex的Python项目详细描述


#一个简单的特征提取框架


此任务通常包括查询一个或多个数据库、复杂连接以计算特征(例如,一个患者的不同诊断数,可能分布在多个表上),然后将此过程的结果保存到一个可用于训练模型的平面表中。此平面表必须定期重新计算(例如更改功能后),并且必须在多人之间共享。此外,我们始终希望记录用于计算特定功能集的代码。如果没有这些,我们可能最终会遇到这样的情况:我们有一个可以工作的模型,但是我们不记得我们是如何计算特征来训练它的。fex简化了这个过程。



此模式确保没有未提交的更改,并将从git远程url和最新提交哈希计算的唯一标识符前置到生成的数据文件。请注意,此机制只跟踪对代码的更改,不会注意是否将参数传递给功能提取程序。
*功能提取程序的结果缓存到pickle中,只要特征提取程序的源代码没有更改。
*可以通过运行程序的命令行参数(`--cache path`)指定缓存文件的路径。
*可以在命令行(`--path`)上指定输出CSV文件的路径。
*可以使用运行程序的“---no cache”标志停用缓存。



##quickstart

只需编写一个继承自featureextractor的类并重写其“extract”方法。在某一点上,它应该使用pandas数据帧调用“emit”,这是提取的结果。(在将来,我们可能会将其扩展为允许多次发射,但现在它必须只发射一次。)

然后使用fex runner执行它。

```
/usr/bin/env python
将panda导入为pd
导入fex


类示例feature1(fex.feature extractor):
“第一个示例featureextractor,超级酷。“

def extract(self):
”用自定义逻辑重写方法。


这是一个进行数据提取和转换的地方。

”data={'col1':[42]}
data廑frame=pd.dataframe(data,index=[1])
self.emit(数据帧)

fex.runner.run(examplefeature1())
````

请参见[examples/simple-example.py](examples/simple-example.py)获取稍微复杂一点的示例,您可以直接运行该示例来查看结果。运行“examples/simple-example.py--help”查看所有命令行参数。

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

推荐PyPI第三方库


热门话题
socketJava加密聊天客户端未通过关联   java保存JFileChooser的状态   java如何让代码等待GUI完成?   java可序列化和接口:Parcelable在写入可序列化对象时遇到IOException   java Jersey客户端将覆盖ROBOTS响应   java空指针异常&如何克服   java如何使用JAXR设置字符集?   JavaSpring自定义转换器被覆盖   java将泛型类型的值设置为DTO字段   使用netty的java音频流服务器   java滚动条添加到面板时不显示在滚动窗格中   java windows通过IIS Url重写单点登录tomcat   Web应用程序的java容器管理安全性   java使用mybatis将POJO项数组传递到存储过程?