Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
涵茗 张
软件工程概论期末大作业
Commits
b3461f63
Commit
b3461f63
authored
2 years ago
by
涵茗 张
Browse files
Options
Download
Email Patches
Plain Diff
add bayes_classifier in weka
parent
17fae0e8
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
400 additions
and
8 deletions
+400
-8
backend/src/main/java/com/example/backend/BackendApplication.java
...src/main/java/com/example/backend/BackendApplication.java
+1
-1
backend/src/main/java/com/example/backend/controller/testWeka/WekaController.java
...m/example/backend/controller/testWeka/WekaController.java
+55
-0
backend/src/main/java/com/example/backend/data/iris.arff
backend/src/main/java/com/example/backend/data/iris.arff
+225
-0
web/src/assets/couple-stroll.png
web/src/assets/couple-stroll.png
+0
-0
web/src/assets/relax.png
web/src/assets/relax.png
+0
-0
web/src/views/iris/PetalWidthView.vue
web/src/views/iris/PetalWidthView.vue
+1
-1
web/src/views/iris/SepalLengthView.vue
web/src/views/iris/SepalLengthView.vue
+1
-1
web/src/views/iris/SepalWidthView.vue
web/src/views/iris/SepalWidthView.vue
+1
-1
web/src/views/iris/WekaView.vue
web/src/views/iris/WekaView.vue
+116
-4
No files found.
backend/src/main/java/com/example/backend/BackendApplication.java
View file @
b3461f63
...
...
@@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public
class
BackendApplication
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
SpringApplication
.
run
(
BackendApplication
.
class
,
args
);
}
...
...
This diff is collapsed.
Click to expand it.
backend/src/main/java/com/example/backend/controller/testWeka/WekaController.java
0 → 100644
View file @
b3461f63
package
com.example.backend.controller.testWeka
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
weka.classifiers.Classifier
;
import
weka.classifiers.bayes.NaiveBayes
;
import
weka.classifiers.evaluation.Evaluation
;
import
weka.core.Instance
;
import
weka.core.Instances
;
import
weka.core.converters.ConverterUtils
;
import
weka.core.converters.ConverterUtils.DataSource
;
import
java.util.ArrayList
;
import
java.util.Random
;
@RestController
public
class
WekaController
{
@GetMapping
(
"/weka/"
)
public
ArrayList
<
Double
>
PredictVaule
()
throws
Exception
{
Classifier
bayes_classifier
=
new
NaiveBayes
();
Random
rand
=
new
Random
(
1
);
ConverterUtils
.
DataSource
source
=
new
DataSource
(
"D:/weka/Weka-3-8-6/data/iris.arff"
);
Instances
data
=
source
.
getDataSet
();
Instances
randData
=
new
Instances
(
data
);
randData
.
randomize
(
rand
);
Instances
train_data
=
randData
.
trainCV
(
5
,
0
);
Instances
test_data
=
randData
.
testCV
(
5
,
0
);
test_data
.
setClassIndex
(
4
);
double
sum
=
test_data
.
numInstances
(),
//测试语料实例数
right
=
0.0f
;
train_data
.
setClassIndex
(
4
);
bayes_classifier
.
buildClassifier
(
train_data
);
//训练
Evaluation
eval
=
new
Evaluation
(
test_data
);
//参数为测试集
eval
.
evaluateModel
(
bayes_classifier
,
test_data
);
ArrayList
<
Double
>
list
=
new
ArrayList
<>();
for
(
Instance
instance
:
test_data
)
{
double
actual
=
instance
.
classValue
();
list
.
add
(
actual
);
}
for
(
Instance
instance
:
test_data
)
{
double
prediction
=
eval
.
evaluateModelOnce
(
bayes_classifier
,
instance
);
list
.
add
(
prediction
);
}
return
list
;
}
}
This diff is collapsed.
Click to expand it.
backend/src/main/java/com/example/backend/data/iris.arff
0 → 100644
View file @
b3461f63
% 1. Title: Iris Plants Database
%
% 2. Sources:
% (a) Creator: R.A. Fisher
% (b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
% (c) Date: July, 1988
%
% 3. Past Usage:
% - Publications: too many to mention!!! Here are a few.
% 1. Fisher,R.A. "The use of multiple measurements in taxonomic problems"
% Annual Eugenics, 7, Part II, 179-188 (1936); also in "Contributions
% to Mathematical Statistics" (John Wiley, NY, 1950).
% 2. Duda,R.O., & Hart,P.E. (1973) Pattern Classification and Scene Analysis.
% (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.
% 3. Dasarathy, B.V. (1980) "Nosing Around the Neighborhood: A New System
% Structure and Classification Rule for Recognition in Partially Exposed
% Environments". IEEE Transactions on Pattern Analysis and Machine
% Intelligence, Vol. PAMI-2, No. 1, 67-71.
% -- Results:
% -- very low misclassification rates (0% for the setosa class)
% 4. Gates, G.W. (1972) "The Reduced Nearest Neighbor Rule". IEEE
% Transactions on Information Theory, May 1972, 431-433.
% -- Results:
% -- very low misclassification rates again
% 5. See also: 1988 MLC Proceedings, 54-64. Cheeseman et al's AUTOCLASS II
% conceptual clustering system finds 3 classes in the data.
%
% 4. Relevant Information:
% --- This is perhaps the best known database to be found in the pattern
% recognition literature. Fisher's paper is a classic in the field
% and is referenced frequently to this day. (See Duda & Hart, for
% example.) The data set contains 3 classes of 50 instances each,
% where each class refers to a type of iris plant. One class is
% linearly separable from the other 2; the latter are NOT linearly
% separable from each other.
% --- Predicted attribute: class of iris plant.
% --- This is an exceedingly simple domain.
%
% 5. Number of Instances: 150 (50 in each of three classes)
%
% 6. Number of Attributes: 4 numeric, predictive attributes and the class
%
% 7. Attribute Information:
% 1. sepal length in cm
% 2. sepal width in cm
% 3. petal length in cm
% 4. petal width in cm
% 5. class:
% -- Iris Setosa
% -- Iris Versicolour
% -- Iris Virginica
%
% 8. Missing Attribute Values: None
%
% Summary Statistics:
% Min Max Mean SD Class Correlation
% sepal length: 4.3 7.9 5.84 0.83 0.7826
% sepal width: 2.0 4.4 3.05 0.43 -0.4194
% petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)
% petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)
%
% 9. Class Distribution: 33.3% for each of 3 classes.
@RELATION iris
@ATTRIBUTE sepallength REAL
@ATTRIBUTE sepalwidth REAL
@ATTRIBUTE petallength REAL
@ATTRIBUTE petalwidth REAL
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
5.0,3.4,1.5,0.2,Iris-setosa
4.4,2.9,1.4,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
5.4,3.7,1.5,0.2,Iris-setosa
4.8,3.4,1.6,0.2,Iris-setosa
4.8,3.0,1.4,0.1,Iris-setosa
4.3,3.0,1.1,0.1,Iris-setosa
5.8,4.0,1.2,0.2,Iris-setosa
5.7,4.4,1.5,0.4,Iris-setosa
5.4,3.9,1.3,0.4,Iris-setosa
5.1,3.5,1.4,0.3,Iris-setosa
5.7,3.8,1.7,0.3,Iris-setosa
5.1,3.8,1.5,0.3,Iris-setosa
5.4,3.4,1.7,0.2,Iris-setosa
5.1,3.7,1.5,0.4,Iris-setosa
4.6,3.6,1.0,0.2,Iris-setosa
5.1,3.3,1.7,0.5,Iris-setosa
4.8,3.4,1.9,0.2,Iris-setosa
5.0,3.0,1.6,0.2,Iris-setosa
5.0,3.4,1.6,0.4,Iris-setosa
5.2,3.5,1.5,0.2,Iris-setosa
5.2,3.4,1.4,0.2,Iris-setosa
4.7,3.2,1.6,0.2,Iris-setosa
4.8,3.1,1.6,0.2,Iris-setosa
5.4,3.4,1.5,0.4,Iris-setosa
5.2,4.1,1.5,0.1,Iris-setosa
5.5,4.2,1.4,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
5.0,3.2,1.2,0.2,Iris-setosa
5.5,3.5,1.3,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
4.4,3.0,1.3,0.2,Iris-setosa
5.1,3.4,1.5,0.2,Iris-setosa
5.0,3.5,1.3,0.3,Iris-setosa
4.5,2.3,1.3,0.3,Iris-setosa
4.4,3.2,1.3,0.2,Iris-setosa
5.0,3.5,1.6,0.6,Iris-setosa
5.1,3.8,1.9,0.4,Iris-setosa
4.8,3.0,1.4,0.3,Iris-setosa
5.1,3.8,1.6,0.2,Iris-setosa
4.6,3.2,1.4,0.2,Iris-setosa
5.3,3.7,1.5,0.2,Iris-setosa
5.0,3.3,1.4,0.2,Iris-setosa
7.0,3.2,4.7,1.4,Iris-versicolor
6.4,3.2,4.5,1.5,Iris-versicolor
6.9,3.1,4.9,1.5,Iris-versicolor
5.5,2.3,4.0,1.3,Iris-versicolor
6.5,2.8,4.6,1.5,Iris-versicolor
5.7,2.8,4.5,1.3,Iris-versicolor
6.3,3.3,4.7,1.6,Iris-versicolor
4.9,2.4,3.3,1.0,Iris-versicolor
6.6,2.9,4.6,1.3,Iris-versicolor
5.2,2.7,3.9,1.4,Iris-versicolor
5.0,2.0,3.5,1.0,Iris-versicolor
5.9,3.0,4.2,1.5,Iris-versicolor
6.0,2.2,4.0,1.0,Iris-versicolor
6.1,2.9,4.7,1.4,Iris-versicolor
5.6,2.9,3.6,1.3,Iris-versicolor
6.7,3.1,4.4,1.4,Iris-versicolor
5.6,3.0,4.5,1.5,Iris-versicolor
5.8,2.7,4.1,1.0,Iris-versicolor
6.2,2.2,4.5,1.5,Iris-versicolor
5.6,2.5,3.9,1.1,Iris-versicolor
5.9,3.2,4.8,1.8,Iris-versicolor
6.1,2.8,4.0,1.3,Iris-versicolor
6.3,2.5,4.9,1.5,Iris-versicolor
6.1,2.8,4.7,1.2,Iris-versicolor
6.4,2.9,4.3,1.3,Iris-versicolor
6.6,3.0,4.4,1.4,Iris-versicolor
6.8,2.8,4.8,1.4,Iris-versicolor
6.7,3.0,5.0,1.7,Iris-versicolor
6.0,2.9,4.5,1.5,Iris-versicolor
5.7,2.6,3.5,1.0,Iris-versicolor
5.5,2.4,3.8,1.1,Iris-versicolor
5.5,2.4,3.7,1.0,Iris-versicolor
5.8,2.7,3.9,1.2,Iris-versicolor
6.0,2.7,5.1,1.6,Iris-versicolor
5.4,3.0,4.5,1.5,Iris-versicolor
6.0,3.4,4.5,1.6,Iris-versicolor
6.7,3.1,4.7,1.5,Iris-versicolor
6.3,2.3,4.4,1.3,Iris-versicolor
5.6,3.0,4.1,1.3,Iris-versicolor
5.5,2.5,4.0,1.3,Iris-versicolor
5.5,2.6,4.4,1.2,Iris-versicolor
6.1,3.0,4.6,1.4,Iris-versicolor
5.8,2.6,4.0,1.2,Iris-versicolor
5.0,2.3,3.3,1.0,Iris-versicolor
5.6,2.7,4.2,1.3,Iris-versicolor
5.7,3.0,4.2,1.2,Iris-versicolor
5.7,2.9,4.2,1.3,Iris-versicolor
6.2,2.9,4.3,1.3,Iris-versicolor
5.1,2.5,3.0,1.1,Iris-versicolor
5.7,2.8,4.1,1.3,Iris-versicolor
6.3,3.3,6.0,2.5,Iris-virginica
5.8,2.7,5.1,1.9,Iris-virginica
7.1,3.0,5.9,2.1,Iris-virginica
6.3,2.9,5.6,1.8,Iris-virginica
6.5,3.0,5.8,2.2,Iris-virginica
7.6,3.0,6.6,2.1,Iris-virginica
4.9,2.5,4.5,1.7,Iris-virginica
7.3,2.9,6.3,1.8,Iris-virginica
6.7,2.5,5.8,1.8,Iris-virginica
7.2,3.6,6.1,2.5,Iris-virginica
6.5,3.2,5.1,2.0,Iris-virginica
6.4,2.7,5.3,1.9,Iris-virginica
6.8,3.0,5.5,2.1,Iris-virginica
5.7,2.5,5.0,2.0,Iris-virginica
5.8,2.8,5.1,2.4,Iris-virginica
6.4,3.2,5.3,2.3,Iris-virginica
6.5,3.0,5.5,1.8,Iris-virginica
7.7,3.8,6.7,2.2,Iris-virginica
7.7,2.6,6.9,2.3,Iris-virginica
6.0,2.2,5.0,1.5,Iris-virginica
6.9,3.2,5.7,2.3,Iris-virginica
5.6,2.8,4.9,2.0,Iris-virginica
7.7,2.8,6.7,2.0,Iris-virginica
6.3,2.7,4.9,1.8,Iris-virginica
6.7,3.3,5.7,2.1,Iris-virginica
7.2,3.2,6.0,1.8,Iris-virginica
6.2,2.8,4.8,1.8,Iris-virginica
6.1,3.0,4.9,1.8,Iris-virginica
6.4,2.8,5.6,2.1,Iris-virginica
7.2,3.0,5.8,1.6,Iris-virginica
7.4,2.8,6.1,1.9,Iris-virginica
7.9,3.8,6.4,2.0,Iris-virginica
6.4,2.8,5.6,2.2,Iris-virginica
6.3,2.8,5.1,1.5,Iris-virginica
6.1,2.6,5.6,1.4,Iris-virginica
7.7,3.0,6.1,2.3,Iris-virginica
6.3,3.4,5.6,2.4,Iris-virginica
6.4,3.1,5.5,1.8,Iris-virginica
6.0,3.0,4.8,1.8,Iris-virginica
6.9,3.1,5.4,2.1,Iris-virginica
6.7,3.1,5.6,2.4,Iris-virginica
6.9,3.1,5.1,2.3,Iris-virginica
5.8,2.7,5.1,1.9,Iris-virginica
6.8,3.2,5.9,2.3,Iris-virginica
6.7,3.3,5.7,2.5,Iris-virginica
6.7,3.0,5.2,2.3,Iris-virginica
6.3,2.5,5.0,1.9,Iris-virginica
6.5,3.0,5.2,2.0,Iris-virginica
6.2,3.4,5.4,2.3,Iris-virginica
5.9,3.0,5.1,1.8,Iris-virginica
%
%
%
This diff is collapsed.
Click to expand it.
web/src/assets/couple-stroll.png
0 → 100644
View file @
b3461f63
336 KB
This diff is collapsed.
Click to expand it.
web/src/assets/relax.png
0 → 100644
View file @
b3461f63
207 KB
This diff is collapsed.
Click to expand it.
web/src/views/iris/PetalWidthView.vue
View file @
b3461f63
...
...
@@ -23,7 +23,7 @@
<div
class=
"col-12 col-md-7 col-lg-6 order-md-1 pr-md-5"
>
<!-- Image -->
<figure
class=
"w-100"
>
<img
alt=
"Image placeholder"
src=
"../../assets/
maintenance
.png"
class=
"img-fluid mw-md-120"
>
<img
alt=
"Image placeholder"
src=
"../../assets/
presentation
.png"
class=
"img-fluid mw-md-120"
>
</figure>
</div>
</div>
...
...
This diff is collapsed.
Click to expand it.
web/src/views/iris/SepalLengthView.vue
View file @
b3461f63
...
...
@@ -23,7 +23,7 @@
<div
class=
"col-12 col-md-7 col-lg-6 order-md-1 pr-md-5"
>
<!-- Image -->
<figure
class=
"w-100"
>
<img
alt=
"Image placeholder"
src=
"../../assets/
development
.png"
class=
"img-fluid mw-md-120"
>
<img
alt=
"Image placeholder"
src=
"../../assets/
presentation
.png"
class=
"img-fluid mw-md-120"
>
</figure>
</div>
</div>
...
...
This diff is collapsed.
Click to expand it.
web/src/views/iris/SepalWidthView.vue
View file @
b3461f63
...
...
@@ -23,7 +23,7 @@
<div
class=
"col-12 col-md-7 col-lg-6 order-md-1 pr-md-5"
>
<!-- Image -->
<figure
class=
"w-100"
>
<img
alt=
"Image placeholder"
src=
"../../assets/
design-team
.png"
class=
"img-fluid mw-md-120"
>
<img
alt=
"Image placeholder"
src=
"../../assets/
presentation
.png"
class=
"img-fluid mw-md-120"
>
</figure>
</div>
</div>
...
...
This diff is collapsed.
Click to expand it.
web/src/views/iris/WekaView.vue
View file @
b3461f63
<
template
>
<div>
Weka
</div>
<section
class=
"slice py-7"
>
<div
class=
"container"
>
<div
class=
"row row-grid align-items-center"
>
<div
class=
"col-12 col-md-5 col-lg-6 order-md-2 text-center"
>
<!-- Echarts -->
<div
id=
"main"
style=
"width: 45vw; height: 60vh;"
></div>
</div>
<div
class=
"col-12 col-md-7 col-lg-6 order-md-1 pr-md-5"
>
<!-- Image -->
<figure
class=
"w-100"
>
<img
alt=
"Image placeholder"
src=
"../../assets/inspiration.png"
class=
"img-fluid mw-md-120"
>
</figure>
</div>
</div>
</div>
</section>
</
template
>
<
script
>
import
echarts
from
'
echarts
'
import
$
from
'
jquery
'
export
default
{
name
:
'
HelloWorld
'
,
methods
:{
callser
()
{
var
chartDom
=
document
.
getElementById
(
'
main
'
);
var
myChart
=
echarts
.
init
(
chartDom
);
var
option
;
option
=
{
tooltip
:
{
trigger
:
'
axis
'
},
legend
:
{
data
:
[
'
Actual Value
'
,
'
Prediction Value
'
]
},
grid
:
{
left
:
'
3%
'
,
right
:
'
4%
'
,
bottom
:
'
3%
'
,
containLabel
:
true
},
toolbox
:
{
feature
:
{
saveAsImage
:
{}
}
},
xAxis
:
{
type
:
'
category
'
,
data
:
[
'
Mon
'
,
'
Tue
'
,
'
Wed
'
,
'
Thu
'
,
'
Fri
'
,
'
Sat
'
,
'
Sun
'
]
},
yAxis
:
{
type
:
'
value
'
},
series
:
[
{
data
:
[
150
,
230
,
224
,
218
,
135
,
147
,
260
],
type
:
'
line
'
,
name
:
'
Actual Value
'
,
},
{
data
:
[
155
,
235
,
221
,
228
,
138
,
141
,
250
],
type
:
'
line
'
,
name
:
'
Prediction Value
'
,
}
]
};
let
data_actual
=
[];
let
data_prediction
=
[];
let
sample
=
[];
$
.
ajax
({
type
:
"
get
"
,
url
:
"
http://localhost:3000/weka/
"
,
contentType
:
"
application/json
"
,
success
:
function
(
resp
){
for
(
let
i
=
0
;
i
<
30
;
i
++
){
data_actual
.
push
(
resp
[
i
]);
}
for
(
let
i
=
30
;
i
<
60
;
i
++
){
data_prediction
.
push
(
resp
[
i
]);
}
for
(
let
i
=
1
;
i
<=
30
;
i
++
){
sample
.
push
(
i
);
}
myChart
.
setOption
({
series
:
[
{
data
:
data_actual
},
{
data
:
data_prediction
},
],
xAxis
:
{
data
:
sample
},
});
}
});
option
&&
myChart
.
setOption
(
option
);
}
},
mounted
()
{
this
.
callser
()
}
}
</
script
>
<
style
scoped
>
section
{
padding-top
:
10vh
;
}
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment