DataWhale 机器学习夏令营第三期——任务二:可视化分析

这篇具有很好参考价值的文章主要介绍了DataWhale 机器学习夏令营第三期——任务二:可视化分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DataWhale 机器学习夏令营第三期
——用户新增预测挑战赛


学习记录二 (2023.08.23)——可视化分析

2023.08.17
已跑通baseline,换为lightgbm基线,不加任何特征线上得分0.52214
添加baseline特征,线上得分0.78176
暴力衍生特征并微调模型参数,线上得分0.86068
2023.08.23
数据分析、衍生特征:0.87488
衍生特征、模型调参:0.89817

交流分享视频:
【DataWhale“用户新增预测挑战赛”交流分享-哔哩哔哩】 https://b23.tv/zZMLtFG

1.赛题理解

DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能

这次比赛特征主要可以分为以下三个维度:

  • 行为维度:eidudmap
    • udmap的key处理成了类别特征
  • 时间维度:common_ts
    • 进行了时间戳特征的提取:day, hour, minute
  • 用户维度:x1~x8

2. 数据可视化分析

使用以下代码绘制前还需做一些设置,具体可以参考如下链接:
https://www.kaggle.com/code/jcaliz/ps-s03e02-a-complete-eda/notebook
该notebook内提供了丰富的可视化分析代码和思路,值得参考。

绘制代码:

def plot_cate_large(col):
    data_to_plot = (
        all_df.groupby('set')[col]
        .value_counts(True)*100
    )

    fig, ax = plt.subplots(figsize=(10, 6))

    sns.barplot(
        data=data_to_plot.rename('Percent').reset_index(),
        hue='set', x=col, y='Percent', ax=ax,
        orient='v',
        hue_order=['train', 'test']
    )

    x_ticklabels = [x.get_text() for x in ax.get_xticklabels()]

    # Secondary axis to show mean of target
    ax2 = ax.twinx()
    scatter_data = all_df.groupby(col)['target'].mean()
    scatter_data.index = scatter_data.index.astype(str)

    ax2.plot(
        x_ticklabels,
        scatter_data.loc[x_ticklabels],
        linestyle='', marker='.', color=colors[4],
        markersize=15
    )
    ax2.set_ylim([0, 1])

    # Set x-axis tick labels every 5th value
    x_ticks_indices = range(0, len(x_ticklabels), 5)
    ax.set_xticks(x_ticks_indices)
    ax.set_xticklabels(x_ticklabels[::5], rotation=45, ha='right')

    # titles
    ax.set_title(f'{col}')
    ax.set_ylabel('Percent')
    ax.set_xlabel(col)

    # remove axes to show only one at the end
    handles = []
    labels = []
    if ax.get_legend() is not None:
        handles += ax.get_legend().legendHandles
        labels += [x.get_text() for x in ax.get_legend().get_texts()]
    else:
        handles += ax.get_legend_handles_labels()[0]
        labels += ax.get_legend_handles_labels()[1]

    ax.legend().remove()

    plt.legend(handles, labels, loc='upper center', bbox_to_anchor=(0.5, 1.08), fontsize=12)
    plt.tight_layout()
    plt.show()

2.1 用户维度特征分布分析

可视化分析说明:

  1. 研究离散变量['eid', 'x3', 'x4', 'x5‘,'x1', 'x2', 'x6','x7', 'x8'']的分布,蓝色是训练集,黄色是验证集,分布基本一致
  2. 粉色的点是训练集下每个类别每种取值的target的均值,也就是target=1的占比

DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能
该图主要分析类别数较少的离散变量:

  • 训练集和测试集分布比较均匀
  • x1主要集中在 x1=4x2分布比较均匀,x6基本集中在14两个值,x7分布比较均匀,可能是一个关键特征
  • x8可能是性别特征,特征重要性较低
  • udmap_key为提取出的特征,存在缺失值

DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能

  • x3主要集中在41下,占比太大,特征重要性很低

DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能

  • x4中各个类别下target的分布变化较大,可能是一个关键特征
    DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能
  • x5中各个类别同x4,target的分布变化较大,可能是一个关键特征,但特征数量太多在衍生特征时需要注意避免产生稀疏性
    DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能

2.2 时间特征分布分析

主要绘制了common_tsdayhour 的变化情况

DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能文章来源地址https://www.toymoban.com/news/detail-667847.html

  • day的值和用户增长有很大的关系,可以发现在10、14和17新用户有明显的增长
  • 老用户对应也呈现出增长趋势
    DataWhale 机器学习夏令营第三期——任务二:可视化分析,机器学习,信息可视化,人工智能
    绘制了从day=10day=18的新老用户变化情况
  • 新老用户的数量在每天的各个时间段呈现基本相同的趋势
  • 进一步观察原始数据可以发现,三个峰的出现是因为在该三个时间段数据量较其他时间段多
  • 可以进一步绘制出各个时间段人数占全天人数的占比图来进一步分析数据

