Skip to main content

An easy-to-use ML framework

Project description

classicML: 简单易用的经典机器学习框架

build PyPI Documentation Status

classicML 是一个用Python和CPP混编的机器学习项目,它既实现了Python的简单易用快速上手,又实现了CPP的高效性能。classicML的设计目标是简单易用,快速入门,编程风格简洁。

多后端支持

classicML 本身是一个Python项目,但是机器学习中涉及到的复杂的矩阵运算对于Python有点儿捉襟见肘,因此我们提供了使用CPP后端的函数的加速版本。为了保证兼容性,classicML默认使用Python后端,部分算法支持了使用CPP作为后端进行加速,你需要安装标准版的classicML,然后在开头使用这条语句切换后端。

import os
os.environ['CLASSICML_ENGINE'] = 'CC'

第一个机器学习程序

使用线性判别分析进行二分类

  • 下载示例数据集
wget https://github.com/sun1638650145/classicML/blob/master/datasets/西瓜数据集alpha.csv
  • 运行下面的代码
import pandas as pd
import classicML as cml

DATASET_PATH = '/path/to/西瓜数据集alpha.csv'

# 读取数据
dataframe = pd.read_csv(DATASET_PATH, index_col=0, header=0)
x = dataframe.iloc[:, :2].values
y = dataframe.iloc[:, 2].values
y[y == '是'] = 1
y[y == '否'] = 0
# 生成模型
model = cml.models.LDA()
# 训练模型
model.fit(x, y)
# 可视化模型
cml.plots.plot_lda(model, x, y, '密度', '含糖率')

目前的已支持的算法

classicML 目前支持数种机器学习算法,但是每种算法实现的情况有所不同和差异。

算法名称 支持多分类 使用CC加速 可视化 同时处理离散和连续值 保存和加载权重
逻辑回归
线性判别分析
BP神经网络
径向基函数神经网络
支持向量分类器
分类决策树
朴素贝叶斯分类器
平均独依赖估计器
超父独依赖估计器
  1. 全部神经网络只能可视化损失和评估函数曲线,暂不能可视化结构信息
  2. BP神经网络需要手动将离散值转换成dummy编码

classicML 0.6 预览

这个发行版将以性能优化和原生支持Apple Silicon为更新目标

  1. 原生支持(native support) Apple M1
  2. 增加大量CC后端函数,将主要的操作全部用CC重写,大幅提高性能
  3. 修复BUG,提高稳定性

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

classicML-0.6b1.tar.gz (54.2 kB view hashes)

Uploaded Source

Built Distributions

classicML-0.6b1-cp38-cp38-manylinux2010_x86_64.whl (772.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

classicML-0.6b1-cp38-cp38-macosx_11_0_arm64.whl (661.0 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

classicML-0.6b1-cp38-cp38-macosx_10_14_x86_64.whl (736.5 kB view hashes)

Uploaded CPython 3.8 macOS 10.14+ x86-64

classicML-0.6b1-cp37-cp37m-manylinux2010_x86_64.whl (768.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

classicML-0.6b1-cp37-cp37m-macosx_10_14_x86_64.whl (721.4 kB view hashes)

Uploaded CPython 3.7m macOS 10.14+ x86-64

classicML-0.6b1-cp36-cp36m-manylinux2010_x86_64.whl (768.8 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

classicML-0.6b1-cp36-cp36m-macosx_10_14_x86_64.whl (721.5 kB view hashes)

Uploaded CPython 3.6m macOS 10.14+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page