有自己的网站怎么做淘宝客/百度广告投放代理商

有自己的网站怎么做淘宝客,百度广告投放代理商,营销型网站建设需要有什么功能,瓯北网站制作报价1、必要库的载入 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns2、加载并清洗数据 # 2.1 加载数据 df pd.read_csv(/home/mw/input/survey6263/mcdonalds.csv)# 2.2 数据清洗 # 2.2.1 检查缺失值 print(缺失值情况:) print(df.isn…

1、必要库的载入

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

2、加载并清洗数据

# 2.1 加载数据
df = pd.read_csv('/home/mw/input/survey6263/mcdonalds.csv')# 2.2 数据清洗
# 2.2.1 检查缺失值
print('缺失值情况:')
print(df.isnull().sum())
# 2.2.2 处理异常值(年龄范围在18 - 100岁为合理范围)
df = df[(df['Age'] >= 18) & (df['Age'] <= 100)]# 查看数据集行数和列数
rows, columns = df.shapeif rows < 100 and columns < 20:# 短表数据(行数少于100且列数少于20)查看全量数据信息print('数据全部内容信息:')print(df.to_csv(sep='\t', na_rep='nan'))
else:# 长表数据查看数据前几行信息print('数据前几行内容信息:')print(df.head().to_csv(sep='\t', na_rep='nan'))

在这里插入图片描述

3、可视化设置

# 3.1 设置图片清晰度
plt.rcParams['figure.dpi'] = 300
# 3.2 设置中文字体
plt.rcParams['font.sans-serif'] = ['WenQuanYi Zen Hei']
# 3.3 解决负号显示问题
plt.rcParams['axes.unicode_minus'] = False

4、顾客基础特征分析

4.1 顾客年龄分布和性别分布

import matplotlib.pyplot as plt
import seaborn as sns# 年龄分布
plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
sns.histplot(df['Age'], bins=20, kde=False)
plt.title('Age distribution')# 性别分布
plt.subplot(1, 2, 2)
gender_counts = df['Gender'].value_counts()
sns.barplot(x=gender_counts.index, y=gender_counts.values)
plt.title('Gender distribution')plt.tight_layout()
plt.show()print('顾客年龄分布:')
print(df['Age'].describe())
print('\n顾客性别分布:')
print(df['Gender'].value_counts())

在这里插入图片描述
在这里插入图片描述

4.1.1 年龄分布

4.2 顾客光顾频率与年龄、性别的关系

plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
sns.boxplot(x='VisitFrequency', y='Age', data=df)
plt.title('Frequency VS Age')
plt.xticks(rotation=45)plt.subplot(1, 2, 2)
sns.countplot(x='VisitFrequency', hue='Gender', data=df)
plt.title('Frequency VS Gender')
plt.xticks(rotation=45)plt.tight_layout()
plt.show()print('光顾频率与年龄的关系:')
print(df.groupby('VisitFrequency')['Age'].describe())
print('\n光顾频率与性别的关系:')
print(pd.crosstab(df['VisitFrequency'], df['Gender']))

在这里插入图片描述
在这里插入图片描述

4.2.1 光顾频率与年龄的关系

4.3 顾客对某快餐店各方面评价的分布

# 提取评价列
evaluation_columns = ['yummy', 'convenient', 'spicy', 'fattening', 'greasy', 'fast', 'cheap', 'tasty', 'expensive', 'healthy', 'disgusting']# 创建画布
plt.figure(figsize=(15, 10))# 绘制每个评价的分布柱状图
for i, column in enumerate(evaluation_columns):plt.subplot(3, 4, i + 1)value_counts = df[column].value_counts()sns.barplot(x=value_counts.index, y=value_counts.values)plt.title(f'{column} distribution')plt.tight_layout()
plt.show()# 查看每个评价的分布情况
for column in evaluation_columns:print(f'{column}评价分布:')print(df[column].value_counts())

在这里插入图片描述
在这里插入图片描述

4.4 顾客喜好与各评价之间的相关性

