# 通用ML包
侧重于持征约理, 自动做特征分析, 有针对性的编码, 每在防止做过多重复工作
## 使用方法
1. 安装whl包
<pre>conda create -n gml python=3.6
bash build_whl.sh
cd dist &E pip install general_ml_darkn-*.whl
</pre>
2. 调用特征分析代码示例
<pre>
import pandas as pd
from gml.feature import Analyzer
data_path = "xxx.csv"
df = pd.read_csv(data_path, sep="\t")
# 配置特征生成的方法和参数
GEN_FEAT_CONFIG = [
{
"name": "CrossFeatures",
"params": {}
},
{
"name": "KFoldPred",
"params": {
"model_type": "lgb",
"k": 5
}
}
]
# 配置特征过滤的方选和参数
SCREEN_FEAT_CONFIG = [
{
"name": "correlation",
"params": {
"method": "pearson",
"thres": 0.9
}
},
{
"name": "null_importance",
"params": {
"model_type": "lgb",
"num_models": 100,
"save_fig_path": "./null_importance.png"
}
}
]
final_feat, useless_feats_dict, encoder2feat = Analyzer(
GEN_FEAT_CONFIG,
SCREEN_FEAT_CONFIG).start(df, dense_feat_names,
sparse_feat_names, label,
'reg',
'xgb'
)
</pre>
3. 调用训练及评估代码示例
<pre>
from gml.feature.encoders import * # 导入编码器
from gml.models import XGBoost # 导入模型
import pandas as pd
from gml.feature.mapping.common_mapping import get_box_plot
from gml.evaluation import evaluation, pred_actual
from gml.feature import distribution_kde
from sklearn.model_selection import train_test_split
data_path = "xxx.csv"
df = pd.read_csv(data_path, sep="\t")
dense_feat_names = ["height", "weight", ...]
sparse_feat_names = ["gender", ...]
# 利用箱线图去除标签异常样本
mask = get_box_plot(df[['gmv_label']])[0]
df = df[mask]
train, test = train_test_split(df, test_size=0.3)
# 编码器配置参数
encoder2feats = {
BaseEncoder: dense_feat_names, # 选择注续特征处方法
OneHotEncoder: sparse_feat_names # 选择高就特征处重方法
}
encoder = SuperSetEncoder(encoder2feats)
encoder.fit(train)
train_x = encoder.transform(train)
train_y = train[label]
test_x = encoder.transform(test)
test_y = test[label]
model = XGBoost(params, encoder.get_feat_names())
model.fit(train_x, train_y, val_x=test_x, val_y=test_y)
# 保存模型和编码器
model.save(f"checkponts/xgb.model")
encoder.save(f"checkponts/bo.encoder")
# 何线
# 基级何格
metrics = ["rmse"]
result = evaluation(test_x, test_y, model, metrics)
for name, score in result.items():
print(name, score)
# 预测和标适的脸势
res = pred_actual(model.predict(test_x), test_y)
# 预测和标签的分布差录
distribution_kde(
pd.DataFrame(model.predict(test_x), columns=['score']),
compare_names=['pred', 'true']
)
# 回归uplift
res, kendall_res = delta_pred_actual(test, treatments, control, encoder, model, label, 2)
# 分类uplift
get_auuc(train, treaments, control, encoder, model, label)
# 重要特性
for name, score in model.get_feature_importances():
print(name, score)
</pre>
## 目录结体
目录
1. 特征工程
- 特性筛选
- 过滤法
- [x] psi
- [x] pearson等相关性方法
- [x] topk选择
- [x] KDE图
- [x] 直方图
- [x] Q-Q图
- 包裹法
- [x] null importance
- 特征生成
- [x] 多项式交叉特征
- [x] k折模型stacking征
- [x] 离散交叉特征
- 特框映射
- 归一化方法
- [x] min-max
- [x] std
- 类线特征高政化方法
- [x] kmeans
- [x] 等频/距分箱法
- 其他方法
- [x] log变换
- [x] 箱线图异常检测
- 特征编码器
- 连续特征编码器
- [x] 连续值离散化
- [x] 等频/距离散化
- [x] 聚类离散化
- [x] Cox-Box变换
- [x] 归一化编码
- 离散特征编码器
- [x] one-hot编码
- [x] label编码
2. 模型调优
- 模型开发
- tree类模型
- [x] xgboost
- [x] lightgbm
- dnn类模型
- 损失函数
3.模型评估
- [x] auuc标
- [x] ml通用操标
- [x] pred-actual
4. 其他
- [x] 降低数据精度压缩数据
没有合适的资源?快使用搜索试试~ 我知道了~
机器学习通用框架,旨在特征工程.zip
共41个文件
py:38个
sh:1个
md:1个
需积分: 5 0 下载量 68 浏览量
2024-04-16
22:46:56
上传
评论
收藏 47KB ZIP 举报
温馨提示
众所周知,人工智能是当前最热门的话题之一, 计算机技术与互联网技术的快速发展更是将对人工智能的研究推向一个新的高潮。 人工智能是研究模拟和扩展人类智能的理论与方法及其应用的一门新兴技术科学。 作为人工智能核心研究领域之一的机器学习, 其研究动机是为了使计算机系统具有人的学习能力以实现人工智能。 那么, 什么是机器学习呢? 机器学习 (Machine Learning) 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。 机器学习的用途 机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析、DNA 序列预测、蛋白质结构预测等 自动化领域----人脸识别、无人驾驶技术、图像处理、信号处理等 金融领域----证券市场分析、信用卡欺诈检测等 医学领域----疾病鉴别/诊断、流行病爆发预测等 刑侦领域----潜在犯罪识别与预测、模拟人工智能侦探等 新闻领域----新闻推荐系统等 游戏领域----游戏战略规划等 从上述所列举的应用可知,机器学习正在成为各行各业都会经常使用到的分析工具,尤其是在各领域数据量爆炸的今天,各行业都希望通过数据处理与分析手段,得到数据中有价值的信息,以便明确客户的需求和指引企业的发展。
资源推荐
资源详情
资源评论
收起资源包目录
机器学习通用框架,旨在特征工程.zip (41个子文件)
content
setup.py 2KB
LICENSE 0B
build_whl.sh 367B
gml
feature
__init__.py 347B
encoders
__init__.py 267B
dense_encoder.py 8KB
base_encoder.py 2KB
miss_value_encoder.py 658B
sparse_encoder.py 2KB
super_encoder.py 2KB
feature_analyzer.py 13KB
mapping
__init__.py 167B
normalization.py 931B
common_mapping.py 5KB
discretization.py 4KB
generation
__init__.py 121B
model_gen.py 4KB
polynomial.py 5KB
screening
__init__.py 60B
feature_wrapper
__init__.py 44B
null_importance.py 5KB
feature_filter
__init__.py 179B
cross.py 5KB
single.py 10KB
__init__.py 13B
utils
__init__.py 70B
reduce_memory.py 2KB
logger.py 2KB
models
__init__.py 36B
loss
__init__.py 0B
base_model.py 1KB
clusters
__init__.py 49B
kmeans.py 5KB
trees
__init__.py 60B
xgboost.py 5KB
lightgbm.py 6KB
dnn
__init__.py 0B
evaluation
__init__.py 110B
general.py 4KB
uplift.py 8KB
README.md 4KB
共 41 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3797
- 资源: 4426
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功