暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

用PostgreSQL或polardb pg开源版, 结合Scikit Learn与matplotlib进行可视化数据挖掘分析

digoal 2021-01-07
2815

作者

digoal

日期

2021-07-20

标签

PostgreSQL , Scikit Learn , matplotlib , 数据挖掘分析


背景

泽鹏开源的PG数据分析库, 整合了PolarDB PG, 封装了Scikit Learn与matplotlib的部分函数, 支持可视化数据分析.

包含了丰富的使用例子. 非常适合有数据分析需求的同学使用.

https://github.com/redraiment/SciKit-Learn-for-PolarDB

Scikit-Learn-for-PostgreSQL

PolarDB Logo

Scikit-Learn-for-PostgreSQL是一款基于PolarDB for PostgreSQL的数据分析工具,封装了Scikit Learnmatplotlib的部分函数。目前项目用于PolarDB for PostgreSQL的教学演示,尚未在生产环境中验证,可用于学习用途,请谨慎在生产环境使用。

当前版本:1.0.0

选择终端

为了在psql中可视化地展示数据,需要使用可展示sixel格式图片的终端软件:

  • MacOS环境:推荐使用iTerm2。
  • Linux环境:推荐使用xTerm。
  • Windows环境:推荐使用MinTTY。

安装方法

下载并启动Docker容器

基于PolarDB的环境已经提前构建好Docker镜像,可直接通过docker运行:

sh docker image pull redraiment/scikit-learn-for-polardb docker container run -d redraiment/scikit-learn-for-polardb sleep 60 # 等待PolarDB启动,约1分钟 docker container exec -it <container-id> psql -hlocalhost -p10001 -Upostgres

其中:

  • <container-id>替换为你自己本地的容器id。
  • 若运行psql看到错误提示:psql: FATAL: the database system is starting up,请继续耐心等待。

安装插件

成功启动psql之后,执行以下SQL,安装插件:

sql create extension plpython3u; create extension pgsklearn; select show_logo();

若在终端上能看到PolarDB的logo图片,说明已经安装完成并可正常使用。如下图所示:

show_logo

使用示例

以下代码演示如何对鸢尾花数据集做降维,并可视化展示:

```sh
select load_iris(); -- 加载鸢尾花数据集到iris表
alter table iris add column feature1 float8, add column feature2 float8;
select decomposition_pca('iris', 'id', '{sepal_length,sepal_width,petal_length,petal_width}'::text[], '{feature1,feature2}'::text[]); -- 将4个维度的数据降维成2个维度的数据

```

若在终端上能看到如下散点图,说明降维并展示成功!

show_logo

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论