import re# 使用正则表达式提取 Like 列中的数字部分并转换为数值型
df['Like'] = df['Like'].apply(lambda x: int(re.findall(r'\d+', x)[0]))# 将评价列进行编码
for column in evaluation_columns:df[column] = df[column].map({'Yes': 1, 'No': 0})# 计算相关系数矩阵
correlation_matrix = df[evaluation_columns + ['Like']].corr()# 绘制热力图
plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('Customer preferences VS Reviews')
plt.show()print('顾客喜好与各评价之间的相关系数矩阵:')
print(correlation_matrix.round(2))

在这里插入图片描述
在这里插入图片描述

5、顾客口味偏好分析

import matplotlib.pyplot as plt# 统计口味相关特征的分布(选取 spicy, yummy, tasty, greasy 作为口味相关特征)
taste_features = ['spicy', 'yummy', 'tasty', 'greasy']
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
axes = axes.ravel()for i, feature in enumerate(taste_features):value_counts = df[feature].value_counts()axes[i].pie(value_counts, labels=value_counts.index, autopct='%1.1f%%', startangle=90)axes[i].set_title(f'{feature} distribution')plt.tight_layout()
plt.show()# 查看具体比例
for feature in taste_features:print(df[feature].value_counts(normalize=True))

在这里插入图片描述

6、价格敏感性分析

# 统计认为便宜和昂贵的比例
cheap_counts = df['cheap'].value_counts(normalize=True)
expensive_counts = df['expensive'].value_counts(normalize=True)# 绘制柱状图
fig, axes = plt.subplots(1, 2, figsize=(10, 5))axes[0].bar(cheap_counts.index, cheap_counts)
axes[0].set_title('Thinking cheap')
axes[0].set_xlabel('cheap or not')
axes[0].set_ylabel('scale')axes[1].bar(expensive_counts.index, expensive_counts)
axes[1].set_title('Thinking expensive')
axes[1].set_xlabel('expensive or not')
axes[1].set_ylabel('scale')plt.tight_layout()
plt.show()print("认为便宜的比例:")
print(cheap_counts)
print("认为昂贵的比例:")
print(expensive_counts)

在这里插入图片描述

7、消费频率预测

from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score# 对 object 类型数据进行编码
label_encoders = {}
for column in df.columns:if df[column].dtype == 'object':le = LabelEncoder()df[column] = le.fit_transform(df[column])label_encoders[column] = le# 准备特征和目标变量
X = df.drop(['VisitFrequency', 'Index'], axis=1)
y = df['VisitFrequency']# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, classification_report# 定义不同的模型
models = {'Logistic Regression': LogisticRegression(max_iter=1000),'Decision Tree': DecisionTreeClassifier(),'Random Forest': RandomForestClassifier(),'Support Vector Machine': SVC()
}# 训练和评估每个模型
for name, model in models.items():model.fit(X_train, y_train)y_pred = model.predict(X_test)accuracy = accuracy_score(y_test, y_pred)print(f'{name} 准确率: {accuracy:.4f}')print(f'{name} 分类报告:\n', classification_report(y_test, y_pred))print('-' * 50)

在这里插入图片描述

8、顾客画像分类

8.1 确定最佳簇数

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score# 尝试不同的簇数
silhouette_scores = []
for k in range(2, 11):kmeans = KMeans(n_clusters=k, random_state=42)kmeans.fit(X)labels = kmeans.labels_score = silhouette_score(X, labels)silhouette_scores.append((k, score))# 找到最高轮廓系数对应的簇数
best_k, _ = max(silhouette_scores, key=lambda x: x[1])
print(f'最佳簇数: {best_k}')

在这里插入图片描述

8.2 不同簇的特征分析

# 使用最佳簇数进行 KMeans 聚类
kmeans = KMeans(n_clusters=best_k, random_state=42)
df['Cluster'] = kmeans.fit_predict(X)# 分析不同簇的特征(以年龄和喜欢程度为例)
cluster_analysis = df.groupby('Cluster').agg({'Age': 'mean','Like': 'mean'
}).reset_index()print(cluster_analysis)

在这里插入图片描述
从年龄均值来看,簇 0 的顾客相对年轻,平均年龄约为 31 岁,而簇 1 的顾客平均年龄约为 56 岁,两者存在明显的年龄差异。在喜欢程度方面,两个簇的均值都比较高且较为接近,不过簇 1 的喜欢程度均值略高于簇 0,这可能暗示年龄较大的顾客对相关事物的喜欢程度稍高一些,但差异并不是非常显著。

8.3 不同簇的年龄和喜欢程度分布可视化

# 绘制不同簇的年龄和喜欢程度分布
plt.scatter(df['Age'], df['Like'], c=df['Cluster'])
plt.xlabel('Age')
plt.xticks(rotation=45)
plt.ylabel('Liking degree')
plt.title('Age VS liking of different clusters')
plt.show()

在这里插入图片描述

# 若需要完整数据集以及代码请点击以下链接
# https://mbd.pub/o/bread/mbd-aJaUlJpt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/898271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Easysearch 索引生命周期管理实战

如果你的使用场景是对时序型数据进行分析&#xff0c;可能你会更重视最新的数据&#xff0c;并且可能会定期对老旧的数据进行一些处理&#xff0c;比如减少副本数、forcemerge、 删除等。Easysearch 的索引生命周期管理功能&#xff0c;可以自动完成此类索引的管理任务。 创建…

Modbus通信协议基础知识总结

1. 数据类型与存储区分类 Modbus协议将数据分为四类存储区&#xff0c;通过存储区代号区分&#xff1a; 输出线圈&#xff08;0x&#xff09;&#xff1a;可读写&#xff0c;对应二进制开关量&#xff08;如继电器状态&#xff09;&#xff0c;地址范围000001-065536&#xff…

LeetCode 2614.对角线上的质数:遍历(质数判断)

【LetMeFly】2614.对角线上的质数&#xff1a;遍历(质数判断) 力扣题目链接&#xff1a;https://leetcode.cn/problems/prime-in-diagonal/ 给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数&…

linux 安全 xshell 使用

目录和文件 ls -l 查看目录和文件的权限的设置情况 加固方法 对于重要目录&#xff0c;建议执行如下类似操作 Chmod -R 750 /etc/rc.d/init.d/* 这样只有root可以读写和执行这个目录下的脚本 新建了一个用户Q 写入了一些信息 发现在root用户下可以进行文件打开 接下来用普通用…

自动驾驶背后的数学:特征提取中的线性变换与非线性激活

在上一篇博客「自动驾驶背后的数学&#xff1a;从传感器数据到控制指令的函数嵌套」—— 揭秘人工智能中的线性函数、ReLU 与复合函数中&#xff0c;我们初步探讨了自动驾驶技术中从传感器数据到控制指令的函数嵌套流程&#xff0c;其中提到了特征提取模块对传感器数据进行线性…

杨校老师课堂之编程入门与软件安装【图文笔记】

亲爱的同学们&#xff0c;热烈欢迎踏入青少年编程的奇妙世界&#xff01; 我是你们的授课老师杨校 &#xff0c;期待与大家一同开启编程之旅。 1. 轻松叩开编程之门 1.1 程序的定义及生活中的应用 程序是人与计算机沟通的工具。在日常生活中&#xff0c;像手机里的各类 APP、电…

DeepSeek 3FS 与 JuiceFS:架构与特性比较

近期&#xff0c;DeepSeek 开源了其文件系统 Fire-Flyer File System (3FS)&#xff0c;使得文件系统这一有着 70 多年历时的“古老”的技术&#xff0c;又获得了各方的关注。在 AI 业务中&#xff0c;企业需要处理大量的文本、图像、视频等非结构化数据&#xff0c;还需要应对…

Coco AI 智能检索 Hugo Blog 集成指南

在此前的文章中&#xff0c;我们介绍了如何使用 Coco Server 连接 Notion&#xff0c;实现智能内容检索。本次&#xff0c;我们将进一步探索如何在 Coco Server 最新版本 中集成 Hugo Site&#xff0c;以便对 Hugo 站点 进行高效检索。 Coco Server 部署方式 要在本地或服务器…

Mobile-Agent-V:通过视频引导的多智体协作学习移动设备操作

