【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,因此如果不提起是否为周末的特征,模型无法充分利用日期信息进行学习。

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

相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
1月前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
61 5
|
25天前
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
72 0
|
28天前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
38 0
|
2月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
95 2
|
2月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
120 1
|
2月前
|
数据采集 机器学习/深度学习 TensorFlow
声纹识别实战:从数据采集到模型训练
【10月更文挑战第16天】声纹识别技术通过分析个人的语音特征来验证其身份,具有无接触、便捷的特点。本文将带你从零开始,一步步完成声纹识别系统的构建,包括数据采集、音频预处理、特征提取、模型训练及评估等关键步骤。我们将使用Python语言和相关的科学计算库来进行实践。
372 0
|
7月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
251 14
|
7月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
130 1
|
7月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)