计算机毕业设计hadoop+spark+hive汽车评价情感分析 新能源汽车推荐系统 汽车数据分析可视化 新能源汽车推荐系统 汽车爬虫 机器学习 深度学习 人工智能 知识图谱 大数据毕业设计-程序员宅基地

技术标签: python  spark  人工智能  hadoop  知识图谱  大数据  大数据毕业设计  推荐算法  

贵州商学院毕业论文(设计)任务书

学生信息

学号

学院

计算机与信息工程学院

班级

数据科学与大数据技术XXXX-X班

姓名

专业

数据科学与大数据技术

教师

信息

姓名

 职称

学历

任务书

发出时间

2022年11月21日

论文(设计)

题目

本课题研究的目的在于使用户更好的了解市场上的汽车信息,便于用户选择出适合自己的智能汽车。另外通过此次基于大数据的汽车数据分析的设计与实现,了解了系统设计的框架原理,掌握了基本程序框架的设计与实现,巩固对hadoop、spark等大数据开发框架的了解以及它们在使用方面知识的学习和掌握。掌握汽车数据分析系统的开发过程、python爬虫技术、熟练掌握数据库的运用。根据对大数据的分析与讨论,提供与用户的交互界面,完成系统的设计和开发,开发出来的系统能展示出它所具备的功能并能应用到现实中。本系统的主要功能如下:

1、推荐系统:包含协同过滤算法的两种实现(基于用户、基于物品)、基础业务功能(短信注册、支付宝沙箱支付定金、AI识别、浏览等);

2、后台管理系统:对用户、汽车等数据进行管理;

3、爬虫:爬取懂车帝汽车数据作为基础数据集,并可以实时更新;

4、数据大屏驾驶舱:使用Spark实时计算框架完成数据统计,以echarts形式进行可视化显示;

二、主要要求:

毕业论文主体是毕业论文文本的核心部分,一般应包括中文摘要与中文关键词、英文摘要与英文关键词、前言或引言、毕业论文正文、结论或结语、参考文献等部分。

1.论文摘要

摘要必须是对全文内容的高度概括,应反映出毕业论文的内容、方法、成果和结论,要语句通顺,文字流畅。摘要中不宜使用公式、图表、不标注引用文献编号。中文摘要字数控制在300字以内,英文摘要应与中文摘要内容一致,并符合英语语法规范,表述流畅。

2.关键词

关键词是供检索用的主题词条,应采用能覆盖毕业论文主要内容的词条。关键词一般为3-5个。英文的关键词应与中文关键词一致。

关键词之间需用分号隔开,最后一个关键词后不打标点符号。

3.前言或引言

前言或引言部分应对选题相关的国内外文献进行综述。其主要内容包括:选题的背景及目的、国内外研究状况、尚待进一步研究和解决的问题、设计和研究方法等。

4.毕业论文正文

毕业论文的正文部分要结构合理,层次清楚,重点突出,文字简练、通顺,无科学性错误。

正文部分的内容及要求应包括以下各方面:

(1)数据的处理及分析

(2)模型的建立与评估

(3)对本研究内容及成果应进行较全面、客观的理论阐述,应着重指出本研究内容中的创新、改进与实际应用之处。凡引用、转述、参考他人的成果或资料,均须注明出处。

(4)毕业论文应推理正确,结论清晰,无科学性错误。

5.毕业论文中的各级标题

毕业论文中各级标题要突出重点、简明扼要。标题中尽量不采用英文缩写词,若必须缩写,应使用本学科的通用缩写词。

6.结论或结语

结论或结语是毕业论文的总结,要求精炼、准确地概述全文的主要观点。

7.参考文献

毕业论文的撰写应本着严谨求实的科学态度,凡有直接引用他人成果之处,均应进行标注,并按引文在正文中出现的先后顺序列于参考文献中。一篇论著在论文中多处直接引用时,在参考文献中只应出现一次,应将标注序号归并到一起集中列出。仅参考但未直接引用的与毕业论文选题有关的著作和论文也应在参考文献中列出,排于直接引用的参考文献之后,并连续编序号。

8.后置部分

(1)致谢

致谢中主要感谢导师和对论文工作有直接贡献及帮助的人士和单位。

(2)附录

对于一些不宜放入正文中、但作为毕业论文(设计)又是不可缺少的部分,或有重要参考价值的内容,可编入毕业论文(设计)的附录中。例如,过长的公式推导、重复性的数据、图表、程序全文及其说明等。

三、预期目标:

1.论文应该内容丰富、结构合理、资料翔实,论证具有说服力。

2.通过阅读、查阅相关文献及资料,参考现有大数据系统以及解决问题的思路及方法,在此基础上对本课题进行深入研究。

3.获取汽车相关数据,并将其进行集成、清洗、分析等处理,构建后台开发框架应用于本系统。

4.针对本课题的需求分析结果提出建议、策略或者看法,要有一定创新性。

5.正文字数不少于8000字,成果形式为论文。

四、计划进程:

1、2022年10月31日——2022年11月20日,师生双选,学生确定选题