到了这里,关于DataWhale 机器学习夏令营第三期——任务二:可视化分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DataWhale 机器学习夏令营第二期——AI量化模型预测挑战赛 学习记录

    DataWhale 机器学习夏令营第二期 ——AI量化模型预测挑战赛 已跑通baseline,线上得分 0.51138 , 跑通修改后进阶代码,线上得分 0.34497 按照鱼佬直播分享按照以下常见思路分析机器学习竞赛: 1.1 赛事数据 数据集情况 给定数据集 : 给定训练集(含验证集), 包括10只(不公开)

    2024年02月11日
    浏览(27)
  • DatawhaleAI夏令营第三期机器学习用户新增预测挑战赛baseline新手教程

    本教程会带领大家项目制学习,由浅入深,逐渐进阶。从竞赛通用流程与跑通最简的Baseline,到深入各个竞赛环节,精读Baseline与进阶实践技巧的学习。 千里之行,始于足下,从这里,开启你的 AI 学习之旅吧! —— Datawhale贡献者团队 用户新增预测挑战赛: https://challenge.xf

    2024年02月12日
    浏览(33)
  • Datawhale AI夏令营 - 用户新增预测挑战赛 | 学习笔记

      如果将submit.csv提交到讯飞比赛页面,会有多少的分数? 代码中如何对udmp进行了人工的onehot? 1:0.62710 2:对umap列中的字典元素按键取值,初始为一个九维的向量,将字典中键对应的值覆盖到向量中的对应位置。   字段x1至x8为用户相关的属性,为匿名处理字段。添加代码

    2024年02月10日
    浏览(26)
  • AI夏令营第三期用户新增挑战赛学习笔记

    通过pd库的df.info()方法查看数据框属性,发现只有udmap字段为类别类型,其余皆为数值类型。 相关性热力图颜色越深代表相关性越强,所以x7和x8变量之间的关系更加密切,还有common_ts与x6也是。即存在很强的多重共线性,进行特征工程时可以考虑剔除二者中的一个变量,以免

    2024年02月11日
    浏览(25)
  • 【Datawhale AI 夏令营第二期】AI 量化模型预测挑战赛

    量化金融在国外已经有数十年的历程,而在国内兴起还不到十年。这是一个极具挑战的领域。量化金融结合了数理统计、金融理论、社会学、心理学等多学科的精华,同时特别注重实践。由于市场博弈参与个体的差异性和群体效应的复杂性,量化金融极具挑战与重大的机遇的

    2024年02月14日
    浏览(32)
  • Datawhale-AI夏令营:脑PET图像分析和疾病预测挑战赛baseline解读

    这段代码是一个完整的深度学习模型训练和预测的流程。下面我会逐步解释每个步骤的作用。 首先,这段代码导入了必要的库,包括PyTorch、numpy、pandas等。接着,打印出CUDA版本和是否可用GPU,并将模型部署到GPU上(如果可用)。 接下来是数据预处理的部分。通过glob.glob函数

    2024年02月16日
    浏览(25)
  • AI夏令营笔记——任务2

    任务要求与任务1一样: 从论文标题、摘要作者等信息,判断该论文是否属于医学领域的文献。 可以将任务看作是一个文本二分类任务。机器需要根据对论文摘要等信息的理解,将论文划分为医学领域的文献和非医学领域的文献两个类别之一。 使用预训练的大语言模型进行建

    2024年02月11日
    浏览(23)
  • acm夏令营课后题(持续更新)

                                            米有程序题就懒得写哩           acm夏令营贪心算法选题_李卓航哇哇咔~的博客-CSDN博客  上面这个自己写的不知道为什么错哩,在网上找了下面这个。   这道题写的很顺      (这道题答案来源于网上)  网上答案写的很详细

    2024年02月13日
    浏览(30)
  • 考研保研、夏令营推免的简历模板

      本文介绍在保研夏令营、考研复试等场景中, 个人简历 的制作模板与撰写注意事项。   这里就将当初我自己的简历分享一下,供大家参考。其实我的简历是那种比较简单、质朴的,通篇就一个颜色,没有太多花里胡哨的部分。我个人感觉,对于读研、升学而言,其实

    2024年02月04日
    浏览(28)
  • 北京大学2014计算机学科夏令营上机考试

    暴力必超时  利用栈的思想,利用一个(模仿栈)的数组,遇到男孩则入栈(即加入数组),记录当前位置(更新相对下标、绝对下表); 而遇到女孩,则出栈(男孩相对下标--),输出女孩与男孩的绝对位置。 2014计算机学科夏令营上机考试 B:排队游戏 找规律……#¥%……

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包