Skip to content

Commit f6ffd19

Browse files
author
Hernán Morales Durand
committed
Repackage methods
1 parent 1cd367a commit f6ffd19

File tree

3 files changed

+84
-82
lines changed

3 files changed

+84
-82
lines changed

src/Math-PrincipalComponentAnalysis/PMPrincipalComponentAnalyserSVD.class.st

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -10,88 +10,6 @@ Class {
1010
#package : 'Math-PrincipalComponentAnalysis'
1111
}
1212

13-
{ #category : 'examples' }
14-
PMPrincipalComponentAnalyserSVD class >> example1 [
15-
"Extract 4 columns from original data"
16-
17-
| d m pca m1 d1 irisDataFrame roassalChart scatterPlotShapes |
18-
19-
irisDataFrame := AIDatasets loadIris.
20-
d := irisDataFrame columnsFrom: 1 to: 4.
21-
22-
"Transform DF as matrix"
23-
m := PMMatrix rows: d asArrayOfRows.
24-
25-
"Data standardization (mean = 0 and variance = 1)"
26-
m := PMStandardizationScaler new fitAndTransform: m.
27-
28-
"Compute PCA components"
29-
pca := PMPrincipalComponentAnalyserSVD new.
30-
pca componentsNumber: 2.
31-
pca fit: m.
32-
pca transformMatrix.
33-
34-
m1 := pca transform: m.
35-
36-
d1 := DataFrame withRows: m1 rows.
37-
d1
38-
addColumn: (irisDataFrame columnsFrom: 5 to: 5) asArrayOfColumns first
39-
named: 'type'.
40-
41-
roassalChart := RSCompositeChart new
42-
title: 'PCA of Iris Data Frame';
43-
addDecoration: (RSHorizontalTick new doNotUseNiceLabel asFloat: 3);
44-
addDecoration: RSVerticalTick new;
45-
yourself.
46-
47-
scatterPlotShapes := (d1 column: 'type') asSet collect: [ : type |
48-
(d1 select: [ : e | e values includes: type ])
49-
addScatterPlotShapeToChart: roassalChart ].
50-
51-
roassalChart padding: 10.
52-
scatterPlotShapes asOrderedCollection
53-
with: { Color red . Color green . Color blue }
54-
do: [ : scatterPlotShape : scatterPlotDotColor |
55-
scatterPlotShape color: scatterPlotDotColor ].
56-
57-
roassalChart open.
58-
59-
60-
]
61-
62-
{ #category : 'examples' }
63-
PMPrincipalComponentAnalyserSVD class >> example2 [
64-
"Extract 4 columns from original data. This example uses Random colors for each flower type"
65-
66-
| d m pca m1 d1 irisDataFrame |
67-
68-
irisDataFrame := AIDatasets loadIris.
69-
d := irisDataFrame columnsFrom: 1 to: 4.
70-
71-
"Transform DF as matrix"
72-
m := PMMatrix rows: d asArrayOfRows.
73-
74-
"Data standardization (mean = 0 and variance = 1)"
75-
m := PMStandardizationScaler new fitAndTransform: m.
76-
77-
"Compute PCA components"
78-
pca := PMPrincipalComponentAnalyserSVD new.
79-
pca componentsNumber: 2.
80-
pca fit: m.
81-
pca transformMatrix.
82-
83-
m1 := pca transform: m.
84-
85-
d1 := DataFrame withRows: m1 rows.
86-
d1
87-
addColumn: (irisDataFrame columnsFrom: 5 to: 5) asArrayOfColumns first
88-
named: 'type'.
89-
90-
d1
91-
openScatterPlotWithTitle: 'PCA of Iris data set'
92-
forColumn: 'type'.
93-
]
94-
9513
{ #category : 'accessing' }
9614
PMPrincipalComponentAnalyserSVD >> fit: aPMMatrix [
9715

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
Extension { #name : 'PMPrincipalComponentAnalyserSVD' }
2+
3+
{ #category : '*Math-Visualizations' }
4+
PMPrincipalComponentAnalyserSVD class >> example1 [
5+
"Extract 4 columns from original data"
6+
7+
| d m pca m1 d1 irisDataFrame roassalChart scatterPlotShapes |
8+
9+
irisDataFrame := AIDatasets loadIris.
10+
d := irisDataFrame columnsFrom: 1 to: 4.
11+
12+
"Transform DF as matrix"
13+
m := PMMatrix rows: d asArrayOfRows.
14+
15+
"Data standardization (mean = 0 and variance = 1)"
16+
m := PMStandardizationScaler new fitAndTransform: m.
17+
18+
"Compute PCA components"
19+
pca := PMPrincipalComponentAnalyserSVD new.
20+
pca componentsNumber: 2.
21+
pca fit: m.
22+
pca transformMatrix.
23+
24+
m1 := pca transform: m.
25+
26+
d1 := DataFrame withRows: m1 rows.
27+
d1
28+
addColumn: (irisDataFrame columnsFrom: 5 to: 5) asArrayOfColumns first
29+
named: 'type'.
30+
31+
roassalChart := RSCompositeChart new
32+
title: 'PCA of Iris Data Frame';
33+
addDecoration: (RSHorizontalTick new doNotUseNiceLabel asFloat: 3);
34+
addDecoration: RSVerticalTick new;
35+
yourself.
36+
37+
scatterPlotShapes := (d1 column: 'type') asSet collect: [ : type |
38+
(d1 select: [ : e | e values includes: type ])
39+
addScatterPlotShapeToChart: roassalChart ].
40+
41+
roassalChart padding: 10.
42+
scatterPlotShapes asOrderedCollection
43+
with: { Color red . Color green . Color blue }
44+
do: [ : scatterPlotShape : scatterPlotDotColor |
45+
scatterPlotShape color: scatterPlotDotColor ].
46+
47+
roassalChart open.
48+
49+
50+
]
51+
52+
{ #category : '*Math-Visualizations' }
53+
PMPrincipalComponentAnalyserSVD class >> example2 [
54+
"Extract 4 columns from original data. This example uses Random colors for each flower type"
55+
56+
| d m pca m1 d1 irisDataFrame |
57+
58+
irisDataFrame := AIDatasets loadIris.
59+
d := irisDataFrame columnsFrom: 1 to: 4.
60+
61+
"Transform DF as matrix"
62+
m := PMMatrix rows: d asArrayOfRows.
63+
64+
"Data standardization (mean = 0 and variance = 1)"
65+
m := PMStandardizationScaler new fitAndTransform: m.
66+
67+
"Compute PCA components"
68+
pca := PMPrincipalComponentAnalyserSVD new.
69+
pca componentsNumber: 2.
70+
pca fit: m.
71+
pca transformMatrix.
72+
73+
m1 := pca transform: m.
74+
75+
d1 := DataFrame withRows: m1 rows.
76+
d1
77+
addColumn: (irisDataFrame columnsFrom: 5 to: 5) asArrayOfColumns first
78+
named: 'type'.
79+
80+
d1
81+
openScatterPlotWithTitle: 'PCA of Iris data set'
82+
forColumn: 'type'.
83+
]

src/Math-Visualizations/package.st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Package { #name : 'Math-Visualizations' }

0 commit comments

Comments
 (0)