【Python机器学习】使用决策树模型预测消费者未来消费行为实战(附源码和数据集 超详细)

简介: 【Python机器学习】使用决策树模型预测消费者未来消费行为实战(附源码和数据集 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~

一个预测未来消费行为的示例,即已经采集了过去消费行为的信息,并用来建立一个模型以对未来的消费行为进行预测。该示例简要演示了数据预处理、提取特征、选择模型、训练模型、评估模型、应用等阶段,供读者初步了解机器学习的应用流程。

过去的消费行为信息包括消费者进店的年月日,性别(1男 0女)和是否消费(1消费 0没消费)共五项 部分数据如下

1:切分训练集和测试集

代码如下

# 将训练数据切分为训练集和验证集
train_set = [] # 训练集
train_labels = [] # 训练集的标签
valid_set = [] # 验证集
valid_labels = [] # 验证集的标签
for i in range(len(train_data)):
    if i < 20: # 将训练数据的前20条作为训练集,后10条作为验证集
        train_set.append( train_data[i][:4])
        train_labels.append(train_data[i][4])
    else:
        valid_set.append( train_data[i][:4])
        valid_labels.append(train_data[i][4])

2:直接用原始数据训练模型

不提取特征,直接用原始数据来训练模型 代码如下

from sklearn import tree # 导入决策树库
clf = tree.DecisionTreeClassifier() # 创建一个分类决策树对象
clf = clf.fit(train_set, train_labels) # 训练模型
print(valid_labels)
print(clf.predict(valid_set)) # 用训练好的模型来预测验证集,验证误差率为0.5

输出结果如下,可见有五个预测错误 验证误差率位0.5,基本属于瞎猜,没有实际效果

按一般的常识,消费者可能在周末的消费意愿要高一点,因此可以提取出是否周末的特征来训练模型

3:提取周末特征训练模型

定义一个判断是否为周末的函数

import datetime # 导入datetime模块,该模块用来处理与日期和时间有关的计算
# 定义一个判断是否为周末的函数
def isweekend( date ): 
    theday = datetime.date( date[0], date[1], date[2] ) # 创建一个date对象
    if theday.isoweekday() in { 6, 7 }: # 如果date是周末则返回1,否则返回0
        return 1
    else:
        return 0
isweekend([2020, 11, 15])

预测结果如下

可见误差率在0.2左右,比之前用原始数据的准确率提高不少

由上面可知,如果提取了是否为周末的特征,那么预测成功率将会大大提高,实际上,对训练数据的统计显示,男性每进一次店由消费行为的概率为0.75,不分周末还是平时,而女性在周末进店有消费行为的概率为0.66,非周末进店有消费行为的概率为0.34,因此如果不提起是否为周末的特征,模型无法充分利用日期信息进行学习。

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
4天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
22 4
|
11天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
51 5
|
2天前
|
机器学习/深度学习 数据采集 安全
使用Python实现智能食品物流管理的深度学习模型
使用Python实现智能食品物流管理的深度学习模型
17 5
|
8天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品价格预测的深度学习模型
使用Python实现智能食品价格预测的深度学习模型
34 6
|
6天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的线性回归模型
本文深入探讨了机器学习中广泛使用的线性回归模型,从其基本概念和数学原理出发,逐步引导读者理解模型的构建、训练及评估过程。通过实例分析与代码演示,本文旨在为初学者提供一个清晰的学习路径,帮助他们在实践中更好地应用线性回归模型解决实际问题。
|
9天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品推荐系统的深度学习模型
使用Python实现智能食品推荐系统的深度学习模型
31 2
|
10天前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
23 0
|
10天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品广告投放优化的深度学习模型
使用Python实现智能食品广告投放优化的深度学习模型
33 0
|
5天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
11天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。

热门文章

最新文章

下一篇
无影云桌面