2、2022年11月21日——2022年11月30日,导师下达任务书

3、2022年12月1日——2022年12月20日,完成开题报告及开题评审

4、2022年12月21日——2023年3月1日,调研,撰写论文初稿

5、2023年3月2日——2023年4月22日,修改论文,完成定稿,准备答辩PPT

6、2023年4月23日——2023年5月7日,论文答辩及最终修改

7、2023年5月8日——2023年5月10日,提交论文最终稿、推荐优秀论文

五、主要参考文献:

[1]基于Python的网上购物数据爬取[J]. 高雅婷,刘雅举.  现代信息科技. 2021(16)

[2]基于Python的微博网络舆情监控系统设计与实现[J]. 李文骞.  电脑编程技巧与维护. 2021(12)

[3]基于Python的网络爬虫和反爬虫技术研究[J]. 周毅,宁亮,王鸥,孙海波,何金.  现代信息科技. 2021(21)

[4]基于Python的新浪微博中爬虫程序维护方法[J]. 何波.  软件. 2022(02)

[5]网络安全下的Python语言教学[J]. 成少梅.  网络安全技术与应用. 2022(06)

[6]Python数据工具在高职院校市场调研中的应用[J]. 宋超,华臻.  电脑编程技巧与维护. 2021(02)

[7]基于51job网站招聘信息的爬取与分析——以Python技术岗位为例[J]. 毛遂,毛红霞.  网络安全技术与应用. 2021(04)

[8]大数据背景下依托于Python的网络爬虫技术研究[J]. 周竞鸿.  信息系统工程. 2021(03)

[9]基于Python的分布式多主题网络爬虫的研究与设计[J]. 张胜敏,王爱菊.  开封大学学报. 2021(01)

[10]基于Python的网页信息爬取技术研究[J]. 单艳,张帆.  电子技术与软件工程. 2021(14)

[11]云计算环境下气象大数据服务应用[J]. 华丽,陈澄.  农业与技术. 2019(20)

[12]主题网络爬虫研究综述[J]. 于娟,刘强.  计算机工程与科学. 2020(02)

[13]高性能网络爬虫:研究综述[J]. 周德懋,李舟军.  计算机科学. 2019(08)

[14]风电场发电功率的建模和预测研究综述[J]. 王丽婕,廖晓钟,高阳,高爽.  电力系统保护与控制. 2019(13)

[15]风电场风速和发电功率预测研究[J]. 杨秀媛,肖洋,陈树勇.  中国电机工程学报. 2020(11)

六、教研室审核意见:

同意

      教学系主任(签字):  

2021年11月28日

*注:本表格在线填写审核。

核心算法代码分享如下:

from flask import Flask, request
import json
from flask_mysqldb import MySQL

# 创建应用对象
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'bigdata'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = '123456'
app.config['MYSQL_DB'] = 'hive_car'
mysql = MySQL(app)  # this is the instantiation


@app.route('/tables01')
def tables01():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table01''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['province','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables02')
def tables02():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table02 ORDER BY ctime desc limit 7 ''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['ctime','num','rk']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables03')
def tables03():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table03 order by num desc''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_name','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables04')
def tables04():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table04''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_type','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route("/getmapcountryshowdata")
def getmapcountryshowdata():
    filepath = r"D:\\hadoop_spark_hive_mooc2024\\server\\data\\maps\\china.json"
    with open(filepath, "r", encoding='utf-8') as f:
        data = json.load(f)
        return json.dumps(data, ensure_ascii=False)


@app.route('/tables05')
def tables05():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table05''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['name','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables06')
def tables06():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table06''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['comment_result','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables07')
def tables07():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table07''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_name','car_rank']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables08')
def tables08():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table08''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['fw','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables09')
def tables09():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table09''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_name','score']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)


if __name__ == "__main__":
    app.run(debug=False)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/spark2022/article/details/137846511

智能推荐

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

深度神经网络在训练初期的“梯度消失”或“梯度爆炸”的问题解决:数据标准化(Data Standardization),权重初始化(Weight Initialization),Dropout正则化等_在人工神经网络研究的初始阶段,辛顿针对训练过程中常出现的梯度消失现象, 提供相-程序员宅基地

文章浏览阅读101次。1986年,深度学习(Deep Learning)火爆,它提出了一个名为“深层神经网络”(Deep Neural Networks)的新型机器学习模型。随后几年,神经网络在图像、文本等领域取得了惊艳成果。但是,随着深度学习的应用范围越来越广泛,神经网络在遇到新的任务时出现性能下降或退化的问题。这主要是由于深度神经网络在训练初期面临着“梯度消失”或“梯度爆炸”的问题。_在人工神经网络研究的初始阶段,辛顿针对训练过程中常出现的梯度消失现象, 提供相

随便推点

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

vscode打开markdown文件 不显示图片 预览markdown文件_vscodemarkdown图片无法显示-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏4次。vscode打开markdown文件 不显示图片 预览markdown文件_vscodemarkdown图片无法显示

推荐文章

热门文章

相关标签