25年2月来自北京交大和阿里巴巴公司的论文“Mobile-Agent-V: Learning Mobile Device Operation Through Video-Guided Multi-Agent Collaboration”。 移动设备使用量的快速增长&#xff0c;迫切需要改进自动化以实现无缝任务管理。然而&#xff0c;因缺乏操作知识&#xff0…

电鱼智能EFISH-RK3576-SBC工控板已适配Android 14系统

EFISH-RK3576-SBC工控板此前已提供了Linux 6.1.57系统&#xff0c;为了满足更多客户的需求&#xff0c;电鱼智能近日又为其成功适配了Android 14系统——硬件性能卓越的核心板与Android 14的深度组合&#xff0c;将为用户带来更加流畅、开放、智能的使用体验。 一、高性能处理器…

正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-5.1 uboot顶层Makefile分析-VSCode工程创建

前言&#xff1a; 本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用&#xff1a; …

无线头戴式摄像头系统:无需标记点摄像头智能捕捉人脸表情

AH-T无线头戴式摄像头系统是一款可以精准捕捉人脸面部细微表情的设备&#xff0c;基于单目无标记点摄像头智能识别算法&#xff0c;无需在脸上粘贴标记点即可实现真人细微脸部表情的精准捕捉&#xff0c;采用头盔&#xff0c;面捕摄像头一体式人性化设计&#xff0c;可以让使用…

Tailwind CSS 中的 spacing 详解

&#x1f50d; Tailwind CSS 中的 spacing 详解 spacing&#xff08;间距&#xff09;是 Tailwind CSS 里的一个核心概念&#xff0c;它主要用于控制 padding&#xff08;内边距&#xff09;、margin&#xff08;外边距&#xff09;、width&#xff08;宽度&#xff09;、heig…

STM32---FreeRTOS内存管理实验

一、简介 1、FreeRTOS内存管理简介 2、FreeRTOS提供的内存管理算法 1、heap_1内存管理算法 2、heap_2内存管理算法 4、heap_4内存管理算法 5、heap_5内存管理算法 二、FreeRTOS内存管理相关API函数介绍 三、 FreeRTOS内存管理实验 1、代码 main.c #include "st…

【VUE】ant design vue实现表格table上下拖拽排序

适合版本&#xff1a;ant design vue 1.7.8 实现效果&#xff1a; 代码&#xff1a; <template><div class"table-container"><a-table:columns"columns":dataSource"tableData":rowKey"record > record.id":row…

Java设计模式建模语言面向对象设计原则

设计模式 设计模式的概念 设计模式最初用于建筑领域的设计中。 软件的设计模式&#xff0c;又称设计模式&#xff0c;是一套被反复使用&#xff0c;多数人知道的&#xff0c;经过分类编目的&#xff0c;代码设计经验的总结。 它描述了在软件设计过程中的一些不断重复发生的…

Docker - 切换源 (Linux / macOS)

文章目录 Linux 系统macOS 系统 Linux 系统 修改配置文件&#xff1a;/etc/docker/daemon.json "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]验证是否修改成功&#xff1a; docker info重启 …

RocketMQ的安装及配置(windows)

1. 环境准备 JDK需要先安装好。 1. RocketMQ是用Java语言写的&#xff0c;所以需要JDK的支持。2. 下载RocketMQ 建议下载这个低版本的 https://rocketmq.apache.org/release-notes/2020/12/21/4.8.0/ 下载之后解压即可&#xff0c;目录结构如下&#xff1a; 3. 配置RocketM…

【运维自动化-标准运维】如何实现一个最简单的流程编排

流程编排是标准运维最核心的功能&#xff0c;通过将不同功能的原子插件在画布上可视化的拖拽编排&#xff0c;可以实现各种不同场景的跨系统工作流。标准运维流程 根据实际运维操作场景梳理出来的操作步骤&#xff0c;通过不同的流转逻辑&#xff08;并行、分支、条件并行&…

性能测试之grafana展示jmeter测试指标与主机监控

性能测试之grafana展示jmeter测试指标与主机监控 背景 ​ 公司新的项目准备开展性能测试,之前性能监控主要使用的jmeter的插件jpgc-Transactions per Second 与 jpgc- Response Times Over Time 与 jpgc - Active Threads Over Time等等插件监控性能指标结果,PerfMon Metrics…