@ -5,20 +5,7 @@
< p style = "font-weight: 400;font-size: 12px;color: #E6E6E6;" > ( 给出任务清单参考 , 做哪些数据的统计分析 ) Lorem ipsum dolor sit amet , consectetur adipiscing elit . Aenean euismod bibendum laoreet . Proin gravida dolor sit amet lacus accumsan et viverra justo commodo . Proin sodales pulvinar sic tempor . Sociis natoque penatibus et magnis dis parturient montes , nascetur ridiculus mus . Nam fermentum , nulla luctus pharetra vulputate , felis tellus mollis orci , sed rhoncus pronin sapien nunc accuan eget . < / p >
< p style = "font-weight: 400;font-size: 12px;color: #E6E6E6;" > ( 给出任务清单参考 , 做哪些数据的统计分析 ) Lorem ipsum dolor sit amet , consectetur adipiscing elit . Aenean euismod bibendum laoreet . Proin gravida dolor sit amet lacus accumsan et viverra justo commodo . Proin sodales pulvinar sic tempor . Sociis natoque penatibus et magnis dis parturient montes , nascetur ridiculus mus . Nam fermentum , nulla luctus pharetra vulputate , felis tellus mollis orci , sed rhoncus pronin sapien nunc accuan eget . < / p >
< / div >
< / div >
< div class = "main-but" >
< div class = "main-but" >
< el -upload
< el -button @click ="runResultShow=true" > < img src = "../../../assets/images/导入.png" alt = "" > 算法知识导入 < / e l - b u t t o n >
ref = "uploadRef"
class = "upload-demo"
: file - list = "fileList"
: auto - upload = "false"
: on - change = "handleChange"
: show - file - list = "false"
multiple = "multiple"
>
< template # trigger >
< el -button > < img src = "../../../assets/images/导入.png" alt = "" > 算法知识导入 < / e l - b u t t o n >
< / template >
<!-- < div class = "reportPromptFile" v-html ="item[`${index}`].path" > < / div > - - >
< / e l - u p l o a d >
< el -button @click ="taskSubmit" > < img src = "../../../assets/images/提交.png" alt = "" > 实训任务提交 < / e l - b u t t o n >
< el -button @click ="taskSubmit" > < img src = "../../../assets/images/提交.png" alt = "" > 实训任务提交 < / e l - b u t t o n >
< / div >
< / div >
< div class = "app-main" >
< div class = "app-main" >
@ -133,8 +120,8 @@
< / div >
< / div >
< div class = "analysisResults" style = "margin-top: 20px" >
< div class = "analysisResults" style = "margin-top: 20px" >
< span style = "font-weight: bold;font-size: 18px;color: #3596EB;display: block;" > 分析结果 : < / span >
< span style = "font-weight: bold;font-size: 18px;color: #3596EB;display: block;" > 分析结果 : < / span >
< el -button class = "imgBtn" > 下载 < / e l - b u t t o n >
< el -button class = "imgBtn" v-if ="flagUP" @click="upLoad" > 下 载 < / el -button >
< el -table :data ="tableData3" r ow-key = " TSuid " style = "width: 94%;margin-top:10px" :header-cell-style ="headerCellStyle" height = "350" >
< el -table :data ="tableData3" r ef= "exportTableRef" r ow-key = " TSuid " style = "width: 94%;margin-top:10px" :header-cell-style ="headerCellStyle" height = "350" >
< el -table -column v -for = " column in tableLabel2 " :key ="column.prop" :prop ="column.prop" :label ="column.label" align = "center" / >
< el -table -column v -for = " column in tableLabel2 " :key ="column.prop" :prop ="column.prop" :label ="column.label" align = "center" / >
< el -table -column v-if ="flagColumn" label="预测" align="center" >
< el -table -column v-if ="flagColumn" label="预测" align="center" >
< template # default = "scope" >
< template # default = "scope" >
@ -224,18 +211,41 @@
< / div >
< / div >
< / template >
< / template >
< / e l - d i a l o g >
< / e l - d i a l o g >
< pop -model
: showModel = "runResultShow"
title = "关联规则挖掘"
@ closePop = "runResultShow = false"
>
< template v -slot : content >
< div >
< p style = "font-weight: 700;font-size:22px" > 变量间的关系的度量 < / p > < p style = "font-size:19px;font-weight:600" > 变量间的关系 < / p > < li > 函数关系 : 设有两个x和y , y随x一起变化 , 并完全依赖于x , y是x的函数 , y = f ( x ) y = f ( x ) y = f ( x ) , x为自变量 , y为因变量 。 < / li > < li > 相关关系 : 变量之前存在的不确定的关系称为相关关系 。 < / li > < p > & nbsp ; & nbsp ; & nbsp ; 1. 一个变量的取值不能由另一个变量唯一确定 < br / > & nbsp ; & nbsp ; & nbsp ; 2. 当变量x 取某个值时 , 变量y 的取值对应着一个分布 < br / > & nbsp ; & nbsp ; & nbsp ; 3. 各观测点分布在直线周围 < / p > < p style = "font-size:19px;font-weight:600" > 相关关系的描述与测量 < / p > < li > 散点图 : 可以通过散点图判断两个变量之间有无相关关系 , 并对变量间的关系形态做出大致的描述 。 < / li > < img src = "@/assets/images/f3001.png" alt = "" >
< li > 相关系数 : 是度量变量之间线性关系强度的一个统计量 。 < / li > < p > 若相关系数是根据总体全部数据计算的 , 称为总体相关系数 , 记为ρ ; < br / > 若是根据样本数据计算的 , 则称为样本相关系数 , 简称为相关系数 , 记为 r rr , 也称为Pearson \ textbf { Pearson } Pearson相关系数或者线性相关系数 。 < / p > < img src = "@/assets/images/f3002.png" alt = "" > < br / > < p > 相关系数r rr 的性质 : < br / > & nbsp ; & nbsp ; & nbsp ; r 的取值范围为 [ 0 , 1 ] [ 0 , 1 ] [ 0 , 1 ] ; < / p > < img src = "@/assets/images/f3003.png" alt = "" > < p > & nbsp ; & nbsp ; & nbsp ; r 具有对称性 。 即x与y之间的相关系数和y与x之间的相关系数相等 , 即r x y = r y x r _ { xy } = r _ { yx } r < br / > & nbsp ; & nbsp ; & nbsp ; r 数值大小与x和y原点及尺度无关 , 即改变x和y的数据原点及计量尺度 , 并不改变r数值大小 < br / > & nbsp ; & nbsp ; & nbsp ; r 仅仅是x与y之间线性关系的一个度量 , 它不能用于描述非线性关系 。 这意味着 , r = 0 只表示两个变量之间不存在线性相关关系 , 并不说明变量之间没有任何关系
& nbsp ; & nbsp ; & nbsp ; r 虽然是两个变量之间线性关系的一个度量 , 却不一定意味着x与y一定有因果关系 < / p > < img src = "@/assets/images/f3005.png" alt = "" / > < p style = "font-size:19px;font-weight:600" > 相关关系的显著性检验 < / p > < p > 检验两个变量之间是否存在线性相关关系 , 通常将 r rr 作为 ρ ρ ρ 的估计值 。 < br / > & nbsp ; & nbsp ; & nbsp ; r 的抽样分布 ( 不写 ) < br / > & nbsp ; & nbsp ; & nbsp ; r 的显著性检验 < / p > < img src = "@/assets/images/f3006.png" alt = "" > < p style = "font-size:19px;font-weight:600" > 一元线性回归的估计和检验 < / p > < li > 相关分析目的在于用相关系数测度变量之间的关系强度 。 < / li > < li > 而回归分析侧重于考察变量之间的数量关系 , 并通过一定的数学表达式将这种关系描述出来 , 从而确定一个或几个变量 ( 自变量 ) 的变化对另一个特定变量 ( 因变量 ) 的影响程度 。 具体来说 , 回归分析具体解决以下几个方面的问题 : < / li > < p > & nbsp ; & nbsp ; & nbsp ; 1. 从一组样本数据出发 , 确定变量之间的数学关系式 。 < br / > & nbsp ; & nbsp ; & nbsp ; 2. 对这些关系式的可信程度进行各种统计检验 , 并从影响因变量的诸多变量中找出哪些变量的影响是显著的 , 哪些是不显著的 。 < br / > & nbsp ; & nbsp ; & nbsp ; 3. 利用所求的关系式 , 根据一个或几个自变量的取值来估计或预测因变量的取值 , 并给出这种估计或预测的可靠程度 。 < / p > < li > 在回归分析中 : < / li > < p > 被预测或被解释的变量称为因变量 , 用y表示 ; < br / > 用来预测或被解释的一个或多个变量称为自变量 , 用x表示 ; < / p >
< p style = "font-size:16px;font-weight:600" > 相关关系的显著性检验 < / p > < p > 检验两个变量之间是否存在线性相关关系 , 通常将 r rr 作为 ρ ρ ρ 的估计值 。 < / p > < img src = "@/assets/images/f3007.png" alt = "" / > < p style = "font-size:19px;font-weight:600" > 一元线性回归的估计和检验 < / p > < li > 相关分析目的在于用相关系数测度变量之间的关系强度 。 < / li > < li > 而回归分析侧重于考察变量之间的数量关系 , 并通过一定的数学表达式将这种关系描述出来 , 从而确定一个或几个变量 ( 自变量 ) 的变化对另一个特定变量 ( 因变量 ) 的影响程度 。 具体来说 , 回归分析具体解决以下几个方面的问题 : < / li > < p > & nbsp ; & nbsp ; & nbsp ; 1. 从一组样本数据出发 , 确定变量之间的数学关系式 。 < br / > & nbsp ; & nbsp ; & nbsp ; 2. 对这些关系式的可信程度进行各种统计检验 , 并从影响因变量的诸多变量中找出哪些变量的影响是显著的 , 哪些是不显著的 。 < br / > & nbsp ; & nbsp ; & nbsp ; 3. 利用所求的关系式 , 根据一个或几个自变量的取值来估计或预测因变量的取值 , 并给出这种估计或预测的可靠程度 。 < / p > < li > 在回归分析中 : < / li >
< p > & nbsp ; & nbsp ; & nbsp ; 被预测或被解释的变量称为因变量 , 用y表示 ; < br / > & nbsp ; & nbsp ; & nbsp ; 用来预测或被解释的一个或多个变量称为自变量 , 用x表示 ; < / p > < p style = "font-size:19px;font-weight:600" > 一元线性回归模型 < / p > < p > 涉及一个自变量的回归 。 < / p > < li > 回归模型 : 描述因变量y 如何依赖于自变量x 和误差项 ε εε 的方程称为回归模型 , 一元线性回归模型可表示为 : < / li > < img src = "@/assets/images/f3008.png" alt = "" > < li > 上述模型称为理论回归模型 , 对于这一模型 , 有以下几个假定 : < / li > < p > & nbsp ; & nbsp ; & nbsp ; 1. 因变量y与自变量x之间具有线性关系 ; < br / > & nbsp ; & nbsp ; & nbsp ; 2. 在重复抽样中 , 自变量x的取值是固定的 , 即假定x是非随机的 ; < br / > & nbsp ; & nbsp ; & nbsp ; 3. 对于满足 : < / p > < img src = "@/assets/images/f3009.png" alt = "" > < li > 回归方程 : 描述因变量y的期望值如何依赖于自变量x的方程称为回归方程 , 一元线性回归方程的形式为 : < / li >
< img src = "@/assets/images/f3010.png" alt = "" / > < img src = "@/assets/images/f3011.png" alt = "" / > < p style = "font-size:19px;font-weight:600" > 参数的最小二乘估计 < / p > < img src = "@/assets/images/f3012.png" alt = "" / > < br / > < img src = "@/assets/images/f3013.png" alt = "" / > < br / > < img src = "@/assets/images/f3014.png" alt = "" / > < p style = "font-size:19px;font-weight:600" > 回归直线的拟合优度 < / p > < p > 估计或预测的精度如何 , 将取决于回归直线对观测数据的拟合程度 。 各观测点越是紧密围绕直线 , 说明对观测数据的拟合程度越好 , 反之越差 。 < / p > < img src = "@/assets/images/f3015.png" alt = "" > < li > 总平方和 ( S S T SSTSST ) : 反映因变量的n 个观察值与其均值的总误差 。 < / li > < img src = "@/assets/images/f3016.png" alt = "" > < li > 残差平方和 : 又称误差平方和 , 反映除x 以外的其他因素对y 取值的影响 , 也称为不可解释的平方和或剩余平方和 。 < / li >
< img src = "@/assets/images/f3017.png" alt = "" / > < li > 回归平方和 ( SSR ) : 反映自变量x 的变化对因变量y 取值变化的影响 , 或者说 , 是由于x 与y 之间的线性关系引起的y 的取值变化 , 也称为可解释的平方和 。 < / li > < img src = "@/assets/images/f3018.png" alt = "" / > < li > 三者的关系为 : < / li > < img src = "@/assets/images/f3019.png" alt = "" / > < li > 估计标准误差 ( s < sub > e < / sub > ) : 反映实际观察值在回归直线周围的分散状况 , 是均方残差 ( MSE ) 的平方根 < / li > < img src = "@/assets/images/f3020.png" alt = "" > < p style = "font-size:19px;font-weight:600" > 显著性检验 < / p > < img src = "@/assets/images/f3021.png" alt = "" > < img src = "@/assets/images/f3022.png" alt = "" > < p style = "font-size:19px;font-weight:600" > 利用回归方程进行预测 < / p > < p style = "font-size:16px;font-weight:600" > 平均值的置信区间 < / p > < li > 置信区间 ( confidence interval ) : 利用估计的回归方程 , 对于自变量x 的一个给定值x < sub > 0 < / sub > , 求出因变量y yy的平均值的估计区间 , 这一估计区间称为置信区间 。 < / li >
< p > 比平均值的公式根号内多了个1而已 : < / p > < img src = "@/assets/images/f3023.png" alt = "" / > < p style = "font-size:19px;font-weight:600" > 残差分析 < / p > < p style = "font-size:16px;font-weight:600" > 残差与残差图 ( 检验方差齐性 ) < / p > < li > 残差 : 因变量的观测值与根据估计的回归方程求出的预测值之差 , 用e表示 , 反映了用估计的回归方程去预测而引起的误差 。 < / li > < img src = "@/assets/images/f3024.png" alt = "" > < img src = "@/assets/images/f3025.png" alt = "" > < p style = "font-size:19px;font-weight:600" > 标准化残差 ( 检验正态性 ) < / p > < li > 标准化残差 : 也称为Pearson 残差或半学生化残差 ( semistudentized residuals ) 。 < / li > < img src = "@/assets/images/f3026.png" alt = "" >
< / div >
< / template >
< / p o p - m o d e l >
< / template >
< / template >
< script setup >
< script setup >
import popModel from "@/views/components/popModal.vue" ;
import * as echarts from 'echarts' ;
import * as echarts from 'echarts' ;
import ecStat from 'echarts-stat' ;
import ecStat from 'echarts-stat' ;
import * as API from '@/api/AI.js'
import * as API from '@/api/AI.js'
import { getUserInfo } from "@/utils/auth" ;
import { getUserInfo } from "@/utils/auth" ;
import * as XLSX from 'xlsx'
import { onMounted , reactive } from 'vue' ;
import { onMounted , reactive } from 'vue' ;
const { proxy } = getCurrentInstance ( )
const { proxy } = getCurrentInstance ( )
const dialogVisible = ref ( false )
const dialogVisible = ref ( false )
const dialogVisible2 = ref ( false )
const dialogVisible2 = ref ( false )
const flagColumn = ref ( false )
const flagColumn = ref ( false )
const runResultShow = ref ( false )
const exportTableRef = ref ( null ) ;
const tableLabel = reactive ( [
const tableLabel = reactive ( [
{ prop : 'date' , label : '' } ,
{ prop : 'date' , label : '' } ,
] )
] )
@ -245,6 +255,7 @@
const formInline2 = reactive ( {
const formInline2 = reactive ( {
user : ''
user : ''
} )
} )
const flagUP = ref ( false )
const option5 = ref ( [ ] )
const option5 = ref ( [ ] )
const option6 = ref ( [ ] )
const option6 = ref ( [ ] )
const getList = ( ) => {
const getList = ( ) => {
@ -418,17 +429,34 @@
proxy . $modal . msgError ( "x变量数量有误! " ) ;
proxy . $modal . msgError ( "x变量数量有误! " ) ;
return
return
}
}
}
flagColumn . value = true
flagColumn . value = true
/ / A P I . a s s o c i a t i o n R u l e M i n i n g ( s e n d D a t a ) . t h e n ( ( r e s ) = > {
if ( input6 . value . length === 1 ) {
/ / t a b l e D a t a 3 . v a l u e = [ ]
tableData2 . value . forEach ( item => {
/ / r e s . d a t a . f o r E a c h ( e l e m e n t = > {
sendData . y . push ( item [ input5 . value [ 0 ] ] )
/ / t a b l e D a t a 3 . v a l u e . p u s h ( {
sendData . x . push ( [ item [ input6 . value [ 0 ] ] ] )
/ / d a t e : e l e m e n t
} )
/ / } )
} else {
/ / } )
tableData2 . value . forEach ( item => {
/ / } )
sendData . y . push ( item [ input5 . value [ 0 ] ] )
sendData . x . push ( [ item [ input6 . value [ 0 ] ] , item [ input6 . value [ 1 ] ] ] )
} )
}
}
API . logisticRegression ( sendData ) . then ( ( res ) => {
tableLabel2 . length = 0
for ( const key in res . data ) {
tableLabel2 . push ( {
label : key ,
prop : key
} )
}
let data = res . data
data . slope = data . slope
tableData3 . value = [ data ]
} )
}
}
flagUP . value = true
}
}
const nowData = ref ( [ ] )
const nowData = ref ( [ ] )
const handleClick = ( item ) => {
const handleClick = ( item ) => {
@ -449,6 +477,27 @@
predictionResults . value = res . data
predictionResults . value = res . data
} )
} )
}
}
if ( nowData . value . type === '逻辑回归' ) {
const sendData = {
intercept : nowData . value . intercept ,
type : nowData . value . type ,
slope : nowData . value . slope ,
slope : formInline2 . user
}
API . logisticRegressionPrediction ( sendData ) . then ( ( res ) => {
dialogVisible2 . value = false
predictionResults . value = res . data
} )
}
}
const upLoad = ( ) => {
const tableDom = exportTableRef . value ? . $el ;
if ( ! tableDom ) {
return ;
}
const wb = XLSX . utils . table _to _book ( tableDom ) ;
XLSX . writeFile ( wb , '回归分析.xlsx' ) ;
}
}
const startOver = ( ) => {
const startOver = ( ) => {
input . value = ''
input . value = ''
@ -466,6 +515,7 @@
nowData . value = [ ]
nowData . value = [ ]
formInline2 . user = ''
formInline2 . user = ''
predictionResults . value = ''
predictionResults . value = ''
flagUP . value = false
}
}
< / script >
< / script >