Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享

简介: Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享


随着信息技术的飞速发展,众筹作为一个互联网金融的子领域已经成为个人和小企业主筹集资金支持梦想的创新渠道点击文末“阅读原文”获取完整代码数据

相关视频

image.png

无论对于众筹发起者还是众筹平台而言,如何利用历史数据去准确预测一个众筹项目的成功与否乃至最终筹款额度都是非常值得探讨研究的问题。

解决方案

任务/目标

根据历史数据,帮助客户分析众筹项目成功规律,预测每个项目的筹款额度。

数据源准备

从Kickstarter平台上爬取了众筹项目数据查看文末了解数据免费获取方式,其中包含了众筹项目名称、链接、描述、支持者数量和许多其他特征。随后进行了数据清洗。主要处理了各种爬虫过程中产生的缺失值。

7e10b0548698f45e10c846faf5fc9c78.png

print(df_2018.shape)
print(df_2016.shape)

e1d2089cbee6406bb03c2d119dbb7936.png

特征转换

项目名称字段二分为离散型变量(已知/未知);项目描述抽象成项目描述字数。额外加入可计算属性平均每参与者贡献额。

df.country = df.country.'N,0"', value='NO')
ummies(df.drop(labels=['name', 'launched', 'deadlin
df_encoded['avbacking'] = (df_encoded['usd_pledgal']/(df_encoded['backers']+1))

构造

划分训练集和测试集

考虑到筹款项目与时间关系不大,使用最普遍的不放回抽样方法划分训练集与测试集,比例为4:1。

数据分析

我想从了解Kickstarter项目的基础数据开始,这包括项目发起地、主要类别、持续时间、目标等内容。

percent_plot((df.countcounts()/df.s


cab170d751912916ac7370ce8ebc0c8f.png

0e8a8842d5cf5945305d9aac1f5b62a9.png

4ab26c581b65c2cf455483ed35ef48bd.png

4ab26c581b65c2cf455483ed35ef48bd.png


bf6afaa19700deff64e09d962be7f27a.png


描述性统计

从描述性统计中我们能学到什么?成功与什么有关?我们必须记住,相关性并不等于因果关系。

050331bbf21af04402d090f8ceb86472.png


机器学习分类模型

我们来看看是否能够准确地预测哪些项目会成功,哪些项目不会成功。我们将使用随机森林分类器,因为这种集成学习方法通常相当强大,并且不是基于距离的(所以我们不需要进一步标准化特征,如项目持续时间、实际筹集资金或实际目标金额)。

R_moel(42, X_train, X_test, y_train, y_test)


c4a691bad11f9dbefeab70ae9d349315.png

e080f48aabc0a63c22e4d3a2352ad565.png

print_iprtant_fe='columns'))
usd_gol_real
duration
main_category_Music

结论

根据随机森林集成学习器的特征重要性,最重要的特征包括实际目标金额(usd_goal_real)、项目持续时间(duration)、主要类别中的漫画(main_category_Comics)、时尚(main_category_Fashion)、音乐(main_category_Music)和戏剧(main_category_Theater)。这表明我们设定的货币目标以及我们允许人们为项目筹款的时间长度确实非常重要。艺术和表演类别的项目更有可能成功,这一结论得到了描述性统计分析的佐证。

许多因素都对此有贡献,而这些因素无法完全通过数据来解释。例如,商业理念、规划、激励人们进行筹款的措施或项目设计都很难量化。也许如果我们拥有每个项目评论中的情感数据,我们就可以将其整合到一个更大、更好的分类模型中,以预测我们的成功几率。

相关文章
|
1天前
|
缓存 开发者 Python
Python中的装饰器:提升代码灵活性和可维护性
Python中的装饰器是一种强大的工具,它可以帮助开发者提升代码的可维护性和灵活性。本文将深入探讨Python装饰器的原理、用法以及实际应用场景,帮助读者更好地理解并运用装饰器来优化自己的代码。
|
1天前
|
数据采集 Python
matlab疲劳驾驶检测项目,Python高级面试framework
matlab疲劳驾驶检测项目,Python高级面试framework
|
1天前
|
Python
10个Python绘画表白代码【内附源码,再不收藏你只能单身了】_有趣的python代码表白
10个Python绘画表白代码【内附源码,再不收藏你只能单身了】_有趣的python代码表白
|
1天前
|
存储 程序员 C#
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码
|
1天前
|
程序员 C# Python
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码(2)
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码(2)
|
4天前
|
算法 编译器 开发者
如何提高Python代码的性能:优化技巧与实践
本文探讨了如何提高Python代码的性能,重点介绍了一些优化技巧与实践方法。通过使用适当的数据结构、算法和编程范式,以及利用Python内置的性能优化工具,可以有效地提升Python程序的执行效率,从而提升整体应用性能。本文将针对不同场景和需求,分享一些实用的优化技巧,并通过示例代码和性能测试结果加以说明。
|
4天前
|
人工智能 Python
Python中的反对称矩阵:理论、应用与代码实践
Python中的反对称矩阵:理论、应用与代码实践
26 1
|
4天前
|
存储 算法 搜索推荐
如何提升Python代码的性能:优化技巧与实践
本文将介绍如何通过优化技巧和实践方法来提升Python代码的性能。从避免不必要的循环和函数调用,到利用内置函数和库,再到使用适当的数据结构和算法,我们将深入探讨各种提升Python代码性能的方法,帮助开发者写出更高效的程序。
|
4天前
|
设计模式 缓存 数据安全/隐私保护
使用装饰器优化 Python 代码的技巧与实践
使用装饰器优化 Python 代码的技巧与实践
66 0
|
开发工具 git Python
Git:Python代码开发到服务器上测试实践
Git:Python代码开发到服务器上测试实践
139 0