FreeAeon-ML 使用文档索引

FreeAeon-ML是一个机器学习工具库,提供数据探索、预处理、特征工程、模型训练、评估和可视化的完整解决方案。


快速开始

安装

pip install FreeAeon-ML

基本依赖

pip install pandas numpy scikit-learn h2o matplotlib seaborn scipy statsmodels imbalanced-learn pyvis pyecharts copulas

功能分类与文档导航

1. 数据工具 (Data Utility)

CFASample - 样本生成与数据处理

应用场景:生成测试数据、数据集划分、不平衡数据处理

主要方法


2. 数据探索 (Exploratory Data Analysis)

CFADataDistribution - 数据分布分析

应用场景:分布可视化、正态性检验、分布对比

主要方法

CFADataTest - 假设检验

应用场景:时间序列平稳性检验、因果关系分析

主要方法

CFAFitter - 数据拟合

应用场景:曲线拟合、趋势分析

主要方法

CFACommonStats - 统计量计算

应用场景:描述性统计分析、数据特征提取

主要方法


3. 数据预处理 (Data Preprocessing)

CFADataPreprocess - 数据预处理

应用场景:数据转换、异常值处理、标准化

主要方法

CFATransformer - 数据分布转换

应用场景:分布映射、域适应、数据增强

主要方法

支持模式


4. 特征工程 (Feature Engineering)

CFAFeatureSelect - 特征选择

应用场景:特征筛选、降维、因果分析

主要方法


5. 模型训练 (Model Training)

CFAModelClassify - 分类模型

应用场景:自动化分类模型训练(支持二分类和多分类)

主要方法

支持算法

CFAModelRegression - 回归模型

应用场景:自动化回归模型训练

主要方法

支持算法

CFAModelCluster - 聚类模型

应用场景:无监督聚类分析

主要方法

支持算法

评估指标

CFAArima - 时间序列模型

应用场景:时间序列预测、季节性分析

主要方法


6. 模型评估 (Model Evaluation)

CFAEvaluation & CFASimilarity - 评估与相似度

CFAEvaluation - 模型评估

应用场景:分类模型性能评估、ROC曲线分析

主要方法

CFASimilarity - 相似度计算

应用场景:序列相似度比较、分布一致性检验

主要方法


7. 数据可视化 (Visualization)

CFAVisualize - 通用可视化

应用场景:数据可视化、统计图表

主要方法

CFANetGraph - 网络图可视化

应用场景:关系网络、流程图、时序可视化

主要方法

特性


8. 通用工具 (Common Utilities)

CFACommon - 通用功能

应用场景:数据IO、通用工具

主要方法


典型工作流程

工作流程1:分类任务完整流程

# 步骤1: 生成或加载数据
from FreeAeonML.FASample import CFASample
df_data = CFASample.get_random_classification(
    n_sample=1000,
    n_feature=10,
    n_class=2
)

# 步骤2: 数据探索
from FreeAeonML.FADataEDA import CFADataDistribution, CFACommonStats

# 统计分析
stats = CFACommonStats.get_stats(df_data)
print(stats)

# 分布检验
result = CFADataDistribution.normal_test(df_data['x0'])
print(result)

# 步骤3: 数据预处理
from FreeAeonML.FADataPreprocess import CFADataPreprocess

# 标准化
df_scaled, _ = CFADataPreprocess.get_scale(
    df_data,
    y_column=['y'],
    scale_type='z-score'
)

# 步骤4: 特征选择
from FreeAeonML.FAFeatureSelect import CFAFeatureSelect
import h2o

h2o.init(nthreads=-1, verbose=False)

selector = CFAFeatureSelect()
selector.load(df_scaled, y_column='y')
ig = selector.get_inform_graph("AUTO")

# 步骤5: 数据集划分
df_train, df_test = CFASample.split_dataset(
    df_scaled,
    test_ratio=0.2
)

# 步骤6: 模型训练
from FreeAeonML.FAModelClassify import CFAModelClassify

model = CFAModelClassify()
model.train(df_train, y_column='y', train_ratio=0.85)

# 步骤7: 模型评估
df_evaluate = model.evaluate(df_test, y_column='y')
print(df_evaluate)

# 步骤8: 特征重要性
df_importance = model.importance()
print(df_importance)

工作流程2:时间序列分析

# 步骤1: 加载数据
import pandas as pd
ds_data = pd.Series([...])  # 你的时序数据

# 步骤2: 平稳性检验
from FreeAeonML.FADataEDA import CFADataTest

result = CFADataTest.stationarity_test(ds_data)
print(result)

# 步骤3: 查看ACF/PACF
CFADataTest.show_acf_pacf(ds_data)

# 步骤4: ARIMA建模
from FreeAeonML.FAModelSeries import CFAArima
from FreeAeonML.FASample import CFASample

df_train, df_test = CFASample.split_dataset(
    pd.DataFrame({'y': ds_data}),
    test_ratio=0.2
)

model, order = CFAArima.auto_fit(
    ds_train=df_train['y'],
    ds_test=df_test['y'],
    seasonal_order_range=((1,3), (0,2), (1,3), (1,12))
)

# 步骤5: 预测未来
forecast = CFAArima.forecast(model, num_future_points=10)
print(forecast)

# 步骤6: 可视化
CFAArima.show_result(df_test['y'], model.predict())

工作流程3:聚类分析

# 步骤1: 生成数据
from FreeAeonML.FASample import CFASample

df_data = CFASample.get_random_cluster(n_sample=500)

# 步骤2: 降维可视化
from FreeAeonML.FAFeatureSelect import CFAFeatureSelect

df_pca, df_tsne = CFAFeatureSelect.get_data_pca(
    df_samples=df_data,
    n_components=2,
    label_column='y',
    with_plot=True
)

# 步骤3: 聚类
from FreeAeonML.FAModelCluster import CFAModelCluster

cluster_model = CFAModelCluster(cluster_count=2)
df_result = cluster_model.fit_predict(df_data[['x1', 'x2']])

# 步骤4: 评估
df_perf = cluster_model.evaluate(df_data[['x1', 'x2']])
print(df_perf)

# 步骤5: 获取聚类标签
df_clustered = cluster_model.sample_cluster(
    df_result,
    df_data,
    model_name="KMeans"
)
print(df_clustered)

注意事项

H2O初始化

使用分类/回归/特征选择模块前需要初始化H2O:

import h2o
h2o.init(nthreads=-1, verbose=False)

WSL环境:使用 h2o.connect() 替代 h2o.init()

数据格式

内存管理

模型保存


平台兼容性

模块 Linux macOS (Intel) macOS (ARM) Windows
基础功能
H2O (非XGBoost)
XGBoost

版本信息


相关资源