阿里天池金融数据分析赛题2:保险反欺诈预测baseline

这篇具有很好参考价值的文章主要介绍了阿里天池金融数据分析赛题2:保险反欺诈预测baseline。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

金融数据分析赛题2:保险反欺诈预测baseline

好久没写baseline了,最近逛比赛的时候突然看到阿里新人赛又出新题目了,索性写个baseline给初学者,昨天晚上把比赛数据下载了,然后随便跑了个模型,AUC就达到了0.95,排在了第二名,下图是我排名的截图,所以题目还是比较简单的,适合初学者入手。
阿里天池金融数据分析赛题2:保险反欺诈预测baseline,机器学习,数据挖掘,Python,数据分析,金融,python
比赛地址:https://tianchi.aliyun.com/competition/entrance/531994/introduction?spm=5176.12281973.1005.21.3dd52448vSKXI0

我比较喜欢做开源,因为分享也是一种快乐,如果大家对baseline代码有任何疑问,都可以提出来,我会详细解答的,也欢迎大家关注,有任何问题我都会解答!

话不多说,直接上代码吧!

baseline代码如下:

import pandas as pd
import datetime
import warnings
warnings.filterwarnings('ignore')
from sklearn.model_selection import StratifiedKFold
#warnings.filterwarnings('ignore')
#%matplotlib inline
from sklearn.metrics import roc_auc_score
## 数据降维处理的
from sklearn.model_selection import train_test_split  
from catboost import CatBoostClassifier
from sklearn.preprocessing import LabelEncoder
train=pd.read_csv("E:/金融2/train.csv")
test=pd.read_csv("E:/金融2/test.csv")
sub=pd.read_csv("E:/金融2/submission.csv")
data=pd.concat([train,test])
data['incident_date'] = pd.to_datetime(data['incident_date'],format='%Y-%m-%d')
startdate = datetime.datetime.strptime('2022-06-30', '%Y-%m-%d')
data['time'] = data['incident_date'].apply(lambda x: startdate-x).dt.days
#Encoder
numerical_fea = list(data.select_dtypes(include=['object']).columns)
division_le = LabelEncoder()
for fea in numerical_fea:
    division_le.fit(data[fea].values)
    data[fea] = division_le.transform(data[fea].values) 
print("数据预处理完成!")
testA=data[data['fraud'].isnull()].drop(['policy_id','incident_date','fraud'],axis=1)
trainA=data[data['fraud'].notnull()]
data_x=trainA.drop(['policy_id','incident_date','fraud'],axis=1)
data_y=train[['fraud']].copy()
col=['policy_state','insured_sex','insured_education_level','incident_type','collision_type','incident_severity','authorities_contacted','incident_state',
     'incident_city','police_report_available','auto_make','auto_model']
for i in data_x.columns:
    if i in col:
        data_x[i] = data_x[i].astype('str')
for i in testA.columns:
    if i in col:
        testA[i] = testA[i].astype('str')       
model=CatBoostClassifier(
            loss_function="Logloss",
            eval_metric="AUC",
            task_type="CPU",
            learning_rate=0.1,
            iterations=10000,
            random_seed=2020,
            od_type="Iter",
            depth=7,
            early_stopping_rounds=300)
answers = []
mean_score = 0
n_folds = 10
sk = StratifiedKFold(n_splits=n_folds, shuffle=True, random_state=2019)
for train, test in sk.split(data_x, data_y):
    x_train = data_x.iloc[train]
    y_train = data_y.iloc[train]
    x_test = data_x.iloc[test]
    y_test = data_y.iloc[test]
    clf = model.fit(x_train,y_train, eval_set=(x_test,y_test),verbose=500,cat_features=col)
    yy_pred_valid=clf.predict(x_test)
    print('cat验证的auc:{}'.format(roc_auc_score(y_test, yy_pred_valid)))
    mean_score += roc_auc_score(y_test, yy_pred_valid) / n_folds
    y_pred_valid = clf.predict(testA,prediction_type='Probability')[:,-1]
    answers.append(y_pred_valid)
print('10折平均Auc:{}'.format(mean_score))
lgb_pre=sum(answers)/n_folds
sub['fraud']=lgb_pre
sub.to_csv('金融2预测.csv',index=False) 

以上就是baseline的全部代码,线上提交分数是0.9463排名显示0.95,非常简单,因为数据量也不大,训练也非常快,就做了简单的编码操作和时间戳特征,没有进行其他复杂操作,所以提升的空间还非常大,大家可以做更加复杂的特征工程,也可以深层次地研究数据业务逻辑构建有效特征,或者模型融合,这些都可以提升分数。

