当前位置: 首页 > news >正文

合肥网站建设百姓网seo工资多少

合肥网站建设百姓网,seo工资多少,手工活300元一天,国际最新军事新闻🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

 

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

1.项目背景

2.数据集介绍

3.技术工具

4.导入数据

5.数据可视化

源代码


1.项目背景

        在电子商务蓬勃发展的今天,欺诈性交易已成为一个不容忽视的问题。随着消费者对于在线购物的依赖程度不断加深,电子商务市场的规模持续扩大,但与此同时,欺诈行为也日益猖獗。这些欺诈行为不仅损害了消费者的权益,降低了他们对电子商务的信任度,还严重干扰了商家的正常经营秩序,对整个电子商务生态系统造成了巨大的冲击。

        电子商务欺诈行为的多样性和隐蔽性给防范和打击带来了极大的挑战。欺诈者可能采用各种手段,如伪造身份、发布虚假商品信息、恶意刷单、虚假评价等,以达成非法获利的目的。这些欺诈行为往往隐藏在庞大的交易数据中,难以被直接识别和发现,因此,需要借助先进的数据分析技术来揭示其中的规律和特点。

        数据驱动的欺诈防范策略在电子商务领域变得尤为重要。随着大数据和人工智能技术的快速发展,对大量的电子商务交易数据进行深入分析和挖掘成为可能。通过构建欺诈性电子商务交易数据集,并利用可视化分析技术将数据以直观、易懂的方式呈现出来,可以帮助分析人员快速理解数据中的信息,发现潜在的欺诈风险,并据此制定针对性的防范和应对策略。

        可视化分析在欺诈防范中发挥着至关重要的作用。它可以将复杂的数据转化为图表、图像等易于理解的视觉形式,帮助分析人员迅速捕捉数据中的关键信息和异常模式。通过对欺诈性电子商务交易数据集的可视化分析,我们可以更深入地了解欺诈行为的特点和规律,发现欺诈行为的潜在趋势和关联性,为制定更加有效的防范措施提供科学依据。

        因此,研究欺诈性电子商务交易数据集的可视化分析具有重要的理论意义和实践价值。它不仅有助于我们深入理解欺诈行为的本质和规律,还有助于提升电子商务市场的安全性和可信度,保护消费者和商家的合法权益,促进电子商务的健康发展。

2.数据集介绍

        本实验数据集来源于Kaggle,原始数据集分为训练集和测试集,其中训练集共有1472952条数据,16个变量。各变量含义解释如下:

Transaction ID:每个事务的唯一标识符。

Customer ID:每个客户的唯一标识符。

Transaction Amount:交易中交易的总金额。

Transaction Date:交易发生的日期和时间。

Payment Method:用于完成交易的方式(如信用卡、PayPal等)。

Product Category:交易中涉及的产品类别。

Quantity:交易中涉及的产品数量。

Customer Age:进行交易的客户的年龄。

Transaction Date:客户的地理位置。

Device Used:用于进行交易的设备类型(例如,移动设备、桌面设备)。

IP Address:用于交易的设备的IP地址。

Shipping Address:产品发货的地址。

Billing Address :与付款方式相关联的地址。

Is Fraudulent:表示事务是否欺诈性的二进制指示器(1表示欺诈性,0表示合法)。

Account Age Days:客户账户在交易时的存续天数。

Transaction Hour:交易发生的当天的时间。

3.技术工具

Python版本:3.9

代码编辑器:jupyter notebook

4.导入数据

导入数据分析第三方库

导入数据集

查看数据集大小

查看数据基本信息

查看数值型变量的描述性统计

我们可以看到客户年龄最小值是-16,这是不可能的,所以我们必须修复客户年龄列。

查看非数值型变量的描述性统计

统计数据缺失值情况

可以发现数据集中并不存在缺失值 

统计重复值情况

可以发现数据集中并不存在重复值

使用箱线图查看客户年龄分布

定义一个数据预处理函数,并处理我们的数据集

再次查看数据基本信息

数据集已被清理和压缩,其大小从180 MB减少到57MB。

5.数据可视化

交易金额普遍分布在0到1000之间且数据是右偏的。

 

源代码

