IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 大数据实验一 关联规则实验题目:蔬菜价格相关性分析 -> 正文阅读

[人工智能]大数据实验一 关联规则实验题目:蔬菜价格相关性分析

学习来源

实验目的:在掌握关联规则算法的原理的基础上,能够应用关联规则算法解决实际问题。

实验内容:根据实验数据,采用Apriori等关联规则发现算法,给出相关关联规则。

实验要求:给出数据预处理过程、关联规则发现算法及发现关联规则,并对关联规则结果进行分析说明。

实验题目:蔬菜价格相关性分析

蔬菜的价格会受季节、天气等多方面因素的影响,但许多会出现同涨或者同跌等现象,请根据给出的蔬菜价格数据,采用关联规则发现算法,发现哪些蔬菜之间具有同涨、同跌或者涨跌不同步的现象。

一、数据处理

slrd操作部分

import xlrd;
import xlwt;
import pandas as pd
#一、准备部分
#1、Excel表格读的部分:
excel =xlrd.open_workbook('蔬菜价格.xls')#读入本地名为‘蔬菜价格3.xls’的Excel表格
excelsheet=excel.sheets()[0]#获取excel表格中的第一个sheet工作表

#2、Excel表格写的部分:
newexcel=xlwt.Workbook(encoding='utf-8')#创建一个Excel对象,编码格式采用utf-8
#创建一个表名为“蔬菜价格关联分析”的工作表,cell_overwrite_ok=True表示可覆盖之前已操作的单元格
newsheet=newexcel.add_sheet('蔬菜价格关联分析',cell_overwrite_ok=True)

#3、设置表格样式,这里主要用于设置日期的格式
datastyle = xlwt.XFStyle() # 创建一个样式对象,初始化样式
datastyle.num_format_str = 'M/D/YY' #设置日期格式

#4、表格中有的空的位置不是真的为空,这里获取一个这样的值,待会用于特判
tmp=excelsheet.cell_value(5,2)
#二、正式开始处理数据,主要思路:从旧表中读出写入新表
ri=2 #用于读原始第ri行
rj=1#用于读原始第rj列
wi=0#用于写入表格的第wi行
wj=1#用于写入表格的第wj列
#创建新表的第一行,包括日期和各个菜的菜名
newsheet.write(0,0,excelsheet.cell_value(0,0))#将旧表的(0,0)位置的日期写到新表的(0,0)位置

#1、先读取蔬菜列和禽肉类的列名,暂时先不处理禽肉类的一个K位置为空值的特殊情况
while ri<42:
    rj=1#蔬菜在第1列,有40种,肉类在第3列,有23种
    newsheet.write(0,wj,excelsheet.cell_value(ri,rj))
    newsheet.write(0,wj+40,excelsheet.cell_value(ri,rj+2))
    ri=ri+1
    wj=wj+1


#2、先整理蔬菜的价格
ri=42 #遍历原始第ri行
rj=2#遍历原始第rj列
wi=0#写入表格的第wi行
wj=1#写入表格的第wj行
while ri<22320:
    if ri%47>=42:
        ri=ri+6
        wi=wi+1
        newsheet.write(wi,0,excelsheet.cell_value(ri,0),datastyle)
    else :
        if excelsheet.cell_value(ri,rj)!=tmp:
            newsheet.write(wi,wj,excelsheet.cell_value(ri,rj))
        wj=wj%40+1
    ri=ri+1


#3、再整理禽肉类的价格
ri=26 #遍历原始第ri行
rj=4#遍历原始第rj列
wi=0#写入表格的第wi行
wj=41#写入表格的第wj行
while ri<22320:
    if ri%47>=26:
        ri=ri+22
        wi=wi+1
        wj=41
    else :
        if excelsheet.cell_value(ri,rj)!=tmp:
            newsheet.write(wi,wj,excelsheet.cell_value(ri,rj))
        wj=(wj-40)%(24)+1+40
        #wj=wj%(41+24)+1
        #print(wj)
    ri=ri+1


newexcel.save('蔬菜数据处理过渡版.xls')#生成处理后的表格

操作之后

padnas操作部分

import pandas as pd

#header = None用于不让蔬菜名那一行作为“表头”,便于之后步骤的数据获取
data=pd.read_excel('蔬菜数据处理过渡版.xls',header = None)

#删除第60列空值列,axis=1表示纵向,inplace=True表示删除操作对原数据生效
data.drop(labels=[60],axis=1,inplace=True)

ri=1
while ri<data.shape[0]-1:
    rj=1
    while rj<data.shape[1]:
        if (len(str(data.values[ri,rj]))==0 or len(str(data.values[ri+1,rj]))==0):
            data.iloc[ri,rj]=0
        else:
            d=float(data.values[ri,rj])-float(data.values[ri+1,rj]) #上-下 今天-昨天  正为涨,负为跌
            if d>0:
                data.iloc[ri,rj]='up'
            elif d<0:
                data.iloc[ri,rj]='down'
            else:
                data.iloc[ri,rj]=0
        rj=rj+1
    ri=ri+1

data.drop(labels=[data.shape[0]-1],axis=0,inplace=True)#删除最后一行
   
data.to_excel("蔬菜数据处理完成版.xlsx")

操作之后得到了价格涨跌的数据

二、采用Apriori算法对蔬菜价格数据进行关联分析

后续...

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 10:56:24  更:2021-10-22 10:58:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:43:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码