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.1b2.tar.gz
(44.6 kB
view hashes)
Built Distributions
Close
Hashes for classicML-0.5.1b2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d16d739e333cf8ff5a18582c089911ba7e8999713a247ecf3098c106c1d4846e |
|
MD5 | 6b17a257a3c64149cc0efb87f095adb0 |
|
BLAKE2b-256 | ccccd74db95e887010ab15e0faea148f0970cf606389405daa85aaf0c63a2218 |
Close
Hashes for classicML-0.5.1b2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1131faca80261ed19ed383520b0a6cc2f99b5fc539bf07cf275276f81bcb7e29 |
|
MD5 | d4c5c7bd7e61887593c544c2984d90a4 |
|
BLAKE2b-256 | 8d6343f9703831e4753615afaba67cc7691975e988e44f89f42a3777a0388f4b |
Close
Hashes for classicML-0.5.1b2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 062e8d75ddbd83b1b1c71b0f44c47faeb244701a88847442d35faf6357f73116 |
|
MD5 | 8de1f3703bf44f023ad69c9ff3e8df92 |
|
BLAKE2b-256 | ea7f9c60c450ce8adc7ac632b1416e6922aff7398cbadbed4240410255a9175e |
Close
Hashes for classicML-0.5.1b2-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa3c380d1b07c4bf76a7f3e291e68014f06cdb97c8dfb5018e6eccd97e8b9d69 |
|
MD5 | 38353e489b98e8a0904c1c53c1b102ac |
|
BLAKE2b-256 | b65070231d3423665dd3b86d203b366c568e3438e14c161ef1d38d680b10deb5 |
Close
Hashes for classicML-0.5.1b2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6b1503bdfcdb241d62d3fb172a2b53c2ac5aa45e5b02635881827c6979fc600 |
|
MD5 | 737ed6aa35c6476be30023451fdfff85 |
|
BLAKE2b-256 | af43d0b23c09306afb46b942dd49b2fc494c9bf49b4ee043278af2e8149b9382 |
Close
Hashes for classicML-0.5.1b2-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd13b2b040f5e2dd930cc73e2968a49ef404c528908abed0fedb2b5505e70d78 |
|
MD5 | 1f5c6c5797abfa6a229796923abe869f |
|
BLAKE2b-256 | 321e0fd27a054e53ead1b24335ed8983db1287d61515008c1b438d4d9c57431b |