Toad 0.10 vs Toad 0.13: 详细对比与补充
Toad 是一个用于机器学习建模、预处理和特征工程的 Python 库。以下是 Toad 库版本 0.10 和 0.13 之间的主要区别,包括详细的变化、参数、方法和示例。
Toad 0.10
初始功能:
- 基础功能: 版本 0.10 包含数据预处理、特征选择和模型评估的基础功能。
- 特征选择: 提供了消除多重共线性和不相关特征的基本方法。
- 预处理: 支持初步的预处理任务,如处理缺失值、编码分类变量和数值特征的缩放。
- 建模: 主要集中在逻辑回归和决策树的模型构建和评估。
- 文档和示例: 包含帮助用户入门的初期文档和示例。
示例:
import toad
import pandas as pd
# 加载数据
data = pd.read_csv('data.csv')
# 预处理:处理缺失值
data = toad.fillna(data)
# 特征选择:移除高相关性特征
selected_features = toad.selection.select(data, target='target', corr=0.9)
# 模型构建:逻辑回归
model = toad.models.LogisticRegression()
model.fit(data[selected_features], data['target'])
# 模型评估
score = model.score(data[selected_features], data['target'])
print(f'模型评分: {score}')
Toad 0.13
增强的特征选择:
- 改进的方法: 使用更高级的算法和标准来选择最相关的特征,例如信息值 (IV) 和相关性阈值。
高级预处理:
- 强大的技术: 提供了更强大的方法来处理缺失值、检测异常值和编码分类变量。
新算法:
- 扩展的模型: 引入了新的算法和模型,如 XGBoost 和 LightGBM,超越了版本 0.10 提供的初始集合。
性能改进:
- 优化: 提高现有功能的效率和可扩展性,减少处理时间并改善性能。
附加工具:
- 实用函数: 新增了用于数据分析和模型评估的实用函数,简化用户的工作流程并提供更全面的工具。
改进的文档:
- 全面指南: 提供了更详细的文档和更多的示例和用例,帮助用户更好地理解如何利用库的功能。
错误修复和稳定性:
- 增强可靠性: 进行了大量的错误修复和增强,提高了库的稳定性和可靠性。
示例:
import toad
from toad.transform import MinMaxScaler
from toad.selection import select
import pandas as pd
# 加载数据
data = pd.read_csv('data.csv')
# 预处理:处理缺失值
data = toad.fillna(data, strategy='mean')
# 数值特征缩放
scaler = MinMaxScaler()
data_scaled = scaler.fit_transform(data)
# 特征选择:高级标准
selected_features = select(data_scaled, target='target', empty=0.9, iv=0.02, corr=0.9)
# 模型构建:新算法(例如,XGBoost)
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(data_scaled[selected_features], data_scaled['target'])
# 模型评估
from sklearn.metrics import accuracy_score
predictions = model.predict(data_scaled[selected_features])
accuracy = accuracy_score(data_scaled['target'], predictions)
print(f'模型准确率: {accuracy}')
Toad 0.10 vs Toad 0.13: 详细对比
Toad 是一个用于机器学习建模、预处理和特征工程的 Python 库。以下是 Toad 库版本 0.10 和 0.13 之间的主要区别,包括详细的变化、参数、方法和示例。
特征选择
Toad 0.10:
- 基本的特征选择方法,主要基于相关性阈值。
- 示例:
import toad selected_features = toad.selection.select(data, target='target', corr=0.9)
Toad 0.13:
- 增强的特征选择方法,增加了空值比例和信息值 (IV) 的阈值选项。
- 示例:
from toad.selection import select selected_features = select(data, target='target', empty=0.9, iv=0.02, corr=0.9)
预处理
缺失值填补:
-
Toad 0.10:
- 基本的缺失值填补,默认使用最常见的方法。
- 示例:
import toad data = toad.fillna(data)
-
Toad 0.13:
- 提供多种策略的高级缺失值填补,包括均值、中位数、众数等。
- 示例:
import toad data = toad.fillna(data, strategy='mean')
数值特征缩放:
-
Toad 0.10:
- 基本的数值特征缩放,支持标准缩放方法。
- 示例:
scaler = toad.transform.MinMaxScaler() data_scaled = scaler.fit_transform(data)
-
Toad 0.13:
- 提供更多选项的改进缩放方法。
- 示例:
from toad.transform import MinMaxScaler scaler = MinMaxScaler() data_scaled = scaler.fit_transform(data)
模型构建
Toad 0.10:
- 支持基本的逻辑回归和决策树模型。
- 示例:
import toad model = toad.models.LogisticRegression() model.fit(data[selected_features], data['target']) score = model.score(data[selected_features], data['target'])
Toad 0.13:
- 引入了更多模型,如 XGBoost 和 LightGBM,提供更强的建模能力。
- 示例:
from xgboost import XGBClassifier model = XGBClassifier() model.fit(data_scaled[selected_features], data_scaled['target'])
新增功能与优化
分箱功能:
-
Toad 0.10:
- 不支持自动分箱和 WOE 转换。
-
Toad 0.13:
- 新增分箱工具,如
toad.transform.WOETransformer
,用于将连续变量转换为分箱变量,并计算每个箱的 WOE(Weight of Evidence)值。 - 示例:
from toad.transform import WOETransformer transformer = WOETransformer() data_binned = transformer.fit_transform(data, target='target')
- 新增分箱工具,如
特征工程:
-
Toad 0.10:
- 提供基本的特征选择和预处理功能,但缺少高级特征工程工具。
-
Toad 0.13:
- 新增特征交互和生成工具,如自动生成多项式特征和特征组合。
- 示例:
from toad.feature_engineering import FeatureCombiner combiner = FeatureCombiner() data_combined = combiner.fit_transform(data)