# 主程序解决
## 运行环境
+ ubuntu16.04 或ubuntu20.04 (其他版本也可以,建议使用LTS版本)
+ CPU:Intel Corei7-6700HQ CPU
+ Memory:8GB
## 下载数据
在官网上下载对应的数据,将数据放在文件夹`./Data`下面
## 创建虚拟环境
```bash
python -m venv mathmodelenv
source mathmodelenv/bin/activate
```
## 安装对应的包
```bash
pip install -r requirements.txt
```
## 运行方法
首先对数据进行预处理,将数据转化为json文件,数据集的预处理的命令如下所示
```bash
python run.py --do-pre \
--raw-path "./Data" \
--processed-path "./processed"
```
在文件夹中会生成预处理好的文件:
+ `./processed/NLP_Corpus.json`
+ `./processed/NLP_Corpus.csv`
+ `./processed/NLP_Corpus.xlsx`
+ `./processed/NLP_Corpus.txt`
## 主要问题求解
### 问题一求解
```bash
python run.py --do-first \
--model-name lda \
--num-words 6 \
--num-topics 50 \
--alpha 0.25 \
--beta 0.1 \
--batch-size 50 \
--raw-path "./Data" \
--length-size 30 \
--processed-path "./processed" \
--stop-words "./stopwords.txt" \
--log-path "./log"
```
在文件夹中会生成对应的预处理结果:`./processed/NLP_Corpus_Filter.json`,然后生成对应的结果文件,文件有以下的几个
问题结果文件
+ 对应的主题最大概率词语(10个,最终结果):`./log/first/lda/topics_results.csv`
+ 文章对应的主题概率:`./log/first/lda/document_topics_results.csv`
+ 文章对应的最大主题概率(最终结果):`./log/first/lda/document_max_topics_results.csv`
+ 主题分布统计图:`./log/first/lda/pic_lda_first_<num_topics>.png`
+ 主题饼图:`./log/first/lda/pie_pictures.png`
+ 问题一结果表:`./log/first/lda/first_result.xlsx`
LDA 模型文件
+ `./log/first/lda/NLP_Corpus_lda.mdl`
+ `./log/first/lda/NLP_Corpus_lda.mdl.expElogbeta.npy`
+ `./log/first/lda/NLP_Corpus_lda.mdl.state`
### 问题二求解
```bash
python run.py --do-second \
--model-name bm25hf \
--num_topics 50 \
--num-words 6 \
--max-iter 350 \
--raw-path "./Data" \
--processed-path "./processed" \
--stop-words "./stopwords.txt" \
--log-path "./log"
```
在文件夹中会生成对应的预处理结果:`./processed/NLP_Corpus_Person.json`,然后生成对应的结果文件,文件有以下的几个问题结果文件
+ 对应的主题最大概率词语(10个,最终结果):`./log/second/bm25hf/topics_results.csv`
+ 用户人物`person_id`对应的最大主题概率(最终结果):`./log/second/lda/lda_document_max_topics_results.csv`
+ 主题分布统计图:`./log/second/bm25hf/pic_lda_second_<num_topics>.png`
+ 主题饼图:`./log/first/lda/pie_pictures.png`
LDA 模型文件
+ `./log/second/lda/NLP_Corpus_lda.mdl`
+ `./log/second/lda/NLP_Corpus_lda.mdl.expElogbeta.npy`
+ `./log/second/lda/NLP_Corpus_lda.mdl.state`
### 问题三求解
```bash
python run.py --do-third \
--model-name lda \
--batch-size 200 \
--raw-path "./Data" \
--processed-path "./processed" \
--log-path "./log"
```
生成以下文件
+ 主题数量随着时间变化数据文件:`./log/first/topics/topic_num_dict.json`
+ 主题数量随着时间变化图(选取了每天讨论最多的话题):`./log/first/<first>/pic_time_topics_first_<number>.png`
+ 主题数量随着时间变化数据文件:`./log/second/bm25hf/topics/topic_num_dict.json`
+ 主题数量随着时间变化图(选取了每天讨论最多的话题):`./log/second/bm25hf/pic_time_topics_second_<number>.png`
+ 文章转发数量变化图:`./log/transmit`
+ 文章讨论数量变化图:`./log/comments`
+ 文章评论数量变化图:`./log/discuss`
## 其他数据生成
生成对应的词频分布图、词云图以及词频文件
```bash
python anaysis.py --do-words-freq \
--processed-path "./processed" \
--log-path "./log" \
--max-words 250 \
--font-path "./YaHei.ttf" \
--top-num 15
```
会生成以下的几个文件:
+ 已排序的文件:`./log/frequency.txt`
+ 词云图:`./log/wordcloud.png`
+ 词频统计图:`./log/wordsfrequency.png`
生成对应评论来源图
```bash
python anaysis.py --do-origin \
--processed-path "./processed" \
--log-path "./log"
```
生成以下的文件:
+ 排好序的来源统计文件:`./log/origin.txt`
+ 生成图:`./log/origin.png`
生成用户评论数目文件以及用户数目图
```bash
python anaysis.py --do-person \
--processed-path "./processed" \
--log-path "./log" \
--top-num 15
```
生成以下的文件:
+ 用户评论数量统计文件:`./log/person_freq.txt`
+ 用户评论数量统计图:`./log/person_freq.png`
生成评论(transmit)和讨论(discuss)数量统计图
```bash
python anaysis.py --do-discuss --do-transmit \
--processed-path "./processed" \
--log-path "./log"
```
生成以下的文件:
+ `/log/transmit_freq_discuss.csv`
+ `/log/transmit_freq_discuss.png`
+ `/log/transmit_freq_distribution_discuss.png`
+ `/log/transmit_freq_distribution_transmit.png`
+ `/log/transmit_freq_transmit.csv`
+ `/log/transmit_freq_transmit.png`
没有合适的资源?快使用搜索试试~ 我知道了~
校级数学建模竞赛项目.zip
共71个文件
py:58个
txt:6个
md:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 52 浏览量
2024-04-15
19:13:24
上传
评论
收藏 24.32MB ZIP 举报
温馨提示
数学建模备赛、学习资料 数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!数学建模大赛赛题、解决方案资料,供备赛者学习参考!
资源推荐
资源详情
资源评论
收起资源包目录
校级数学建模竞赛项目.zip (71个子文件)
projectcode30312
markov
topic_words.txt 698B
preprocess.py 5KB
draw.py 2KB
main.py 4KB
data.py 5KB
log.py 820B
requirements.txt 81B
README.md 1KB
att-gru
main.py 8KB
src
__init__.py 15B
data
__init__.py 266B
vetorize.py 3KB
data.py 5KB
log.py 820B
utils
__init__.py 448B
zh_wiki.py 140KB
preprocess.py 7KB
embeddings.py 45B
langconv.py 6KB
evalute.py 3KB
build.py 4KB
filter.py 2KB
model
__init__.py 142B
model.py 2KB
bm25hf.py 6KB
requirements.txt 110B
README.md 1003B
stopwords.txt 9KB
.gitignore 2KB
Data.7z 15.35MB
main
YaHei.ttf 14.35MB
anaysis.py 7KB
src
__init__.py 15B
data
__init__.py 205B
times.py 6KB
vocab.py 2KB
log.py 820B
dataloader.py 1003B
model
__init__.py 203B
lda.py 3KB
model.py 2KB
GaussianLDA.py 8KB
kmeans.py 5KB
bm25hf.py 8KB
util
__init__.py 2KB
topics.py 3KB
preprocess.py 6KB
lang
__init__.py 64B
zh_wiki.py 140KB
langconv.py 6KB
times
time_utils.py 2KB
sentiments.py 1KB
__init__.py 537B
topics.py 3KB
comments.py 2KB
transmits.py 2KB
source
__init__.py 736B
transmit.py 4KB
person.py 4KB
draw.py 767B
length.py 3KB
origin.py 1KB
history.py 3KB
saves.py 1KB
words.py 3KB
filter.py 2KB
run.py 12KB
requirements.txt 171B
README.md 5KB
stopwords.txt 9KB
README.md 2KB
共 71 条
- 1
资源评论
龙年行大运
- 粉丝: 1002
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功