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加速 | 可视化 | 同时处理离散和连续值 | 保存和加载权重(experimental) |
---|---|---|---|---|---|
逻辑回归 | ✅ | ✅ | ✅ | ||
线性判别分析 | ✅ | ✅ | ✅ | ||
BP神经网络 | ✅ | ✅ | ✅ | ✅ | ✅ |
径向基函数神经网络 | ✅ | ✅ | ✅ | ||
支持向量分类器 | ✅ | ✅ | ✅ | ||
分类决策树 | ✅ | ✅ | ✅ | ✅ | ✅ |
朴素贝叶斯分类器 | ✅ | ✅ | ✅ | ✅ | |
平均独依赖估计器 | ✅ | ✅ | |||
超父独依赖估计器 | ✅ | ✅ | ✅ |
- 全部神经网络只能可视化损失和评估函数曲线,暂不能可视化结构信息
- BP神经网络需要手动将离散值转换成dummy编码
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.5.1b3.tar.gz
(46.9 kB
view hashes)
Built Distributions
Close
Hashes for classicML-0.5.1b3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff942290deae1b47ad339c2836b55043d44fd6bf32a11e429c72df2947bc2fcb |
|
MD5 | f31c2a7dbfd1e3f84e0ebb2e753a56a2 |
|
BLAKE2b-256 | bc1b456cba62ac7a1eb4099d114b229e3ab8e514a9b7cec98e9f838808af51b9 |
Close
Hashes for classicML-0.5.1b3-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afd2e1a13dd418c44047c7ebb55b2988cf7f516e1021ed03b3e37c431a335d1a |
|
MD5 | 430f7d2bb87e356c79ec977edacdd22d |
|
BLAKE2b-256 | 115e2078ad547fe7c6999cbd35fbf204b567c935c600b878dbd08202f480a9b7 |
Close
Hashes for classicML-0.5.1b3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a60ad756c9b3237342d9d09d82067174f24d8c4c420fa506aef71aaa9c3ab145 |
|
MD5 | 3075857e248fdcc81d5720eb726ce0e0 |
|
BLAKE2b-256 | 5ad36f8d050811558c23bdf87fc163529fb5f51af23f4b970a2e58e4e73c48ff |
Close
Hashes for classicML-0.5.1b3-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f47d6cec169ddb05fb123de9dca71780e0c19b721825822202a6b15ca0a689b5 |
|
MD5 | cfb3aab0e4363540f258cb4ed6f59782 |
|
BLAKE2b-256 | b0696cffccefd81e4ce8cd7cfc6e7aaacfefdf817ec71130e73f5cfcc8da13bb |
Close
Hashes for classicML-0.5.1b3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa59f2a6d429e80210c31a1e243920704b720c0a274a17dde670de126d2c3372 |
|
MD5 | 19b205b5b9f3f728aa4460f8014a596a |
|
BLAKE2b-256 | cc12d1c41ceaf004e2f898e6b92fa150d62b1719d1424beb7ab3891ee9c34b66 |
Close
Hashes for classicML-0.5.1b3-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a2a3fee5f4320474326d12f006c18b17ce7f881b7a4ff2ecaa588564274abfa |
|
MD5 | 251e1482884c4f58bc43d895ead7ec41 |
|
BLAKE2b-256 | caf40efba0f04b5f6428fa5bbfbaf16c015684e01cbce46fb74038fc69cdd6ca |