|
@@ -13,8 +13,10 @@
|
|
|
<el-button type="primary" plain icon="el-icon-lx-file" >选择文件</el-button>
|
|
<el-button type="primary" plain icon="el-icon-lx-file" >选择文件</el-button>
|
|
|
</router-link>
|
|
</router-link>
|
|
|
<el-button type="primary" icon="el-icon-thumb" @click="handleAnalysis">数理分析</el-button>
|
|
<el-button type="primary" icon="el-icon-thumb" @click="handleAnalysis">数理分析</el-button>
|
|
|
|
|
+
|
|
|
<el-button type="primary" icon="el-icon-thumb" @click="createConfig">生成配置文件</el-button>
|
|
<el-button type="primary" icon="el-icon-thumb" @click="createConfig">生成配置文件</el-button>
|
|
|
|
|
|
|
|
|
|
+ <el-button type="primary" icon="el-icon-thumb" @click="getFeature">自动特征选择</el-button>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -49,7 +51,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <el-dialog title="选择字段" v-model="analysisVisible" width="30%">
|
|
|
|
|
|
|
+ <el-dialog title="选择字段" v-model="analysisVisible" width="50%">
|
|
|
<el-form label-width="120px">
|
|
<el-form label-width="120px">
|
|
|
<el-form-item label="分析方法" required>
|
|
<el-form-item label="分析方法" required>
|
|
|
<el-select v-model="form.type" placeholder="分析方法" class="handle-select mr10" >
|
|
<el-select v-model="form.type" placeholder="分析方法" class="handle-select mr10" >
|
|
@@ -116,7 +118,7 @@
|
|
|
<el-input v-model="form.name"></el-input>
|
|
<el-input v-model="form.name"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="模型类别" required>
|
|
<el-form-item label="模型类别" required>
|
|
|
- <el-select v-model="form.type" placeholder="模型类别" class="handle-select mr10" >
|
|
|
|
|
|
|
+ <el-select v-model="form.type" placeholder="模型类别" class="handle-select mr10" @change="selectModelTypeChange">
|
|
|
<el-option key="0" label="所有" value="0"></el-option>
|
|
<el-option key="0" label="所有" value="0"></el-option>
|
|
|
<el-option key="1" label="逻辑回归" value="1"></el-option>
|
|
<el-option key="1" label="逻辑回归" value="1"></el-option>
|
|
|
<el-option key="2" label="决策树" value="2"></el-option>
|
|
<el-option key="2" label="决策树" value="2"></el-option>
|
|
@@ -128,10 +130,10 @@
|
|
|
<el-option key="8" label="K-均值" value="8"></el-option>
|
|
<el-option key="8" label="K-均值" value="8"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="已选择字段" required>
|
|
|
|
|
- <el-alert type="info" description="您下列选择的最后一个字段为分类模型的目标字段"
|
|
|
|
|
|
|
+ <el-form-item label="已选择字段" >
|
|
|
|
|
+ <el-alert type="info" description="您下列选择的最后一个字段为分类模型的目标字段" v-if="featureTip===1"
|
|
|
show-icon style="height: 40px;"></el-alert>
|
|
show-icon style="height: 40px;"></el-alert>
|
|
|
- <el-alert type="info" description="k-means模型没有目标字段"
|
|
|
|
|
|
|
+ <el-alert type="info" description="k-means模型没有目标字段" v-if="featureTip===2"
|
|
|
show-icon style="height: 40px;"></el-alert>
|
|
show-icon style="height: 40px;"></el-alert>
|
|
|
<el-table :data="selectData" border class="table" header-cell-class-name="table-header" >
|
|
<el-table :data="selectData" border class="table" header-cell-class-name="table-header" >
|
|
|
<el-table-column label="字段名">
|
|
<el-table-column label="字段名">
|
|
@@ -159,7 +161,7 @@ import {getFileDetail,analysisFile} from "../../api/file";
|
|
|
import {useRoute}from "vue-router";
|
|
import {useRoute}from "vue-router";
|
|
|
import {useRouter}from "vue-router";
|
|
import {useRouter}from "vue-router";
|
|
|
import { toRaw } from '@vue/reactivity'
|
|
import { toRaw } from '@vue/reactivity'
|
|
|
-import {addConfig} from "../../api/config";
|
|
|
|
|
|
|
+import {addConfig,getFeatureSelection} from "../../api/config";
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: "config",
|
|
name: "config",
|
|
@@ -212,7 +214,21 @@ export default {
|
|
|
|
|
|
|
|
};
|
|
};
|
|
|
getData();
|
|
getData();
|
|
|
|
|
+ const getFeature=()=>{
|
|
|
|
|
+ if(selectData.value.length===0){ElMessage.error("请先选择目标字段");return;}
|
|
|
|
|
+ if(selectData.value.length>1){ElMessage.error("目标字段仅可选择一个");return;}
|
|
|
|
|
+ getFeatureSelection({"fileId":fileId,"fieldName":selectData.value[0].fieldName}).then(
|
|
|
|
|
+ res=>{
|
|
|
|
|
+ console.log(res)
|
|
|
|
|
+ res=res.data
|
|
|
|
|
+ for(let i=0;i<res.length;i++){
|
|
|
|
|
+ selectData.value.unshift(res[i])
|
|
|
|
|
+ }
|
|
|
|
|
+ createConfig()
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
// 查询操作
|
|
// 查询操作
|
|
|
const handleSearch = () => {
|
|
const handleSearch = () => {
|
|
|
query.pageIndex = 1;
|
|
query.pageIndex = 1;
|
|
@@ -327,8 +343,12 @@ export default {
|
|
|
|
|
|
|
|
};
|
|
};
|
|
|
let resultVisible= ref(false);
|
|
let resultVisible= ref(false);
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ let featureTip=ref(0);
|
|
|
|
|
+ const selectModelTypeChange=(selectValue)=>{
|
|
|
|
|
+ if(selectValue==="8")featureTip.value=2;
|
|
|
|
|
+ else featureTip.value=1;
|
|
|
|
|
+ console.log(featureTip.value)
|
|
|
|
|
+ }
|
|
|
const configCreate = ref(false);
|
|
const configCreate = ref(false);
|
|
|
const createConfig =() => {
|
|
const createConfig =() => {
|
|
|
const fieldTable = ref(null)
|
|
const fieldTable = ref(null)
|
|
@@ -366,8 +386,11 @@ export default {
|
|
|
configCreate,
|
|
configCreate,
|
|
|
createConfig,
|
|
createConfig,
|
|
|
saveConfig,
|
|
saveConfig,
|
|
|
|
|
+ getFeature,
|
|
|
selectData,
|
|
selectData,
|
|
|
analysisData,
|
|
analysisData,
|
|
|
|
|
+ featureTip,
|
|
|
|
|
+ selectModelTypeChange,
|
|
|
handleSelectChange,
|
|
handleSelectChange,
|
|
|
handleSearch,
|
|
handleSearch,
|
|
|
handlePageChange,
|
|
handlePageChange,
|