写在最后

本人才疏学浅,如果有写得不对或者理解错误的地方欢迎评论指正,有任何问题也可以提问,我都会一一解答!文章来源地址https://www.toymoban.com/news/detail-592996.html

到了这里,关于阿里天池金融数据分析赛题2:保险反欺诈预测baseline的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 天池赛:淘宝用户购物行为数据可视化分析

    目录 前言 一、赛题介绍 二、数据清洗、特征构建、特征可视化 1.数据缺失值及重复值处理 2.日期分离,PV及UV构建 3.PV及UV可视化 4.用户行为可视化 4.1 各个行为的面积图(以UV为例) 4.2 各个行为的热力图 5.转化率可视化 三、RFM模型 1.构建R、F、M 2.RFM的数据统计分布 3.计算

    2024年01月22日
    浏览(34)
  • 【TIANCHI】天池大数据竞赛(学习赛)--- 淘宝用户购物行为数据可视化分析

    目录 前言 一、数据集的来源和各个字段的意义 二、数据分析 1.引入库 2.读入数据 3.查看数据数量级 4.PV(Page View)/UV访问量 5.漏斗模型 6.用户购买商品的频次分析。 7.ARPPU(average revenue per paying user)  计算 ARPPU  ARPPU出图 8.复购情况分析 计算用户购买频次 复购周期分析 总结

    2024年02月09日
    浏览(30)
  • 阿里天池竞赛 - CCKS2023-面向金融领域的主体事件检测

    主体事件检测 是语言文本分析和金融领域智能应用的重要任务之一,如在金融风控领域往往会对公司主体进行 风险事件的检测 。基于 句子粒度的上下文 进行公司事件检测,事件包含 事件类型 和 主体要素(即公司主体 ),句中可能存在多个事件,多个公司主体且每个公司

    2024年02月09日
    浏览(31)
  • python数据分析及可视化(十六)金融量化(金融工具、金融分析、Tushare安装使用、双均线分析)

    金融就是对现有资源进行重新整合之后,实现价值和利润的等效流通。 比如小明想把手里的资金投资给小李,而小李有好的增值项目但是缺少资金,如果小李的项目创业成功,小明的资金就会增长。 在金融市场中可交易的金融资产,主要分为股票、期货、黄金、外汇、基金

    2024年02月10日
    浏览(57)
  • AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀

    目录 引言 1. Python在股票市场分析中的应用 2. 投资组合优化 3. 风险管理与预测 时间序列分析 机器学习在风险预测中的应用 大数据分析与风险建模 总结 ⭐️ 好书推荐 【内容简介】 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。

    2024年02月03日
    浏览(39)
  • Python 金融大数据分析

    python是一种高级的多用途编程语言,广泛用于各种非技术和技术领域。 python是一种具备动态语义、面向对象的解释型高级编程语言。它的高级内建数据结构与动态类型及动态绑定相结合,使其在快速应用开发上极具吸引力,也适合作为脚本或者“粘合”语言,将现有组件连接

    2024年02月07日
    浏览(29)
  • 大数据的金融数据读取及分析(一)

    由于考虑商业数据问题,我们用开源数据做演示 一.tushare开源数据 Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,在数据获取方面极大地

    2024年02月10日
    浏览(29)
  • 大数据的金融数据读取及分析(二)

    一、注册和获取token 参考大数据的金融数据读取及分析(一)大数据的金融数据读取及分析(-)_石工记的博客-CSDN博客 二、获取股市信息 需注意的是,利用tushare接口获取部分信息时对积分有不同的要求,积分不足会造成访问权限受限的情况 ps:高校学生可联系站方申请访问

    2024年02月12日
    浏览(29)
  • AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀【文末送书-38】

    在当今数字化和信息化的时代,金融行业正处于巨大的变革之中。随着人工智能(AI)和大数据技术的迅猛发展,金融机构对于数据的处理和分析变得愈发重要。Python作为一种强大的编程语言,以其简洁、灵活、易学的特点,成为了金融数据分析的首选工具之一。而结合AI技术

    2024年03月16日
    浏览(43)
  • 使用Yfinance和Plotly分析金融数据

    大家好,今天我们用Python分析金融数据,使用Yfinance和Plotly绘制图表,带你了解在Python中使用Plotly制作图表,利用Plotly强大的图表功能来分析和可视化金融数据。 导语 在本文中,我们将深入研究Plotly,从而高效绘制和分析金融数据。我们将探讨Plotly基础的图表功能,以及如何

    2024年02月13日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包