An easy-to-use ML framework
Project description
classicML: 简单易用的经典机器学习框架
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神经网络 | ✅ | ✅ | ✅ | ✅ | ✅ |
径向基函数神经网络 | ✅ | ✅ | ✅ | ||
支持向量分类器 | ✅ | ✅ | ✅ | ||
分类决策树 | ✅ | ✅ | ✅ | ✅ | ✅ |
朴素贝叶斯分类器 | ✅ | ✅ | ✅ | ✅ | |
平均独依赖估计器 | ✅ | ✅ | ✅ | ||
超父独依赖估计器 | ✅ | ✅ | ✅ | ✅ |
- 全部神经网络只能可视化损失和评估函数曲线,暂不能可视化结构信息
- BP神经网络需要手动将离散值转换成dummy编码
classicML 0.6 预览
这个发行版将以性能优化和原生支持Apple Silicon为更新目标
- 原生支持(native support) Apple M1
- 增加大量
CC
后端函数,将主要的操作全部用CC
重写,大幅提高性能- 修复BUG,提高稳定性
Project details
Release history Release notifications | RSS feed
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.6b2.tar.gz
(54.7 kB
view hashes)
Built Distributions
Close
Hashes for classicML-0.6b2-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a90aa8a2c983abf274f7dd35edab997730e9eddbd4a4d6f2812f455267b4962e |
|
MD5 | 20bff78fe729e1c2d524999c7b70f1cf |
|
BLAKE2b-256 | 309bd81fd535bb8bb0e4f21c27bdb5ff3de8b3ef924063d16b5e3a421a904217 |
Close
Hashes for classicML-0.6b2-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ccb1ee4421061cbe643186208d35b1cc55c7e95ac566a8f94f90dcb8d4ea82a |
|
MD5 | 0f75c544664283f3dfa693ddb7c56dc4 |
|
BLAKE2b-256 | c39a30bdff9c93c17105e11af43c52ea8f1687081f52bd1b720762d2fd43918b |
Close
Hashes for classicML-0.6b2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c5eeaa661933549f756b5ff08ab05fb2b650da021cda214218de10e04a50b3b |
|
MD5 | 460e695d77eb2afe3948f7bdb7b1a758 |
|
BLAKE2b-256 | 76da16565a164516c40bbfae92b5cb4538c04e41aa8597d572fc81fa4caa7120 |
Close
Hashes for classicML-0.6b2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb62b33ec3e8c0c700a4a0213268e217c8baa0cd020eb4d4b0cfb509ae19797d |
|
MD5 | c764fd44486f5602c4be1af9303ff8b4 |
|
BLAKE2b-256 | ea8c6cd770362c3c106a3227c3b694da5a3d20a444c17487a3b4eec2266f36df |
Close
Hashes for classicML-0.6b2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c6604604f097badb95b72fabced15bb6f3ec97b64c24522f0b4b3ca25ec7964 |
|
MD5 | 9fd4df20d95cd390d854e31ef658b775 |
|
BLAKE2b-256 | fce976d739fc71e32fc4d4cf1a941dc4acab1b64bfb647ea34d9892d592c1659 |
Close
Hashes for classicML-0.6b2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acb02067642e4810cb627c8e95b63478e4c2c83affafa677d73862e34f78a78d |
|
MD5 | 09a61c3106ac46cd2ff09015695daf56 |
|
BLAKE2b-256 | 406e93f8ced452254abb515334a2d3e2d233e76f8beb88acdacd3c90fbce7e7e |
Close
Hashes for classicML-0.6b2-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0e9cc5e22465f1d80350bfe5113ca0fa7e9b21210c5a57097ee120298a112f3 |
|
MD5 | 7afba90ce62068c952ade31c4da33a27 |
|
BLAKE2b-256 | fa6c5a033e39517a5b6a946a5e14a14809a494a7c5c92d69e6a1fcb7c35a0a90 |
Close
Hashes for classicML-0.6b2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2874f075f5836e165c0a0a20e81cc96774a6044e3e915a7bba7ff3c16a541ba5 |
|
MD5 | adb34c4f5ae95bc84b1a5500b2455f69 |
|
BLAKE2b-256 | 7065645f641ed31b75917a09bf132c7646fe0b7656e9c63a8f54e47c68e27d75 |
Close
Hashes for classicML-0.6b2-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33c8d9a687ac3fdb02a04225ff881ebaf9007e50a7af78047e3cec9beaf77060 |
|
MD5 | fc10cefac0d6ae5d5c591d55b8c805e1 |
|
BLAKE2b-256 | 20fe16717d6e611d547f4518515b977af2294b4239cbdc140cd038ad835c1149 |