c++ log类里面记录代码行数_一小时开发数据分析和机器学习平台(手把手,附代码)...

low profile,no profile 前言 说到数据分析平台,可能我们会想到重量级AWS和阿里云。他们提供的平台和服务可以进行数据分析和机器学习。我们今天分享的方法主要是针对无前端知识,无开发团队的业务人员,数据分析师和建模师,如何快速搭建数据分析和机器学习平台,让自己的日常工作更加方便。 人生苦短,我用python。没错,我们就是用纯python搭建! 我们初步需要实现如下功能:
  • 设计一个网页版的用户界面,支持交互

  • 支持从本地选取数据集

  • 支持自动化可视化分析

  • 支持回归分析和分类分析,机器学习算法多样

  • 支持查看训练记录

  • 支持查看所有训练模型的参数,结果,甚至绘图

  • 支持预测新数据集

  • 支持其他机器学习任务(比如异常检测,规则关联,自然语言处理)

  • 其他细节

软件很轻量,功能很齐全。这么多功能特性,平时怎么着也得一个团队开开发。但是有了python,我们可以一个人一个小时搞定,因为本教程代码量不到100行 !!!先看效果:

43e12e0a63035f113c7ca92d9b4eca99.gif

‍‍ 核心工具Python胜在我们不用重复造轮子。创建数据分析和机器学习平台,我们自然也要找到神兵利器。 streamlit和pycaret 便是其中最核心的工具。streamlit的官方链接在此: https://docs.streamlit.io/en/stable/ streamlit工具对于业务人员来说,有两个优点:
  • 既有的组件方便快速设计网页:

    该库已经内置很多组件,比如文本输入,侧边栏,按钮,滑块,图画显示等组件。

    调用方式也很简单,就是单个函数即可。

  • 部署和运行方便:只需要一个命令即可--> streamlit run main.py

pycaret 属于基于sklearn的更高阶的机器学习库,高阶到无需了解数据,无需了解算法,便可完成全自动机器学习建模和预测。当然,对于我们学习来说,还是需要了解算法和数据。之前的文章我们已经介绍了pycaret库,可以参考Pycaret -- 理想的AUTO ML 平台 准备环境既然是基于Python的解决方案,就需要基本的python IDE,我一般推荐pycharm,尤其是涉及到网页开发或者项目开发。安装以下库,通过pip安装即可。
pip install streamlitpip install streamlit_pandas_profilingpip install pycaret
项目文件夹里面包含如下 (文末提供源码)
  • main.py 我们的代码

  • data 文件夹用于放置示例数据集,可不用

  • mlruns 文件夹 ,用于管理训练的机器学习模块记录,系统会自动生成

  • logs.log 用于记录系统日志

253d86c8e242f16d5d1921a6866d0812.png

辅助程序首先导入需要的库,具体见代码。
import streamlit as st # 用于设计网页import pandas as pdfrom pandas_profiling import ProfileReport # 用于生成报表from streamlit_pandas_profiling import st_profile_report # 用于在streamlit中显示报表import osimport pycaret.classification as pc_cl # 自动机器学习分类import pycaret.regression as pc_rg # 自动机器学习回归import mlflow # 模型管理

接下来我们需要准备几个辅助函数,这些函数主要是用于处理一些用户交互的细节。

  • 逐行读取logs.log,显示最末选定行数,用户可以设定行数。

def get_model_training_logs(n_lines = 10):    file = open('logs.log', 'r')    lines = file.read().splitlines()    file.close()    return lines[-n_lines:]
  • 获取当前路径下特定类型的文件列表,比如data文件夹的所有csv文件

def list_files(directory, extension):
# list certain extension files in the folder
return [f for f in os.listdir(directory) if f.endswith('.' + extension)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值