通过Ti-One机器学习平台玩转2020腾讯广告算法大赛:数据预处理(三)

简介: 通过Ti-One机器学习平台玩转2020腾讯广告算法大赛:数据预处理(三)

简单分析

已经有了pandas的dataframe,下面就可以对数据进行简单的分析了

比如:

click_all.info()

image.png

查看各列的唯一数总数

for col in click_all.columns:

   print(col,click_all[col].nunique())

image.png

各列的汇总

click_all.describe()

image.png

看到统计信息里面不包含product_id 和industry,说明里面可能有字符串信息,肉眼观察发现里面有一些数据被标记为\N,我这里处理的方式比较简单粗暴,就是使用0进行替换

click_all["product_id"]=click_all['product_id'].apply(lambda x : 0 if x == '\\N' else x)

click_all["industry"]=click_all['industry'].apply(lambda x : 0 if x == '\\N' else x)

替换完成后再整理一下数据类型

click_all["product_id"]=click_all["product_id"].astype(np.int32)

click_all["industry"]=click_all["industry"].astype(np.int32)

click_all = reduce_mem_usage(click_all)

click_all.info()

image.png

这样就可以了,虽然还有特征工程要做,但是这样的数据已经达到了输入到模型中进行训练的最基本的要求了。

pandas还有一个强大的功能就是可以建立直方图帮我们观察数据的分布

cols=["creative_id", "click_times", "ad_id",

                   "product_id", "advertiser_id", "industry", ]

for col in cols:

   if col=="type":

       continue

   click_all.hist(col)

这条语句会显示所有列的直方图,我们以一个为例:

image.png

点击次数中我们看到大部分数据都分布在25以内,但是他的最大值是185。

我们继续使用箱型图印证对于click_times的观点,使用箱型图可以查看

click_all.boxplot("click_times",vert=False, grid = True)

image.png

看到这个图对数据分析有过理解的小伙伴一定就知道了,我们可以看一下

# 上四分位数

cl=click_all["click_times"]

q3 = cl.quantile(q=0.75)

#下四分位数

q1 = cl.quantile(q=0.25)

print(q3,q1)

image.png

上四分位数和下四分位数都是1,我们根本就不需要查看异常值了,这就说明都会被算作异常值

#可以试试这个代码,看看怎么判断

cl01 = cl[(cl>q3+1.5*iqr) | (cl<q1-1.5*iqr)]

看看这些值到底是什么样的

click_all[click_all["click_times"]>100]

image.png

大于100的click大部分都是test数据集的,这里肯定是一个坑。

这里我们指定了click_times,如果不指定pandas会绘制所有列的箱型图,但是由于数据级数不一样,所以合并看意义不大。

最后我们来看一下对于每个用户,每天都有多少次点击:

user=click_all.groupby(["time","user_id"])['click_times'].count().reset_index(name="count")

user[user["count"]>2000]

还有每天点击大于2000的用户

image.png

user.boxplot("count",vert=False, grid = True)

image.png

# 上四分位数

cl=user["count"]

q3 = cl.quantile(q=0.75)

#下四分位数

q1 = cl.quantile(q=0.25)

print(q3,q1)

iqr = q3-q1

print("上四分位数:{}\n下四分位数:{}\n四分位差{}".format(q3,q1,iqr))

cl01 = cl[(cl>q3+1.5*iqr) | (cl<q1-1.5*iqr)]

print("异常值:\n{}".format(cl))

异常值我们先不管,这里能明显的看出,肯定有一部分数据是垃圾数据,或者说一部分用户是干扰用户,可以再深入研究下将其删除

image.png

本篇文章就先讲这么多吧,最后祝大家比赛取得好成绩

目录
相关文章
|
3月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
10月前
|
人工智能 算法 新能源
琶洲算法大赛首场高校巡回赛中山大学站圆满收官
近日,琶洲算法大赛高校巡回赛全国首站在中山大学珠海校区圆满收官。琶洲算法大赛定位为国际性算法领域权威赛事,旨在推动人工智能技术创新与产业融合‌,举办三届以来,琶洲已经评选出41位琶洲领军算法师,落地人才团队170个,极大程度扩充丰富了本地算法人才数量和层级。
121 2
|
4月前
|
数据采集 算法
TsingtaoAI摘得长三角算力算法创新大赛冠军
在2025年长三角(芜湖)算力算法创新应用大赛的颁奖典礼上,TsingtaoAI团队凭借“通用具身智能PoC实验底座研发及产业化”项目,摘得数据赛道冠军。这一赛事于9月23日在芜湖市隆重举行,由芜湖市人民政府主办,芜湖市数据资源管理局、市委人才局和市科技局承办。
129 0
|
8月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
543 8
|
7月前
|
机器学习/深度学习 人工智能 算法
巅峰对决,超三十万奖金等你挑战!第十届信也科技杯全球AI算法大赛火热开赛!
巅峰对决,超三十万奖金等你挑战!第十届信也科技杯全球AI算法大赛火热开赛!
181 0
|
10月前
|
人工智能 算法 语音技术
Video-T1:视频生成实时手术刀!清华腾讯「帧树算法」终结闪烁抖动
清华大学与腾讯联合推出的Video-T1技术,通过测试时扩展(TTS)和Tree-of-Frames方法,显著提升视频生成的连贯性与文本匹配度,为影视制作、游戏开发等领域带来突破性解决方案。
363 4
Video-T1:视频生成实时手术刀!清华腾讯「帧树算法」终结闪烁抖动
|
9月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
382 6
|
11月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。