Transaction ID:每个事务的唯一标识符。
Customer ID:每个客户的唯一标识符。
Transaction Amount:交易中交易的总金额。
Transaction Date:交易发生的日期和时间。
Payment Method:用于完成交易的方式(如信用卡、PayPal等)。
Product Category:交易中涉及的产品类别。
Quantity:交易中涉及的产品数量。
Customer Age:进行交易的客户的年龄。
Transaction Date:客户的地理位置。
Device Used:用于进行交易的设备类型(例如,移动设备、桌面设备)。
IP Address:用于交易的设备的IP地址。
Shipping Address:产品发货的地址。
Billing Address	:与付款方式相关联的地址。
Is Fraudulent:表示事务是否欺诈性的二进制指示器(1表示欺诈性,0表示合法)。
Account Age Days:客户账户在交易时的存续天数。
Transaction Hour:交易发生的当天的时间。
import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
import time
import warnings
warnings.filterwarnings('ignore')train_df = pd.read_csv('Fraudulent_E-Commerce_Transaction_Data.csv')
train_df.head()
train_df.shape
train_df.info()
train_df.describe()
我们可以看到客户年龄最小值是-16,这是不可能的,所以我们必须修复客户年龄列
train_df.describe(include='O')
train_df.isnull().sum()
train_df.duplicated().sum()
px.box(data_frame=train_df,x="Customer Age",width=500,height=300)
def clean_data(df) -> pd.DataFrame: ##我们需要将**Transaction Date**列从对象类型转换为日期时间格式。df["Transaction Date"] = pd.to_datetime(df["Transaction Date"])## 从交易日期提取日、周、月df['Transaction Day'] = df["Transaction Date"].dt.daydf["Transaction DOW"] = df["Transaction Date"].dt.day_of_weekdf["Transaction Month"] = df["Transaction Date"].dt.month## 修复客户年龄mean_value = np.round(df['Customer Age'].mean(),0) df['Customer Age'] = np.where(df['Customer Age'] <= -9, np.abs(df['Customer Age']), df['Customer Age'])df['Customer Age'] = np.where(df['Customer Age'] < 9, mean_value, df['Customer Age'])## 如果“Shipping Address”与“Billing Address”相同,则取值为1,否则取值为0。df["Is Address Match"] = (df["Shipping Address"] == df["Billing Address"]).astype(int)### 删除不相关的特征并向下转换数据类型以减小数据集大小df.drop(columns=["Transaction ID", "Customer ID", "Customer Location","IP Address", "Transaction Date","Shipping Address","Billing Address"], inplace=True)int_col = df.select_dtypes(include="int").columnsfloat_col = df.select_dtypes(include="float").columnsdf[int_col] = df[int_col].apply(pd.to_numeric, downcast='integer')df[float_col] = df[float_col].apply(pd.to_numeric, downcast='float')return dftrain_df = clean_data(train_df)
train_df.head()
train_df.info()
数据集已被清理和压缩,其大小从180 MB减少到57MB。
plt.figure(figsize=(10,4))
sns.histplot(train_df["Transaction Amount"],bins=200)
plt.show()
交易金额普遍分布在0到1000之间
数据是右偏的。
payment_count = train_df["Payment Method"].value_counts()
plt.figure(figsize=(15,4))
plt.subplot(1,2,1)
sns.set_palette('pastel')
colors = sns.color_palette()
plt.pie(payment_count,labels = payment_count.index,shadow=True,autopct='%1.1f%%',colors=colors,wedgeprops=dict(width=0.8,edgecolor="w"))
plt.title("Payment Method")
plt.subplot(1,2,2)
sns.countplot(data=train_df,x="Payment Method",edgecolor="black",linewidth=1, palette="Set2")
plt.show()
我们可以看到所有的付款方式都是平均分配的
category_count = train_df["Product Category"].value_counts()
plt.figure(figsize=(15,4))
plt.subplot(1,2,1)
sns.set_palette('pastel')
colors = sns.color_palette()
plt.pie(category_count,labels = category_count.index,shadow=True,autopct='%1.1f%%',colors=colors,wedgeprops=dict(width=0.8,edgecolor="w"))
plt.title("Product Category")plt.subplot(1,2,2)
ax = sns.countplot(data=train_df,x="Product Category",edgecolor="black",linewidth=1, palette="Set2")
我们可以看到,所有的产品类别也是均匀分布的
quantity_count = train_df["Quantity"].value_counts()
plt.figure(figsize=(15,4))
plt.subplot(1,2,1)
sns.set_palette('pastel')
colors = sns.color_palette()
plt.pie(quantity_count,labels = quantity_count.index,shadow=True,autopct='%1.1f%%',colors=colors,wedgeprops=dict(width=0.8,edgecolor="w"))
plt.title("Quantity")
plt.subplot(1,2,2)
ax = sns.countplot(data=train_df,x="Quantity",edgecolor="black",linewidth=1, palette="Set2")
plt.figure(figsize=(7,4))
sns.histplot(data=train_df, x="Customer Age",bins=150,kde=True,color='orange')
plt.show()
device_count = train_df["Device Used"].value_counts()
plt.figure(figsize=(15,4))
plt.subplot(1,2,1)
sns.set_palette('pastel')
colors = sns.color_palette()
plt.pie(device_count,labels = device_count.index,shadow=True,autopct='%1.1f%%',colors=colors,wedgeprops=dict(width=0.8,edgecolor="w"))
plt.title("Device Used")
plt.subplot(1,2,2)
ax = sns.countplot(data=train_df,x="Device Used",edgecolor="black",linewidth=1, palette="Set2")
hour_count = train_df["Transaction Hour"].value_counts().head(15)
plt.figure(figsize=(10,4))
sns.set_palette('Set2')
colors = sns.color_palette()
ax=sns.barplot(x=hour_count.index, y=hour_count.values,palette=colors)
plt.xticks(rotation=80)
plt.show()
plt.figure(figsize=(5,3))
sns.violinplot(data=train_df, x='Is Fraudulent', y='Transaction Amount')
plt.show()
column = ['Payment Method', 'Product Category', 'Quantity', 'Device Used','Transaction DOW', 'Transaction Month','Is Address Match']
plt.figure(figsize=(10,35))
plot_num = 1
for col in column:plt.subplot(10,2,plot_num)sns.countplot(data=train_df, x=col, hue="Is Fraudulent")plt.xticks(rotation=90)plt.title(col)plt.tight_layout()plot_num += 1
plt.figure(figsize=(10,6))
plt.subplot(1,2,1)
sns.boxenplot(x='Is Fraudulent', y='Transaction Amount', data=train_df)
plt.subplot(1,2,2)
sns.boxenplot(x='Is Fraudulent', y='Transaction Day', data=train_df)
plt.yticks(np.arange(0,32))
plt.show()

资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述

http://www.hkea.cn/news/167455/

相关文章:

  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱
  • wordpress表单录入seo报告
  • python做网站显示表格星巴克seo网络推广
  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo