From 71a853c7814d4b68f654e1324b48cab9b6fee5a9 Mon Sep 17 00:00:00 2001 From: Armin Wolf Date: Fri, 30 Jun 2017 10:34:01 +0200 Subject: [PATCH] paar datasets gefunden, indexierungsfehler beim importer gefixt, beim rm fast select eingepflegt --- dataset/AppliedLinearRegression.csv | 17 + dataset/AppliedLinearRegression2.csv | 62 + dataset/ENB2012_data.csv | 768 ++++++++ dataset/test2.csv | 60 +- dataset/winequality-red.csv | 1599 +++++++++++++++++ .../Algorithms/RepeatedMedianEstimator.java | 49 +- .../Algorithms/TheilSenEstimator.java | 2 +- .../java/Presenter/Import/DataImporter.java | 10 +- src/main/java/Presenter/Presenter.java | 127 +- src/main/java/View/ArrangementDialog.java | 4 +- src/main/java/View/ArrangementDialog2.java | 96 - src/main/java/View/MainFrame.java | 22 +- src/main/java/View/Panels/OutputPanel.java | 9 +- 13 files changed, 2603 insertions(+), 222 deletions(-) create mode 100644 dataset/AppliedLinearRegression.csv create mode 100644 dataset/AppliedLinearRegression2.csv create mode 100644 dataset/ENB2012_data.csv create mode 100644 dataset/winequality-red.csv delete mode 100644 src/main/java/View/ArrangementDialog2.java diff --git a/dataset/AppliedLinearRegression.csv b/dataset/AppliedLinearRegression.csv new file mode 100644 index 0000000..febeb73 --- /dev/null +++ b/dataset/AppliedLinearRegression.csv @@ -0,0 +1,17 @@ +0,23.1,10.5 +1,32.8,16.7 +2,31.8,18.2 +3,32.0,17.0 +4,30.4,16.3 +5,24.0,10.5 +6,39.5,23.1 +7,24.2,12.4 +8,52.5,24.9 +9,37.9,22.8 +10,30.5,14.1 +11,25.1,12.9 +12,12.4,8.8 +13,35.1,17.4 +14,31.5,14.9 +15,21.1,10.5 +16,27.6,16.1 \ No newline at end of file diff --git a/dataset/AppliedLinearRegression2.csv b/dataset/AppliedLinearRegression2.csv new file mode 100644 index 0000000..b97f275 --- /dev/null +++ b/dataset/AppliedLinearRegression2.csv @@ -0,0 +1,62 @@ +0,4,4 +1,5,2 +2,5,4 +3,5,8 +4,5,8 +5,7,7 +6,7,7 +7,8,8 +8,8,9 +9,8,11 +10,8,13 +11,9,5 +12,9,5 +13,9,13 +14,10,8 +15,10,14 +16,10,17 +17,12,11 +18,12,19 +19,12,21 +20,13,15 +21,13,18 +22,13,27 +23,14,14 +24,14,16 +25,15,16 +26,16,14 +27,16,19 +28,16,34 +29,17,22 +30,17,29 +31,18,29 +32,18,34 +33,18,47 +34,19,30 +35,20,48 +36,21,39 +37,21,42 +38,21,55 +39,24,56 +40,25,33 +41,25,48 +42,25,56 +43,25,59 +44,26,39 +45,26,41 +46,27,57 +47,27,78 +48,28,64 +49,28,84 +50,29,54 +51,29,68 +52,30,60 +53,30,67 +54,30,101 +55,31,77 +56,35,85 +57,35,107 +58,36,79 +59,39,138 +60,40,110 +61,40,134 \ No newline at end of file diff --git a/dataset/ENB2012_data.csv b/dataset/ENB2012_data.csv new file mode 100644 index 0000000..c7b744a --- /dev/null +++ b/dataset/ENB2012_data.csv @@ -0,0 +1,768 @@ +0,514.50,294.00 +1,514.50,294.00 +2,514.50,294.00 +3,514.50,294.00 +4,563.50,318.50 +5,563.50,318.50 +6,563.50,318.50 +7,563.50,318.50 +8,588.00,294.00 +9,588.00,294.00 +10,588.00,294.00 +11,588.00,294.00 +12,612.50,318.50 +13,612.50,318.50 +14,612.50,318.50 +15,612.50,318.50 +16,637.00,343.00 +17,637.00,343.00 +18,637.00,343.00 +19,637.00,343.00 +20,661.50,416.50 +21,661.50,416.50 +22,661.50,416.50 +23,661.50,416.50 +24,686.00,245.00 +25,686.00,245.00 +26,686.00,245.00 +27,686.00,245.00 +28,710.50,269.50 +29,710.50,269.50 +30,710.50,269.50 +31,710.50,269.50 +32,735.00,294.00 +33,735.00,294.00 +34,735.00,294.00 +35,735.00,294.00 +36,759.50,318.50 +37,759.50,318.50 +38,759.50,318.50 +39,759.50,318.50 +40,784.00,343.00 +41,784.00,343.00 +42,784.00,343.00 +43,784.00,343.00 +44,808.50,367.50 +45,808.50,367.50 +46,808.50,367.50 +47,808.50,367.50 +48,514.50,294.00 +49,514.50,294.00 +50,514.50,294.00 +51,514.50,294.00 +52,563.50,318.50 +53,563.50,318.50 +54,563.50,318.50 +55,563.50,318.50 +56,588.00,294.00 +57,588.00,294.00 +58,588.00,294.00 +59,588.00,294.00 +60,612.50,318.50 +61,612.50,318.50 +62,612.50,318.50 +63,612.50,318.50 +64,637.00,343.00 +65,637.00,343.00 +66,637.00,343.00 +67,637.00,343.00 +68,661.50,416.50 +69,661.50,416.50 +70,661.50,416.50 +71,661.50,416.50 +72,686.00,245.00 +73,686.00,245.00 +74,686.00,245.00 +75,686.00,245.00 +76,710.50,269.50 +77,710.50,269.50 +78,710.50,269.50 +79,710.50,269.50 +80,735.00,294.00 +81,735.00,294.00 +82,735.00,294.00 +83,735.00,294.00 +84,759.50,318.50 +85,759.50,318.50 +86,759.50,318.50 +87,759.50,318.50 +88,784.00,343.00 +89,784.00,343.00 +90,784.00,343.00 +91,784.00,343.00 +92,808.50,367.50 +93,808.50,367.50 +94,808.50,367.50 +95,808.50,367.50 +96,514.50,294.00 +97,514.50,294.00 +98,514.50,294.00 +99,514.50,294.00 +100,563.50,318.50 +101,563.50,318.50 +102,563.50,318.50 +103,563.50,318.50 +104,588.00,294.00 +105,588.00,294.00 +106,588.00,294.00 +107,588.00,294.00 +108,612.50,318.50 +109,612.50,318.50 +110,612.50,318.50 +111,612.50,318.50 +112,637.00,343.00 +113,637.00,343.00 +114,637.00,343.00 +115,637.00,343.00 +116,661.50,416.50 +117,661.50,416.50 +118,661.50,416.50 +119,661.50,416.50 +120,686.00,245.00 +121,686.00,245.00 +122,686.00,245.00 +123,686.00,245.00 +124,710.50,269.50 +125,710.50,269.50 +126,710.50,269.50 +127,710.50,269.50 +128,735.00,294.00 +129,735.00,294.00 +130,735.00,294.00 +131,735.00,294.00 +132,759.50,318.50 +133,759.50,318.50 +134,759.50,318.50 +135,759.50,318.50 +136,784.00,343.00 +137,784.00,343.00 +138,784.00,343.00 +139,784.00,343.00 +140,808.50,367.50 +141,808.50,367.50 +142,808.50,367.50 +143,808.50,367.50 +144,514.50,294.00 +145,514.50,294.00 +146,514.50,294.00 +147,514.50,294.00 +148,563.50,318.50 +149,563.50,318.50 +150,563.50,318.50 +151,563.50,318.50 +152,588.00,294.00 +153,588.00,294.00 +154,588.00,294.00 +155,588.00,294.00 +156,612.50,318.50 +157,612.50,318.50 +158,612.50,318.50 +159,612.50,318.50 +160,637.00,343.00 +161,637.00,343.00 +162,637.00,343.00 +163,637.00,343.00 +164,661.50,416.50 +165,661.50,416.50 +166,661.50,416.50 +167,661.50,416.50 +168,686.00,245.00 +169,686.00,245.00 +170,686.00,245.00 +171,686.00,245.00 +172,710.50,269.50 +173,710.50,269.50 +174,710.50,269.50 +175,710.50,269.50 +176,735.00,294.00 +177,735.00,294.00 +178,735.00,294.00 +179,735.00,294.00 +180,759.50,318.50 +181,759.50,318.50 +182,759.50,318.50 +183,759.50,318.50 +184,784.00,343.00 +185,784.00,343.00 +186,784.00,343.00 +187,784.00,343.00 +188,808.50,367.50 +189,808.50,367.50 +190,808.50,367.50 +191,808.50,367.50 +192,514.50,294.00 +193,514.50,294.00 +194,514.50,294.00 +195,514.50,294.00 +196,563.50,318.50 +197,563.50,318.50 +198,563.50,318.50 +199,563.50,318.50 +200,588.00,294.00 +201,588.00,294.00 +202,588.00,294.00 +203,588.00,294.00 +204,612.50,318.50 +205,612.50,318.50 +206,612.50,318.50 +207,612.50,318.50 +208,637.00,343.00 +209,637.00,343.00 +210,637.00,343.00 +211,637.00,343.00 +212,661.50,416.50 +213,661.50,416.50 +214,661.50,416.50 +215,661.50,416.50 +216,686.00,245.00 +217,686.00,245.00 +218,686.00,245.00 +219,686.00,245.00 +220,710.50,269.50 +221,710.50,269.50 +222,710.50,269.50 +223,710.50,269.50 +224,735.00,294.00 +225,735.00,294.00 +226,735.00,294.00 +227,735.00,294.00 +228,759.50,318.50 +229,759.50,318.50 +230,759.50,318.50 +231,759.50,318.50 +232,784.00,343.00 +233,784.00,343.00 +234,784.00,343.00 +235,784.00,343.00 +236,808.50,367.50 +237,808.50,367.50 +238,808.50,367.50 +239,808.50,367.50 +240,514.50,294.00 +241,514.50,294.00 +242,514.50,294.00 +243,514.50,294.00 +244,563.50,318.50 +245,563.50,318.50 +246,563.50,318.50 +247,563.50,318.50 +248,588.00,294.00 +249,588.00,294.00 +250,588.00,294.00 +251,588.00,294.00 +252,612.50,318.50 +253,612.50,318.50 +254,612.50,318.50 +255,612.50,318.50 +256,637.00,343.00 +257,637.00,343.00 +258,637.00,343.00 +259,637.00,343.00 +260,661.50,416.50 +261,661.50,416.50 +262,661.50,416.50 +263,661.50,416.50 +264,686.00,245.00 +265,686.00,245.00 +266,686.00,245.00 +267,686.00,245.00 +268,710.50,269.50 +269,710.50,269.50 +270,710.50,269.50 +271,710.50,269.50 +272,735.00,294.00 +273,735.00,294.00 +274,735.00,294.00 +275,735.00,294.00 +276,759.50,318.50 +277,759.50,318.50 +278,759.50,318.50 +279,759.50,318.50 +280,784.00,343.00 +281,784.00,343.00 +282,784.00,343.00 +283,784.00,343.00 +284,808.50,367.50 +285,808.50,367.50 +286,808.50,367.50 +287,808.50,367.50 +288,514.50,294.00 +289,514.50,294.00 +290,514.50,294.00 +291,514.50,294.00 +292,563.50,318.50 +293,563.50,318.50 +294,563.50,318.50 +295,563.50,318.50 +296,588.00,294.00 +297,588.00,294.00 +298,588.00,294.00 +299,588.00,294.00 +300,612.50,318.50 +301,612.50,318.50 +302,612.50,318.50 +303,612.50,318.50 +304,637.00,343.00 +305,637.00,343.00 +306,637.00,343.00 +307,637.00,343.00 +308,661.50,416.50 +309,661.50,416.50 +310,661.50,416.50 +311,661.50,416.50 +312,686.00,245.00 +313,686.00,245.00 +314,686.00,245.00 +315,686.00,245.00 +316,710.50,269.50 +317,710.50,269.50 +318,710.50,269.50 +319,710.50,269.50 +320,735.00,294.00 +321,735.00,294.00 +322,735.00,294.00 +323,735.00,294.00 +324,759.50,318.50 +325,759.50,318.50 +326,759.50,318.50 +327,759.50,318.50 +328,784.00,343.00 +329,784.00,343.00 +330,784.00,343.00 +331,784.00,343.00 +332,808.50,367.50 +333,808.50,367.50 +334,808.50,367.50 +335,808.50,367.50 +336,514.50,294.00 +337,514.50,294.00 +338,514.50,294.00 +339,514.50,294.00 +340,563.50,318.50 +341,563.50,318.50 +342,563.50,318.50 +343,563.50,318.50 +344,588.00,294.00 +345,588.00,294.00 +346,588.00,294.00 +347,588.00,294.00 +348,612.50,318.50 +349,612.50,318.50 +350,612.50,318.50 +351,612.50,318.50 +352,637.00,343.00 +353,637.00,343.00 +354,637.00,343.00 +355,637.00,343.00 +356,661.50,416.50 +357,661.50,416.50 +358,661.50,416.50 +359,661.50,416.50 +360,686.00,245.00 +361,686.00,245.00 +362,686.00,245.00 +363,686.00,245.00 +364,710.50,269.50 +365,710.50,269.50 +366,710.50,269.50 +367,710.50,269.50 +368,735.00,294.00 +369,735.00,294.00 +370,735.00,294.00 +371,735.00,294.00 +372,759.50,318.50 +373,759.50,318.50 +374,759.50,318.50 +375,759.50,318.50 +376,784.00,343.00 +377,784.00,343.00 +378,784.00,343.00 +379,784.00,343.00 +380,808.50,367.50 +381,808.50,367.50 +382,808.50,367.50 +383,808.50,367.50 +384,514.50,294.00 +385,514.50,294.00 +386,514.50,294.00 +387,514.50,294.00 +388,563.50,318.50 +389,563.50,318.50 +390,563.50,318.50 +391,563.50,318.50 +392,588.00,294.00 +393,588.00,294.00 +394,588.00,294.00 +395,588.00,294.00 +396,612.50,318.50 +397,612.50,318.50 +398,612.50,318.50 +399,612.50,318.50 +400,637.00,343.00 +401,637.00,343.00 +402,637.00,343.00 +403,637.00,343.00 +404,661.50,416.50 +405,661.50,416.50 +406,661.50,416.50 +407,661.50,416.50 +408,686.00,245.00 +409,686.00,245.00 +410,686.00,245.00 +411,686.00,245.00 +412,710.50,269.50 +413,710.50,269.50 +414,710.50,269.50 +415,710.50,269.50 +416,735.00,294.00 +417,735.00,294.00 +418,735.00,294.00 +419,735.00,294.00 +420,759.50,318.50 +421,759.50,318.50 +422,759.50,318.50 +423,759.50,318.50 +424,784.00,343.00 +425,784.00,343.00 +426,784.00,343.00 +427,784.00,343.00 +428,808.50,367.50 +429,808.50,367.50 +430,808.50,367.50 +431,808.50,367.50 +432,514.50,294.00 +433,514.50,294.00 +434,514.50,294.00 +435,514.50,294.00 +436,563.50,318.50 +437,563.50,318.50 +438,563.50,318.50 +439,563.50,318.50 +440,588.00,294.00 +441,588.00,294.00 +442,588.00,294.00 +443,588.00,294.00 +444,612.50,318.50 +445,612.50,318.50 +446,612.50,318.50 +447,612.50,318.50 +448,637.00,343.00 +449,637.00,343.00 +450,637.00,343.00 +451,637.00,343.00 +452,661.50,416.50 +453,661.50,416.50 +454,661.50,416.50 +455,661.50,416.50 +456,686.00,245.00 +457,686.00,245.00 +458,686.00,245.00 +459,686.00,245.00 +460,710.50,269.50 +461,710.50,269.50 +462,710.50,269.50 +463,710.50,269.50 +464,735.00,294.00 +465,735.00,294.00 +466,735.00,294.00 +467,735.00,294.00 +468,759.50,318.50 +469,759.50,318.50 +470,759.50,318.50 +471,759.50,318.50 +472,784.00,343.00 +473,784.00,343.00 +474,784.00,343.00 +475,784.00,343.00 +476,808.50,367.50 +477,808.50,367.50 +478,808.50,367.50 +479,808.50,367.50 +480,514.50,294.00 +481,514.50,294.00 +482,514.50,294.00 +483,514.50,294.00 +484,563.50,318.50 +485,563.50,318.50 +486,563.50,318.50 +487,563.50,318.50 +488,588.00,294.00 +489,588.00,294.00 +490,588.00,294.00 +491,588.00,294.00 +492,612.50,318.50 +493,612.50,318.50 +494,612.50,318.50 +495,612.50,318.50 +496,637.00,343.00 +497,637.00,343.00 +498,637.00,343.00 +499,637.00,343.00 +500,661.50,416.50 +501,661.50,416.50 +502,661.50,416.50 +503,661.50,416.50 +504,686.00,245.00 +505,686.00,245.00 +506,686.00,245.00 +507,686.00,245.00 +508,710.50,269.50 +509,710.50,269.50 +510,710.50,269.50 +511,710.50,269.50 +512,735.00,294.00 +513,735.00,294.00 +514,735.00,294.00 +515,735.00,294.00 +516,759.50,318.50 +517,759.50,318.50 +518,759.50,318.50 +519,759.50,318.50 +520,784.00,343.00 +521,784.00,343.00 +522,784.00,343.00 +523,784.00,343.00 +524,808.50,367.50 +525,808.50,367.50 +526,808.50,367.50 +527,808.50,367.50 +528,514.50,294.00 +529,514.50,294.00 +530,514.50,294.00 +531,514.50,294.00 +532,563.50,318.50 +533,563.50,318.50 +534,563.50,318.50 +535,563.50,318.50 +536,588.00,294.00 +537,588.00,294.00 +538,588.00,294.00 +539,588.00,294.00 +540,612.50,318.50 +541,612.50,318.50 +542,612.50,318.50 +543,612.50,318.50 +544,637.00,343.00 +545,637.00,343.00 +546,637.00,343.00 +547,637.00,343.00 +548,661.50,416.50 +549,661.50,416.50 +550,661.50,416.50 +551,661.50,416.50 +552,686.00,245.00 +553,686.00,245.00 +554,686.00,245.00 +555,686.00,245.00 +556,710.50,269.50 +557,710.50,269.50 +558,710.50,269.50 +559,710.50,269.50 +560,735.00,294.00 +561,735.00,294.00 +562,735.00,294.00 +563,735.00,294.00 +564,759.50,318.50 +565,759.50,318.50 +566,759.50,318.50 +567,759.50,318.50 +568,784.00,343.00 +569,784.00,343.00 +570,784.00,343.00 +571,784.00,343.00 +572,808.50,367.50 +573,808.50,367.50 +574,808.50,367.50 +575,808.50,367.50 +576,514.50,294.00 +577,514.50,294.00 +578,514.50,294.00 +579,514.50,294.00 +580,563.50,318.50 +581,563.50,318.50 +582,563.50,318.50 +583,563.50,318.50 +584,588.00,294.00 +585,588.00,294.00 +586,588.00,294.00 +587,588.00,294.00 +588,612.50,318.50 +589,612.50,318.50 +590,612.50,318.50 +591,612.50,318.50 +592,637.00,343.00 +593,637.00,343.00 +594,637.00,343.00 +595,637.00,343.00 +596,661.50,416.50 +597,661.50,416.50 +598,661.50,416.50 +599,661.50,416.50 +600,686.00,245.00 +601,686.00,245.00 +602,686.00,245.00 +603,686.00,245.00 +604,710.50,269.50 +605,710.50,269.50 +606,710.50,269.50 +607,710.50,269.50 +608,735.00,294.00 +609,735.00,294.00 +610,735.00,294.00 +611,735.00,294.00 +612,759.50,318.50 +613,759.50,318.50 +614,759.50,318.50 +615,759.50,318.50 +616,784.00,343.00 +617,784.00,343.00 +618,784.00,343.00 +619,784.00,343.00 +620,808.50,367.50 +621,808.50,367.50 +622,808.50,367.50 +623,808.50,367.50 +624,514.50,294.00 +625,514.50,294.00 +626,514.50,294.00 +627,514.50,294.00 +628,563.50,318.50 +629,563.50,318.50 +630,563.50,318.50 +631,563.50,318.50 +632,588.00,294.00 +633,588.00,294.00 +634,588.00,294.00 +635,588.00,294.00 +636,612.50,318.50 +637,612.50,318.50 +638,612.50,318.50 +639,612.50,318.50 +640,637.00,343.00 +641,637.00,343.00 +642,637.00,343.00 +643,637.00,343.00 +644,661.50,416.50 +645,661.50,416.50 +646,661.50,416.50 +647,661.50,416.50 +648,686.00,245.00 +649,686.00,245.00 +650,686.00,245.00 +651,686.00,245.00 +652,710.50,269.50 +653,710.50,269.50 +654,710.50,269.50 +655,710.50,269.50 +656,735.00,294.00 +657,735.00,294.00 +658,735.00,294.00 +659,735.00,294.00 +660,759.50,318.50 +661,759.50,318.50 +662,759.50,318.50 +663,759.50,318.50 +664,784.00,343.00 +665,784.00,343.00 +666,784.00,343.00 +667,784.00,343.00 +668,808.50,367.50 +669,808.50,367.50 +670,808.50,367.50 +671,808.50,367.50 +672,514.50,294.00 +673,514.50,294.00 +674,514.50,294.00 +675,514.50,294.00 +676,563.50,318.50 +677,563.50,318.50 +678,563.50,318.50 +679,563.50,318.50 +680,588.00,294.00 +681,588.00,294.00 +682,588.00,294.00 +683,588.00,294.00 +684,612.50,318.50 +685,612.50,318.50 +686,612.50,318.50 +687,612.50,318.50 +688,637.00,343.00 +689,637.00,343.00 +690,637.00,343.00 +691,637.00,343.00 +692,661.50,416.50 +693,661.50,416.50 +694,661.50,416.50 +695,661.50,416.50 +696,686.00,245.00 +697,686.00,245.00 +698,686.00,245.00 +699,686.00,245.00 +700,710.50,269.50 +701,710.50,269.50 +702,710.50,269.50 +703,710.50,269.50 +704,735.00,294.00 +705,735.00,294.00 +706,735.00,294.00 +707,735.00,294.00 +708,759.50,318.50 +709,759.50,318.50 +710,759.50,318.50 +711,759.50,318.50 +712,784.00,343.00 +713,784.00,343.00 +714,784.00,343.00 +715,784.00,343.00 +716,808.50,367.50 +717,808.50,367.50 +718,808.50,367.50 +719,808.50,367.50 +720,514.50,294.00 +721,514.50,294.00 +722,514.50,294.00 +723,514.50,294.00 +724,563.50,318.50 +725,563.50,318.50 +726,563.50,318.50 +727,563.50,318.50 +728,588.00,294.00 +729,588.00,294.00 +730,588.00,294.00 +731,588.00,294.00 +732,612.50,318.50 +733,612.50,318.50 +734,612.50,318.50 +735,612.50,318.50 +736,637.00,343.00 +737,637.00,343.00 +738,637.00,343.00 +739,637.00,343.00 +740,661.50,416.50 +741,661.50,416.50 +742,661.50,416.50 +743,661.50,416.50 +744,686.00,245.00 +745,686.00,245.00 +746,686.00,245.00 +747,686.00,245.00 +748,710.50,269.50 +749,710.50,269.50 +750,710.50,269.50 +751,710.50,269.50 +752,735.00,294.00 +753,735.00,294.00 +754,735.00,294.00 +755,735.00,294.00 +756,759.50,318.50 +757,759.50,318.50 +758,759.50,318.50 +759,759.50,318.50 +760,784.00,343.00 +761,784.00,343.00 +762,784.00,343.00 +763,784.00,343.00 +764,808.50,367.50 +765,808.50,367.50 +766,808.50,367.50 +767,808.50,367.50 diff --git a/dataset/test2.csv b/dataset/test2.csv index f21e208..0cfaf9a 100644 --- a/dataset/test2.csv +++ b/dataset/test2.csv @@ -1,30 +1,30 @@ -1,39,144 -2,47,220 -3,45,138 -4,47,145 -5,65,162 -6,46,142 -7,67,170 -8,42,124 -9,67,158 -10,56,154 -11,64,162 -12,56,150 -13,59,140 -14,34,110 -15,42,128 -16,48,130 -17,45,135 -18,17,114 -19,20,116 -20,19,124 -21,36,136 -22,50,142 -23,39,120 -24,21,120 -25,44,160 -26,53,158 -27,63,144 -28,29,130 -29,25,125 -30,69,175 \ No newline at end of file +0,39,144 +1,47,220 +2,45,138 +3,47,145 +4,65,162 +5,46,142 +6,67,170 +7,42,124 +8,67,158 +9,56,154 +10,64,162 +11,56,150 +12,59,140 +13,34,110 +14,42,128 +15,48,130 +16,45,135 +17,17,114 +18,20,116 +29,19,124 +20,36,136 +21,50,142 +22,39,120 +23,21,120 +24,44,160 +25,53,158 +26,63,144 +27,29,130 +28,25,125 +29,69,175 \ No newline at end of file diff --git a/dataset/winequality-red.csv b/dataset/winequality-red.csv new file mode 100644 index 0000000..e5100d7 --- /dev/null +++ b/dataset/winequality-red.csv @@ -0,0 +1,1599 @@ +0,7.4,1.9 +1,7.8,2.6 +2,7.8,2.3 +3,11.2,1.9 +4,7.4,1.9 +5,7.4,1.8 +6,7.9,1.6 +7,7.3,1.2 +8,7.8,2 +9,7.5,6.1 +10,6.7,1.8 +11,7.5,6.1 +12,5.6,1.6 +13,7.8,1.6 +14,8.9,3.8 +15,8.9,3.9 +16,8.5,1.8 +17,8.1,1.7 +18,7.4,4.4 +19,7.9,1.8 +20,8.9,1.8 +21,7.6,2.3 +22,7.9,1.6 +23,8.5,2.3 +24,6.9,2.4 +25,6.3,1.4 +26,7.6,1.8 +27,7.9,1.6 +28,7.1,1.9 +29,7.8,2 +30,6.7,2.4 +31,6.9,2.5 +32,8.3,2.3 +33,6.9,10.7 +34,5.2,1.8 +35,7.8,5.5 +36,7.8,2.4 +37,8.1,2.1 +38,5.7,1.5 +39,7.3,5.9 +40,7.3,5.9 +41,8.8,2.8 +42,7.5,2.6 +43,8.1,2.2 +44,6.8,1.8 +45,4.6,2.1 +46,7.7,2.2 +47,8.7,1.6 +48,6.4,1.6 +49,5.6,1.4 +50,8.8,1.7 +51,6.6,2.2 +52,6.6,2.1 +53,8.6,3 +54,7.6,2.8 +55,7.7,3.8 +56,10.2,3.4 +57,7.5,5.1 +58,7.8,2.3 +59,7.3,2.4 +60,8.8,2.2 +61,7.7,1.8 +62,7.5,1.9 +63,7,2 +64,7.2,4.65 +65,7.2,4.65 +66,7.5,1.5 +67,6.6,1.6 +68,9.3,2 +69,8,1.9 +70,7.7,1.9 +71,7.7,2.1 +72,7.7,1.9 +73,8.3,2.1 +74,9.7,2.5 +75,8.8,2.2 +76,8.8,2.2 +77,6.8,2.4 +78,6.7,2 +79,8.3,1.5 +80,6.2,1.6 +81,7.8,1.9 +82,7.4,2 +83,7.3,1.8 +84,6.3,1.8 +85,6.9,2.2 +86,8.6,1.9 +87,7.7,1.9 +88,9.3,2.1 +89,7,1.8 +90,7.9,1.9 +91,8.6,1.9 +92,8.6,2 +93,7.7,1.9 +94,5,1.4 +95,4.7,2.3 +96,6.8,3 +97,7,2 +98,7.6,2.5 +99,8.1,1.9 +100,8.3,2.1 +101,7.8,1.9 +102,8.1,1.9 +103,8.1,2.1 +104,7.2,2.2 +105,8.1,2.1 +106,7.8,1.7 +107,6.2,1.7 +108,8,2.5 +109,8.1,2 +110,7.8,1.8 +111,8.4,2.2 +112,8.4,2.2 +113,10.1,2.3 +114,7.8,1.8 +115,9.4,2.2 +116,8.3,1.9 +117,7.8,2 +118,8.8,2.2 +119,7,1.8 +120,7.3,1.7 +121,8.8,2.2 +122,7.3,2.5 +123,8,2.6 +124,7.8,1.6 +125,9,1.9 +126,8.2,1.7 +127,8.1,1.8 +128,8,1.8 +129,6.1,1.8 +130,8,2 +131,5.6,2.3 +132,5.6,2.3 +133,6.6,1.5 +134,7.9,2.2 +135,8.4,1.9 +136,8.3,1.8 +137,7.2,2 +138,7.8,2.1 +139,7.8,2 +140,8.4,1.9 +141,8.3,1.8 +142,5.2,1.8 +143,6.3,1.7 +144,5.2,1.8 +145,8.1,1.8 +146,5.8,1.8 +147,7.6,1.6 +148,6.9,2.3 +149,8.2,2.8 +150,7.3,2.1 +151,9.2,3.4 +152,7.5,1.8 +153,7.5,1.8 +154,7.1,5.5 +155,7.1,5.5 +156,7.1,5.5 +157,7.1,5.5 +158,7.1,2.2 +159,6.8,1.9 +160,7.6,2 +161,7.6,1.3 +162,7.8,1.7 +163,7.4,7.3 +164,7.3,7.2 +165,7.8,1.7 +166,6.8,2.1 +167,7.3,1.6 +168,6.8,2.1 +169,7.5,1.8 +170,7.9,1.8 +171,8,2 +172,8,2 +173,7.4,1.9 +174,7.3,2 +175,6.9,1.5 +176,7.3,2 +177,7.5,2.3 +178,7,2.5 +179,8.8,2.4 +180,8.8,2.4 +181,8.9,2 +182,7.2,2.5 +183,6.8,1.8 +184,6.7,1.9 +185,8.9,2 +186,7.4,2 +187,7.7,2.6 +188,7.9,2 +189,7.9,1.9 +190,8.2,2.9 +191,6.4,1.9 +192,6.8,3.8 +193,7.6,2.2 +194,7.6,2.2 +195,7.8,2 +196,7.3,2.4 +197,11.5,2 +198,5.4,1.2 +199,6.9,2.1 +200,9.6,1.4 +201,8.8,2.1 +202,6.8,1.5 +203,7,1.6 +204,7,1.6 +205,12.8,2.6 +206,12.8,2.6 +207,7.8,1.8 +208,7.8,2.7 +209,11,2.1 +210,9.7,2 +211,8,2.8 +212,11.6,2.1 +213,8.2,2.2 +214,7.8,2.4 +215,7,5.6 +216,8.7,2 +217,8.1,2.2 +218,7.5,1.9 +219,7.8,2.4 +220,7.8,2 +221,7.4,2 +222,6.8,1.5 +223,8.6,2 +224,8.4,2 +225,7.7,2.6 +226,8.9,2 +227,9,2.6 +228,7.7,2.6 +229,6.9,2.6 +230,5.2,1.6 +231,8,1.8 +232,8.5,2.8 +233,6.9,2.6 +234,8.2,2.3 +235,7.2,1.9 +236,7.2,1.9 +237,7.2,1.9 +238,7.2,1.9 +239,8.2,2.3 +240,8.9,1.7 +241,12,2.1 +242,7.7,1.8 +243,15,2.2 +244,15,2.2 +245,7.3,2 +246,7.1,1.9 +247,8.2,2.3 +248,7.7,1.7 +249,7.3,2 +250,10.8,1.6 +251,7.1,1.8 +252,11.1,3.1 +253,7.7,1.9 +254,7.1,1.8 +255,8,3.2 +256,9.4,2.2 +257,6.6,2.1 +258,7.7,1.8 +259,10,2.6 +260,7.9,1.7 +261,7,2 +262,8,1.7 +263,7.9,1.8 +264,12.5,2.4 +265,11.8,1.8 +266,8.1,3.3 +267,7.9,3.6 +268,6.9,3 +269,11.5,4 +270,7.9,4 +271,11.5,4 +272,10.9,4 +273,8.4,2.4 +274,7.5,7 +275,7.9,4 +276,6.9,3 +277,11.5,4 +278,10.3,6.4 +279,8.9,5.6 +280,11.4,3.6 +281,7.7,3.5 +282,7.6,3 +283,8.9,5.6 +284,9.9,3.4 +285,9.9,3.4 +286,12,2 +287,7.5,3 +288,8.7,2.5 +289,11.6,3.3 +290,8.7,2.5 +291,11,2 +292,10.4,2.7 +293,6.9,2.4 +294,13.3,3.2 +295,10.8,2.5 +296,10.6,2.6 +297,7.1,2 +298,7.2,2.3 +299,6.9,2.1 +300,7.5,2.6 +301,11.1,1.5 +302,8.3,2.6 +303,7.4,1.6 +304,8.4,2.1 +305,10.3,2.5 +306,7.6,2.2 +307,10.3,2.4 +308,10.3,2.4 +309,7.4,1.7 +310,10.3,2.5 +311,7.9,2 +312,9,2.8 +313,8.6,3 +314,7.4,2.6 +315,7.1,2.5 +316,9.6,3.4 +317,9.6,2.9 +318,9.8,3.2 +319,9.6,2.9 +320,9.8,3.2 +321,9.3,3.4 +322,7.8,2.3 +323,10.3,2.8 +324,10,11 +325,10,11 +326,11.6,3.65 +327,10.3,4.5 +328,13.4,2.6 +329,10.7,2 +330,10.2,2.9 +331,10.2,2.9 +332,8,3.2 +333,8.4,2.1 +334,7.9,2.5 +335,11.9,3.4 +336,8.9,1.9 +337,7.8,2.8 +338,12.4,3 +339,12.5,2.3 +340,12.2,2.4 +341,10.6,2.7 +342,10.9,1.8 +343,10.9,1.8 +344,11.9,2.6 +345,7,1.9 +346,6.6,2.7 +347,13.8,3 +348,9.6,2.8 +349,9.1,2.6 +350,10.7,2.7 +351,9.1,2.6 +352,7.7,2.4 +353,13.5,4.8 +354,6.1,1.4 +355,6.7,2.4 +356,11.5,3 +357,10.5,2.95 +358,11.9,3.1 +359,12.6,2.6 +360,8.2,2 +361,8.6,2.6 +362,11.9,2.5 +363,12.5,2 +364,12.8,5.8 +365,10,3.4 +366,12.8,5.8 +367,10.4,2.6 +368,10.3,2.8 +369,9.4,2.4 +370,6.9,2.3 +371,7.9,1.6 +372,9.1,1.8 +373,7.4,2.2 +374,14,3.8 +375,11.5,4.4 +376,11.5,3 +377,9.4,2.4 +378,11.4,6.2 +379,8.3,2.5 +380,8.3,2 +381,13.7,2.9 +382,8.3,2 +383,8.3,2 +384,7.7,2.1 +385,7.4,2.4 +386,7.8,2 +387,8.3,1.9 +388,7.8,1.9 +389,9.6,2.5 +390,5.6,1.4 +391,13.7,2.9 +392,9.5,2 +393,8.4,2 +394,12.7,2.3 +395,12,4.2 +396,6.6,7.9 +397,11.5,2.6 +398,11.5,2.6 +399,8.7,2.3 +400,6.6,7.9 +401,7.7,1.7 +402,12.2,2.6 +403,11.4,2.7 +404,7.7,2.7 +405,8.7,1.4 +406,9.8,2.5 +407,12,3 +408,10.4,3.7 +409,12.5,4.5 +410,9,2.5 +411,9.1,2.4 +412,7.1,1.9 +413,9.9,6.7 +414,8.8,2.7 +415,8.6,6.6 +416,10.6,2.2 +417,7,1.9 +418,11.9,2 +419,6.8,1.8 +420,9.5,2.4 +421,6.6,2.3 +422,7.7,2 +423,10.5,2.1 +424,7.7,2 +425,6.6,2.3 +426,6.4,2.1 +427,9.5,1.9 +428,9.1,1.3 +429,12.8,2.4 +430,10.5,2.1 +431,7.8,2.2 +432,11.9,2.3 +433,12.3,2.3 +434,10.4,3.2 +435,12.3,2.3 +436,8,2 +437,11.1,3.2 +438,10.4,3.2 +439,7,1.5 +440,12.6,2.2 +441,11.9,2.15 +442,15.6,3.7 +443,10,2.7 +444,5.3,1.7 +445,9.5,2.1 +446,12.5,2.6 +447,9.3,2.1 +448,8.6,2 +449,11.9,2.8 +450,11.9,2.8 +451,8.4,1.8 +452,6.8,1.7 +453,10.4,2.8 +454,7,1.6 +455,11.3,5.2 +456,8.9,2.3 +457,9.2,2.7 +458,10.4,2.8 +459,11.6,2.2 +460,9.2,2.3 +461,8.3,2.6 +462,11,2.55 +463,8.1,2.2 +464,11.5,2.1 +465,10,2.9 +466,10.3,2 +467,8.8,2.6 +468,11.4,2.1 +469,8.7,1.2 +470,13,2.6 +471,9.6,2.4 +472,12.5,2.6 +473,9.9,2.1 +474,10.5,1.7 +475,9.6,2.2 +476,9.3,2 +477,10.4,1.8 +478,9.6,2.2 +479,9.4,2.7 +480,10.6,15.5 +481,9.4,2.8 +482,10.6,2.2 +483,10.6,2.2 +484,10.6,4.1 +485,10.2,1.9 +486,10.2,1.9 +487,10.2,1.8 +488,11.6,2.8 +489,9.3,2.6 +490,9.3,2.8 +491,9.2,2.5 +492,8.9,2.6 +493,8.7,3 +494,6.5,8.3 +495,10.7,2.6 +496,7.8,1.9 +497,7.2,2.5 +498,10.7,2.6 +499,8.7,3 +500,7.8,1.9 +501,10.4,6.55 +502,10.4,6.55 +503,10.5,1.9 +504,10.5,1.8 +505,10.2,2.9 +506,10.4,1.8 +507,11.2,2.3 +508,10,2.2 +509,13.3,2.8 +510,12.4,4.6 +511,10,2.2 +512,10.7,2.1 +513,10.5,2.4 +514,10.5,2.4 +515,8.5,6.1 +516,12.5,4.3 +517,10.4,2.1 +518,10.9,2.8 +519,7.3,2.5 +520,9.8,2.7 +521,7.6,2 +522,8.2,2.3 +523,9.3,2.5 +524,9.2,2.4 +525,10.4,2.8 +526,7.3,2.5 +527,7,2.5 +528,8.2,2.6 +529,9.9,2.4 +530,9.1,2.1 +531,11.9,2.7 +532,11.9,2.7 +533,10.3,2.1 +534,10,2.7 +535,9.1,2.1 +536,9.9,2.4 +537,8.1,2.1 +538,12.9,5.8 +539,11.2,5.15 +540,9.2,3.3 +541,9.5,6.3 +542,9.3,2.1 +543,11.2,2.5 +544,14.3,1.8 +545,9.1,2.6 +546,7.5,2 +547,10.6,2.5 +548,12.4,2.6 +549,9,1.9 +550,6.8,2.1 +551,9.4,2.8 +552,9.5,2.7 +553,5,1.6 +554,15.5,4.2 +555,15.5,4.2 +556,10.9,4.6 +557,15.6,4.2 +558,10.9,4.6 +559,13,4.3 +560,12.7,2.8 +561,9,2.4 +562,9,2.9 +563,7.6,2.7 +564,13,4.3 +565,12.7,2.8 +566,8.7,2.5 +567,8.7,2.5 +568,9.8,2.6 +569,6.2,2.2 +570,11.5,3.3 +571,6.2,2.2 +572,10.2,2.4 +573,10.5,2.1 +574,10.6,3.2 +575,12.3,3.1 +576,9.9,2.3 +577,8.8,2.8 +578,8.8,2.9 +579,10.6,2.2 +580,12.3,2.2 +581,12.3,2.2 +582,11.7,2.2 +583,12,1.9 +584,11.8,3.4 +585,7.6,2.4 +586,11.1,2.7 +587,7.3,1.9 +588,5,2 +589,10.2,2.6 +590,9,2.6 +591,6.6,1.7 +592,9,2.6 +593,9.9,3.5 +594,7.9,2.6 +595,8.9,7.9 +596,12.4,2 +597,11.9,1.9 +598,8.5,2.1 +599,12.7,2.3 +600,8.2,2.1 +601,13.2,2.2 +602,7.7,2.6 +603,13.2,2.2 +604,8.3,2.9 +605,8.3,2.6 +606,9.4,4.6 +607,8.8,3.3 +608,10.1,5.1 +609,6.3,3.2 +610,8.8,2.5 +611,13.2,2.7 +612,7.5,2.4 +613,8.2,1.5 +614,9.2,2.2 +615,9.6,2.3 +616,9.6,2.3 +617,11.5,2.2 +618,11.4,2.7 +619,11.3,2.3 +620,8.3,3.4 +621,8.2,3.4 +622,10,1.9 +623,7.9,2.9 +624,6.8,5.6 +625,6.8,5.6 +626,8.8,2.2 +627,8.8,2.2 +628,8.7,2.5 +629,7.6,2.3 +630,8.7,2.5 +631,10.4,2.7 +632,7.6,3 +633,10.1,3.4 +634,7.9,1.9 +635,8.7,1.4 +636,9.6,2.4 +637,9.5,2.3 +638,7.7,2.2 +639,8.9,1.9 +640,9.9,2.3 +641,9.5,2.3 +642,9.9,2.3 +643,9.5,2.3 +644,9.9,2.3 +645,7.8,6 +646,7.3,3.6 +647,8.3,2.2 +648,8.7,2.8 +649,6.7,8.6 +650,10.7,2.2 +651,9.8,2.5 +652,15.9,7.5 +653,9.4,2.8 +654,8.6,2.4 +655,9.7,2.9 +656,10.7,2.2 +657,12,1.4 +658,7.2,1.4 +659,7.1,4.4 +660,7.2,1.4 +661,7.5,1.6 +662,7.2,1.6 +663,10.1,1.8 +664,12.1,2 +665,9.4,2 +666,8.3,1.8 +667,11.3,2 +668,10,2.3 +669,11.3,2 +670,6.9,2.5 +671,8.2,1.7 +672,9.8,2 +673,8.2,1.7 +674,10.8,2.2 +675,9.3,2.2 +676,10.8,2.2 +677,8.6,2.3 +678,8.3,2.6 +679,10.8,3.3 +680,13.3,1.9 +681,8,2.2 +682,8.5,2.25 +683,8.1,2.6 +684,9.8,2.3 +685,8.1,2.6 +686,7.1,1.8 +687,9.1,3.1 +688,7.7,1.6 +689,8.1,1.8 +690,7.4,4.25 +691,9.2,2.6 +692,8.6,2 +693,9,2.8 +694,9,2.7 +695,5.1,1.3 +696,7,2.1 +697,7,2.1 +698,9.4,3.2 +699,11.8,2.1 +700,10.6,2.9 +701,7,2.1 +702,7,2.1 +703,7.5,2.6 +704,9.1,1.6 +705,8.4,6 +706,7,2 +707,7.4,3 +708,7.8,2.5 +709,9.7,1.6 +710,10.6,2.8 +711,8.9,3 +712,8.7,3.2 +713,8,2.3 +714,9.9,2.6 +715,7.2,2.7 +716,8,2.3 +717,7.6,2.6 +718,8.4,2 +719,7.1,3.9 +720,8.4,2 +721,8.9,2.85 +722,7.6,2.7 +723,7.1,2.2 +724,7.5,3.1 +725,9,3 +726,8.1,2.8 +727,6.4,1.8 +728,6.4,1.8 +729,6.4,3.2 +730,9.5,2.3 +731,8.9,3.45 +732,7.3,2.1 +733,7,2.7 +734,7.7,2 +735,7.7,2.1 +736,7.7,2.1 +737,8.2,2.5 +738,9,2.8 +739,9,2.4 +740,8.3,4.2 +741,9.2,2.6 +742,6.5,1.9 +743,11.6,2.8 +744,11.1,2.7 +745,7.3,2.1 +746,8.2,2.5 +747,8.6,2.6 +748,7.2,2.1 +749,7.3,2.1 +750,8.3,2.9 +751,8.3,2.9 +752,7.6,2.5 +753,8.3,2.9 +754,7.8,1.7 +755,7.8,1.9 +756,6.3,2 +757,8.1,2.2 +758,8.1,2.2 +759,8.8,2.5 +760,9,2.8 +761,9.3,2 +762,8.8,1.7 +763,9.3,2 +764,9.1,2.8 +765,9.2,3 +766,8.8,2.9 +767,7.5,2.7 +768,7.1,2.3 +769,7.9,1.9 +770,7.1,2.3 +771,9.4,2.4 +772,9.5,2.3 +773,7.9,1.8 +774,7.9,1.8 +775,7.2,3 +776,6.9,2.4 +777,6.9,2.4 +778,8.3,3.4 +779,7.1,2.6 +780,7,2 +781,6.5,2.4 +782,9,2.4 +783,6.5,2.4 +784,7.1,2.5 +785,9.9,2.3 +786,9.9,2.3 +787,10,2.2 +788,10,2.2 +789,8.6,2.9 +790,7.4,2.6 +791,8.8,2.9 +792,7.1,2.5 +793,7.7,2.6 +794,10.1,2.3 +795,10.8,2.6 +796,8.7,2.5 +797,9.3,1.6 +798,9.4,3.6 +799,9.4,3.6 +800,7.2,4 +801,8.6,3.3 +802,5.1,1.7 +803,7.7,2.5 +804,8.4,2.7 +805,8.2,2.4 +806,8.4,2 +807,8.2,2.4 +808,7.4,1.9 +809,7.6,2.8 +810,7.3,2.6 +811,12.9,2.8 +812,10.8,2.5 +813,6.9,2.1 +814,12.6,2.8 +815,10.8,2.5 +816,9.8,3.2 +817,10.8,1.6 +818,7.1,2.35 +819,9.1,3.2 +820,7,1.9 +821,4.9,2.1 +822,6.7,2 +823,6.7,2 +824,7.1,2.8 +825,7.1,2.8 +826,7.5,2.3 +827,7.1,2.8 +828,7.8,2.3 +829,5.9,2.1 +830,7.5,2.5 +831,5.9,2.1 +832,10.4,1.5 +833,11.6,1.6 +834,8.8,1.6 +835,7.6,1.5 +836,6.7,2.4 +837,6.7,2.4 +838,10.1,1.6 +839,6,2.2 +840,11.1,2.65 +841,6.6,3 +842,10.6,2.6 +843,7.1,2 +844,9.9,1.7 +845,6.4,1.8 +846,6.4,1.8 +847,7.4,1.8 +848,6.4,1.8 +849,6.4,1.6 +850,9.3,1.9 +851,9.3,1.9 +852,8,2.5 +853,9.3,1.5 +854,9.3,1.5 +855,7.6,2.5 +856,9.3,1.5 +857,8.2,2.5 +858,11.7,1.7 +859,6.8,1.8 +860,7.2,2.7 +861,5.8,2 +862,7.5,2.7 +863,7.2,2.5 +864,7.2,2.7 +865,7.2,2.6 +866,6.8,2.3 +867,6.9,2 +868,6.8,1.8 +869,7.6,2 +870,7.7,2.1 +871,6.9,1.5 +872,7.3,2 +873,9.1,1.6 +874,10.4,2.1 +875,8.8,2.8 +876,7.1,2.2 +877,7.7,2.1 +878,8.8,4 +879,7.2,2.5 +880,9.2,1.6 +881,7.6,2.1 +882,8.4,3.1 +883,7.2,2.5 +884,8.8,4 +885,8.9,2.5 +886,9,2.4 +887,10.7,2.6 +888,6.8,2.5 +889,10.7,6.6 +890,7.2,2 +891,7.2,2.3 +892,10.1,1.9 +893,7.2,2.3 +894,7.2,2.2 +895,7.1,2.3 +896,8.3,2.4 +897,7.1,2.3 +898,8.3,2.4 +899,8.3,3.4 +900,8.9,2.6 +901,7.4,2.4 +902,7.4,2.4 +903,6.8,6 +904,6.8,6 +905,9.2,3 +906,7.2,2.6 +907,6.1,2.2 +908,7.4,2.4 +909,7.3,1.2 +910,9.3,3.8 +911,9.1,9 +912,10,2.9 +913,9.4,4.6 +914,7.3,1.2 +915,8.6,2.2 +916,5.3,1.5 +917,6.8,8.8 +918,8.4,2.2 +919,8.4,1.8 +920,9.6,2.3 +921,8.4,2.2 +922,8.4,1.8 +923,6.8,8.8 +924,8.6,2.3 +925,8.6,1.9 +926,9.4,2.3 +927,8.4,2.2 +928,8.6,2.3 +929,8.7,3.3 +930,6.6,1.9 +931,7.4,2 +932,7.6,1.9 +933,7.4,2 +934,6.6,1.9 +935,8.8,2.3 +936,8.8,2.3 +937,12,1.4 +938,7.2,2.8 +939,6.2,1.6 +940,9.6,2.2 +941,9.9,5 +942,10.1,2.6 +943,9.8,2.3 +944,8.3,3.8 +945,10.2,2 +946,10.2,4.1 +947,8.3,2.1 +948,8.9,1.8 +949,8.9,1.8 +950,8.9,1.8 +951,8.3,2.1 +952,8.2,2.2 +953,10.2,2.1 +954,7.6,2.7 +955,8.5,1.9 +956,9,2.1 +957,9.5,2 +958,6.4,2.3 +959,8,2 +960,8.5,1.9 +961,7.1,1.6 +962,6.6,2.1 +963,8.8,2 +964,8.5,1.9 +965,8.3,2.4 +966,9,2.4 +967,8.5,2.1 +968,9,2.4 +969,6.7,2.9 +970,10.4,1.9 +971,10.4,1.9 +972,10.1,2.4 +973,8.5,1.7 +974,8.8,5.9 +975,7.2,2.1 +976,7.2,2.1 +977,8.4,2.6 +978,7,3.6 +979,12.2,1.4 +980,9.1,1.9 +981,9.5,1.9 +982,7.3,2.1 +983,9.1,1.9 +984,12.2,1.4 +985,7.4,2 +986,9.8,1.4 +987,7.1,1.6 +988,7.7,1.7 +989,9.7,1.5 +990,7.7,1.7 +991,7.1,2 +992,6.5,2 +993,7.1,2 +994,10,2.5 +995,7.7,2 +996,5.6,2.2 +997,5.6,2.2 +998,8.9,1.4 +999,6.4,1.65 +1000,7.5,2.2 +1001,9.9,1.5 +1002,9.1,2.05 +1003,6.8,1.8 +1004,8.2,1.6 +1005,6.8,1.8 +1006,9.1,2.05 +1007,9.1,2 +1008,8.9,3.6 +1009,9.6,2.8 +1010,8.9,1.7 +1011,8.9,2 +1012,7.7,2.1 +1013,7.5,1.6 +1014,8,2 +1015,10.5,2.2 +1016,8.9,2.2 +1017,8,0.9 +1018,8,0.9 +1019,7,1.8 +1020,11.3,2.4 +1021,11.3,2.4 +1022,7,2.1 +1023,8.2,2.3 +1024,7.7,1.8 +1025,8.6,2.8 +1026,7.9,1.9 +1027,6.4,2.2 +1028,7.2,2.5 +1029,7.7,1.8 +1030,7.1,2.1 +1031,7.3,1.8 +1032,8.1,4.1 +1033,7.5,2.6 +1034,8.9,2.5 +1035,10.1,2.4 +1036,7.6,2.5 +1037,7.3,1.8 +1038,8.7,6.2 +1039,8.9,2.2 +1040,7.4,2.2 +1041,6.9,1.7 +1042,8.9,2.2 +1043,9.5,8.9 +1044,6.4,3.3 +1045,6.9,1.4 +1046,7.6,1.7 +1047,7.1,1.8 +1048,9.3,1.7 +1049,9.3,1.8 +1050,7.1,1.8 +1051,8.5,1.4 +1052,5.6,2.4 +1053,8.3,2.3 +1054,8.2,2 +1055,8.2,2 +1056,8.9,4 +1057,7.6,3.9 +1058,9.9,2.4 +1059,8.9,4 +1060,11.6,1.8 +1061,9.1,1.8 +1062,8,1.9 +1063,10.2,2.4 +1064,8.2,2 +1065,7.7,2.4 +1066,6.6,2.4 +1067,11.1,2.2 +1068,11.1,2.2 +1069,8,2.8 +1070,9.3,1.5 +1071,7.5,8.1 +1072,7.2,1.8 +1073,8,2.7 +1074,7.5,8.1 +1075,9.1,2 +1076,9.9,2 +1077,8.6,6.4 +1078,8.6,6.4 +1079,7.9,8.3 +1080,10.3,1.4 +1081,7.9,8.3 +1082,7.2,1.8 +1083,8.7,2.4 +1084,7.2,1.8 +1085,6.8,1.8 +1086,8.5,4.7 +1087,7.9,1.6 +1088,11.6,1.5 +1089,11.6,1.5 +1090,10,1.9 +1091,7.9,2 +1092,7,2 +1093,9.2,2.2 +1094,6.6,5.5 +1095,9.4,2.5 +1096,6.6,5.5 +1097,8.6,1.5 +1098,8,2.1 +1099,8.6,1.5 +1100,8.4,2.1 +1101,7.4,2.1 +1102,6.1,1.7 +1103,7.4,2.1 +1104,8,2.2 +1105,6.3,2.1 +1106,8.2,1.9 +1107,9.1,2 +1108,8.1,3.3 +1109,10.8,2.1 +1110,8.3,1.4 +1111,5.4,2 +1112,7.9,1.5 +1113,8.9,1.6 +1114,5,4.3 +1115,7,2.5 +1116,7,2.5 +1117,7,2.5 +1118,7.1,2.1 +1119,5.6,2.5 +1120,7.9,2.5 +1121,6.6,1.8 +1122,6.3,1.4 +1123,10.7,1.9 +1124,6.5,2.2 +1125,8.8,1.7 +1126,5.8,1.7 +1127,6.3,2.9 +1128,10,2.7 +1129,10.5,3.3 +1130,9.1,1.9 +1131,5.9,1.7 +1132,7.4,1.8 +1133,7.2,5.5 +1134,8.5,1.7 +1135,8,1.7 +1136,10.4,2 +1137,10.4,2 +1138,7.5,3.7 +1139,8.2,2 +1140,7.3,1.7 +1141,8.2,2.5 +1142,6.9,2.4 +1143,7,1.8 +1144,7.3,2.3 +1145,8.2,2.5 +1146,7.8,1.8 +1147,10,6.2 +1148,7.8,2 +1149,10,2 +1150,8.2,2.8 +1151,6.1,2.5 +1152,8.3,2.2 +1153,9.6,2.1 +1154,6.6,2.2 +1155,8.3,2.2 +1156,8.5,1.75 +1157,5.1,2.1 +1158,6.7,2.8 +1159,10.2,2.2 +1160,10.6,2.3 +1161,8.8,1.4 +1162,8.5,2.3 +1163,9,1.7 +1164,9,1.7 +1165,8.5,1.9 +1166,9.9,2 +1167,8.2,2.5 +1168,6.5,2.8 +1169,7.6,2.3 +1170,9.2,1.6 +1171,7.1,2.2 +1172,9.7,2.1 +1173,7.6,1.7 +1174,7.6,1.7 +1175,6.5,2.2 +1176,6.5,5.6 +1177,7.1,2.4 +1178,5.6,2.1 +1179,8.2,2.4 +1180,8.2,2.4 +1181,9.8,1.65 +1182,10.2,2.5 +1183,6.8,1.6 +1184,6.7,2.1 +1185,7,2 +1186,6.6,7.8 +1187,7,2 +1188,6.7,2.1 +1189,8.8,1.8 +1190,9.1,4.6 +1191,6.5,2.3 +1192,7.2,2.5 +1193,6.4,2.3 +1194,7,1.8 +1195,6.2,1.8 +1196,7.9,2.3 +1197,7.7,1.5 +1198,7.7,2 +1199,7.9,2.3 +1200,7.7,1.5 +1201,7.9,1.9 +1202,8.6,1.8 +1203,9.9,5.8 +1204,7.2,2.1 +1205,7.2,2.1 +1206,7.2,2.1 +1207,9.9,1.7 +1208,7.2,2.1 +1209,6.2,2 +1210,6.8,2.1 +1211,6.6,2.1 +1212,6.8,2.1 +1213,9.6,1.9 +1214,10.2,1.9 +1215,8.8,2.1 +1216,7.9,2 +1217,8.2,1.9 +1218,8.2,1.9 +1219,9,1.3 +1220,10.9,1.8 +1221,10.9,1.8 +1222,8.1,2.2 +1223,10.5,2.2 +1224,12.6,2.5 +1225,9.2,2.6 +1226,7.5,4.1 +1227,9,2 +1228,5.1,1.8 +1229,7.6,2.1 +1230,7.7,2.7 +1231,7.8,2.6 +1232,7.6,2.1 +1233,10.2,2.2 +1234,7.1,2.2 +1235,6,12.9 +1236,7.8,1.7 +1237,7.1,2.2 +1238,8.1,2.5 +1239,6.5,4.3 +1240,7.5,1.7 +1241,9.8,2.5 +1242,9,2 +1243,8.3,2.4 +1244,5.9,13.4 +1245,7.4,1.8 +1246,7.4,1.7 +1247,7.4,1.8 +1248,6.9,2.2 +1249,7.1,2.3 +1250,7.1,2.3 +1251,7.5,2.2 +1252,7.1,1.8 +1253,7.9,1.4 +1254,7.8,1.9 +1255,6.1,2.4 +1256,7.5,1.8 +1257,7,4.8 +1258,6.8,2.7 +1259,6.8,2.7 +1260,8.6,1.8 +1261,6.3,2 +1262,9.8,2.5 +1263,8.2,2.2 +1264,8.5,1.8 +1265,7.2,2.3 +1266,7.2,2.3 +1267,10.4,2.3 +1268,6.9,2 +1269,5.5,1.8 +1270,5,1.6 +1271,7.3,1.6 +1272,5.9,1.9 +1273,7.5,2 +1274,7.8,2.1 +1275,8,2.3 +1276,8.5,6.3 +1277,7,1.9 +1278,8,2.3 +1279,9.8,1.7 +1280,7.1,1.9 +1281,7.1,1.9 +1282,7.9,2 +1283,8.7,2.7 +1284,7,2.3 +1285,11.3,1.8 +1286,7.1,2.5 +1287,8,2.6 +1288,7,4.5 +1289,7,4.5 +1290,7.6,1.9 +1291,8.2,2.1 +1292,5.9,2.4 +1293,7.5,1.9 +1294,8.2,2.1 +1295,6.6,4.3 +1296,6.6,4.3 +1297,7.2,2.1 +1298,5.7,1.4 +1299,7.6,2.1 +1300,5.2,2.15 +1301,6.7,2 +1302,9.1,2.1 +1303,8,1.8 +1304,7.6,2.3 +1305,7.5,1.9 +1306,9.7,2.5 +1307,6.8,3.9 +1308,9.7,2.5 +1309,7,1.4 +1310,7.5,1.9 +1311,6.5,3 +1312,8,1.9 +1313,7,2.3 +1314,7,2.4 +1315,7.5,2 +1316,5.4,1.2 +1317,9.9,2.2 +1318,7.5,2 +1319,9.1,1.7 +1320,9.7,2.6 +1321,5,1.2 +1322,9.1,1.8 +1323,9.1,1.8 +1324,6.7,1.7 +1325,6.7,1.7 +1326,6.7,1.7 +1327,6.7,1.7 +1328,6.5,1.8 +1329,7.4,2.1 +1330,7.4,2.1 +1331,7.8,3.8 +1332,8.4,1.7 +1333,9.1,2.2 +1334,7.2,2 +1335,6.6,2.4 +1336,6,1.4 +1337,6,1.4 +1338,6,1.4 +1339,7.5,1.7 +1340,7.5,1.7 +1341,7.5,1.7 +1342,7.6,1.7 +1343,7.5,1.7 +1344,11.5,2.6 +1345,8.2,2.3 +1346,6.1,2.1 +1347,7.2,1.8 +1348,7.2,1.8 +1349,6.9,2.8 +1350,9,2 +1351,7.2,2.3 +1352,7.6,1.9 +1353,7.6,1.9 +1354,7.2,2.3 +1355,6.1,1.8 +1356,6.1,1.8 +1357,7.3,2.5 +1358,7.4,5.4 +1359,11.6,1.4 +1360,9.2,2.3 +1361,8.3,2.5 +1362,11.6,1.4 +1363,8,2 +1364,7.2,1.9 +1365,7.8,2.2 +1366,7.3,1.7 +1367,6.9,2.2 +1368,8,2.1 +1369,6.6,1.6 +1370,8.7,1.7 +1371,7.5,3.1 +1372,8.7,1.7 +1373,7.7,3.8 +1374,6.8,1.2 +1375,7.2,2 +1376,8.2,1.4 +1377,5.2,2.3 +1378,7.2,2 +1379,7.5,2.6 +1380,7.5,2.6 +1381,6.8,1.8 +1382,8,2.1 +1383,8,2.1 +1384,7.1,1.8 +1385,8,3.4 +1386,7.4,1.8 +1387,7.4,1.8 +1388,6.6,6.1 +1389,6.7,2.2 +1390,6,2.3 +1391,8,2.4 +1392,7.1,1.3 +1393,8,2 +1394,6.4,3.9 +1395,8.6,1.6 +1396,8.7,1.6 +1397,7.3,2 +1398,7,2.2 +1399,7.2,2.2 +1400,7.9,2.1 +1401,7.9,2.1 +1402,7.6,2 +1403,7.2,1.7 +1404,8,2.6 +1405,7.7,2 +1406,8.2,5.1 +1407,6,2.1 +1408,8.1,2.2 +1409,6,2.1 +1410,6.6,1.8 +1411,6.4,2.4 +1412,8.2,5.1 +1413,9.9,2 +1414,10,2.2 +1415,6.2,1.6 +1416,10,2.2 +1417,7.3,2.5 +1418,7.8,1.6 +1419,7.7,2.2 +1420,7.8,1.6 +1421,7.5,1.6 +1422,7,2.1 +1423,6.4,3.9 +1424,8.3,1.4 +1425,8.3,1.4 +1426,7.7,1.8 +1427,7.6,2.5 +1428,7.8,1.9 +1429,7.9,2.2 +1430,7.4,1.8 +1431,7.6,2.1 +1432,5.9,1.6 +1433,6.1,1.8 +1434,10.2,15.4 +1435,10.2,15.4 +1436,10,1.6 +1437,6.8,4.8 +1438,7,1.7 +1439,7.3,2.2 +1440,7.2,2 +1441,7.4,5.2 +1442,6.9,1.9 +1443,6.9,1.75 +1444,7.3,2.2 +1445,7.4,5.2 +1446,6.9,1.9 +1447,6.8,1.9 +1448,6.9,1.9 +1449,7.2,2 +1450,7.2,2 +1451,7.8,2.7 +1452,6.6,2 +1453,7.6,1.9 +1454,11.7,2.2 +1455,6.5,1.6 +1456,6,1.8 +1457,7.6,1.9 +1458,8.4,1.7 +1459,7.9,1.7 +1460,6.4,2.3 +1461,6.2,2.1 +1462,6.8,2.3 +1463,6.9,2.4 +1464,6.8,1.7 +1465,6.8,1.7 +1466,7.3,2.1 +1467,6.7,2.3 +1468,7.3,2.1 +1469,7.3,2.1 +1470,10,1.4 +1471,6.7,3.75 +1472,7.6,2.6 +1473,6.1,1.8 +1474,9.9,13.8 +1475,5.3,2.2 +1476,9.9,13.8 +1477,5.3,2.2 +1478,7.1,5.7 +1479,8.2,3 +1480,5.6,1.5 +1481,8.2,3 +1482,7.2,2.1 +1483,8.1,1.5 +1484,6.8,2 +1485,7,2.1 +1486,6.8,2.1 +1487,6,1.9 +1488,5.6,1.7 +1489,6.2,2.1 +1490,7.1,1.8 +1491,5.6,1.7 +1492,6.2,1.6 +1493,7.7,1.9 +1494,6.4,1.4 +1495,7,1.9 +1496,7.7,1.9 +1497,6.9,2.3 +1498,6.6,2.3 +1499,6.9,2.3 +1500,7.5,1.5 +1501,7.8,4.3 +1502,7.3,2.4 +1503,6.2,2.5 +1504,7.5,2.3 +1505,6.7,1.8 +1506,6.8,2 +1507,7.5,2.3 +1508,7.1,2.1 +1509,7.9,1.8 +1510,6.4,2.2 +1511,7.1,2.1 +1512,6.4,2.2 +1513,6.4,1.8 +1514,6.9,4.1 +1515,6.9,4.1 +1516,6.1,2.3 +1517,6.5,2 +1518,7.4,2.2 +1519,6.6,2.6 +1520,6.5,2 +1521,6.9,1.9 +1522,6.1,2.3 +1523,6.8,2 +1524,6,2 +1525,6.7,2.1 +1526,6.8,2.2 +1527,7.1,1.7 +1528,7.9,2.2 +1529,7.1,2.1 +1530,6.6,2.2 +1531,6.1,2.8 +1532,7.2,2 +1533,8,1.9 +1534,6.6,2.4 +1535,7,2.2 +1536,6.1,1.9 +1537,5.4,1.9 +1538,6.2,2.5 +1539,7.2,1.8 +1540,6.2,4.4 +1541,7.4,2.2 +1542,6.7,1.9 +1543,11.1,2.2 +1544,8.4,2.3 +1545,6.5,1.8 +1546,7,2 +1547,6.3,1.6 +1548,11.2,2 +1549,7.4,1.8 +1550,7.1,2.3 +1551,7.1,2.3 +1552,6.3,3.7 +1553,7.3,2.2 +1554,6.6,2.4 +1555,7,1.7 +1556,6.6,2.2 +1557,6.6,2.4 +1558,6.9,6.7 +1559,7.8,2 +1560,7.8,2 +1561,7.8,2 +1562,7.2,2 +1563,7.2,2 +1564,7.2,2 +1565,6.7,1.9 +1566,6.7,2.1 +1567,7.2,2 +1568,7,1.6 +1569,6.2,1.9 +1570,6.4,2.2 +1571,6.4,2.2 +1572,7.3,2.2 +1573,6,2.4 +1574,5.6,13.9 +1575,7.5,2.2 +1576,8,1.6 +1577,6.2,5.1 +1578,6.8,1.8 +1579,6.2,1.7 +1580,7.4,2.4 +1581,6.2,1.7 +1582,6.1,2.6 +1583,6.2,2.1 +1584,6.7,2.4 +1585,7.2,2.6 +1586,7.5,2.4 +1587,5.8,1.8 +1588,7.2,2.5 +1589,6.6,7.8 +1590,6.3,1.8 +1591,5.4,1.7 +1592,6.3,2.3 +1593,6.8,1.9 +1594,6.2,2 +1595,5.9,2.2 +1596,6.3,2.3 +1597,5.9,2 +1598,6,3.6 diff --git a/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java b/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java index 1c0cb9d..eccec55 100644 --- a/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java +++ b/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java @@ -25,9 +25,9 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { private Interval interval; //in der Literatur als L_i, C_i, und R_i bekannt - private ArrayList countLeftSlab; - private ArrayList countCenterSlab; - private ArrayList countRightSlab; + private ArrayList countLeftSlab; + private ArrayList countCenterSlab; + private ArrayList countRightSlab; //die Mengen L,C und R private ArrayList linesInLeftSlab; @@ -56,9 +56,9 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { countRightSlab = new ArrayList<>(); for (int i = 0; i < n; i++) { - countLeftSlab.add(0); - countRightSlab.add(0); - countCenterSlab.add(n - 1); + countLeftSlab.add(0d); + countRightSlab.add(0d); + countCenterSlab.add(n - 1.0); intersectionAbscissas.put(set.get(i), new ArrayList<>()); } @@ -143,9 +143,11 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { IntersectionCounter intersectionCounter = new IntersectionCounter(); intersections = intersectionCounter.calculateIntersectionAbscissas(linesInCenterSlab, sampledLine); - Collections.sort(intersections); - double ki = Math.ceil((n - 1) / 2) - countLeftSlab.get(index); - double i = (Math.ceil((Math.sqrt(n) * ki) / countCenterSlab.get(index))); + //Collections.sort(intersections); + //double ki = Math.ceil((n - 1) / 2) - countLeftSlab.get(index); + //double i = (Math.ceil((Math.sqrt(n) * ki) / countCenterSlab.get(index))); + double ki = Math.ceil((n - 1) / 2) - FastElementSelector.randomizedSelect(countLeftSlab, index); + double i = (Math.ceil((Math.sqrt(n) * ki) / FastElementSelector.randomizedSelect(countCenterSlab, index))); int accessIndex; if (i < 0) accessIndex = 0; @@ -156,7 +158,8 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { //System.out.println(accessIndex); - return intersections.get(accessIndex); + //return intersections.get(accessIndex); + return FastElementSelector.randomizedSelect(intersections, accessIndex); } /** @@ -202,9 +205,9 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { } //System.out.println("Linie: "+line.getId()+"\tLeft: "+left+"\t Center: "+center+"\t Right: "+right); - countLeftSlab.set(index, left); - countCenterSlab.set(index, center); - countRightSlab.set(index, right); + countLeftSlab.set(index, (double) left); + countCenterSlab.set(index, (double) center); + countRightSlab.set(index, (double) right); } } @@ -215,11 +218,11 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { public void contractIntervals() { for (int i = 0; i < linesInCenterSlab.size(); i++) { - int left = countLeftSlab.get(i); - int center = countCenterSlab.get(i); - int right = countRightSlab.get(i); + double left = countLeftSlab.get(i); + double center = countCenterSlab.get(i); + double right = countRightSlab.get(i); - int max = Math.max(left, Math.max(center, right)); + double max = Math.max(left, Math.max(center, right)); if (left == max){ linesInLeftSlab.add(linesInCenterSlab.get(i)); @@ -318,27 +321,27 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm { this.interval = interval; } - public ArrayList getCountLeftSlab() { + public ArrayList getCountLeftSlab() { return countLeftSlab; } - public void setCountLeftSlab(ArrayList countLeftSlab) { + public void setCountLeftSlab(ArrayList countLeftSlab) { this.countLeftSlab = countLeftSlab; } - public ArrayList getCountCenterSlab() { + public ArrayList getCountCenterSlab() { return countCenterSlab; } - public void setCountCenterSlab(ArrayList countCenterSlab) { + public void setCountCenterSlab(ArrayList countCenterSlab) { this.countCenterSlab = countCenterSlab; } - public ArrayList getCountRightSlab() { + public ArrayList getCountRightSlab() { return countRightSlab; } - public void setCountRightSlab(ArrayList countRightSlab) { + public void setCountRightSlab(ArrayList countRightSlab) { this.countRightSlab = countRightSlab; } diff --git a/src/main/java/Presenter/Algorithms/TheilSenEstimator.java b/src/main/java/Presenter/Algorithms/TheilSenEstimator.java index 7c33b63..7153783 100644 --- a/src/main/java/Presenter/Algorithms/TheilSenEstimator.java +++ b/src/main/java/Presenter/Algorithms/TheilSenEstimator.java @@ -78,7 +78,7 @@ public class TheilSenEstimator extends Observable implements Algorithm { */ public void run() { //damit eine initiale Ordnung herscht - Collections.sort(intervalIntersections); + //Collections.sort(intervalIntersections); interval = new Interval(NEGATIV_INF, POSITIV_INF); while (true) { diff --git a/src/main/java/Presenter/Import/DataImporter.java b/src/main/java/Presenter/Import/DataImporter.java index 5555e5e..d3136c8 100644 --- a/src/main/java/Presenter/Import/DataImporter.java +++ b/src/main/java/Presenter/Import/DataImporter.java @@ -32,7 +32,7 @@ public class DataImporter extends Observable{ this.model = new Arrangement(); this.presenter = presenter; this.presenter.setModel(this.model); - System.out.println(this.model.getLines().size()+ " die Anzahl der aktuellen Lines."); + //System.out.println(this.model.getLines().size()+ " die Anzahl der aktuellen Lines."); this.file = file; @@ -52,23 +52,25 @@ public class DataImporter extends Observable{ String[] result = {"import", lines.size()+"", ""}; //System.out.println("+-------------------------------------------------------------------------------+"); for(String[] nextLine : lines) { - counter++; // nextLine[] is an array of values from the line - int id = Integer.parseInt(nextLine[0]); Double x = Double.parseDouble(nextLine[1]); Double y = Double.parseDouble(nextLine[2]); Line line = new Line(x,y); - line.setId(id+""); + line.setId(counter+""); this.presenter.getModel().addLine(line); //System.out.format("|\t\t\t\t\t %-11d \t|\t\t\t\t\t %-11f \t|\t\t\t\t\t %-11f \t\t\t\t\t|\n", id,x,y); setChanged(); + counter++; result[2] = counter + ""; + Thread.sleep(20); notifyObservers(result); } //System.out.println("+-------------------------------------------------------------------------------+"); } catch (IOException e) { e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); } } diff --git a/src/main/java/Presenter/Presenter.java b/src/main/java/Presenter/Presenter.java index 658b945..bbf7df1 100644 --- a/src/main/java/Presenter/Presenter.java +++ b/src/main/java/Presenter/Presenter.java @@ -10,6 +10,7 @@ import Presenter.Algorithms.TheilSenEstimator; import Presenter.Import.DataImporter; import View.MainFrame; +import java.util.List; import javax.swing.*; import java.io.File; import java.util.LinkedList; @@ -32,34 +33,34 @@ public class Presenter implements Observer { public Presenter(Arrangement model, MainFrame view) { this.model = model; this.view = view; -// Double[] x = {1d, 2d, 3d, 4d, 10d, 12d, 18d}; -// Double[] y = {9d, 15d, 19d, 20d, 45d, 55d, 78d}; - Double[] x = {18d, 24d, 30d, 34d, 38d}; - Double[] y = {18d, 26d, 30d, 40d, 70d}; -// Double[] x = {1d,3d,4d,5d,8d}; -// Double[] y = {4d,2d,1d,0d,0d}; - view.logHeading("Duale Darstellung der Punkte als Geraden:"); - for (int j = 0; j < x.length; j++) { - Line p = new Line(x[j], y[j]); - p.setId(j+""); - view.log("f(x) = " + p.getM() + "x + " + p.getB()); - this.model.addLine(p); - } -// - calcArrangementNodes(); -// //print -// List heading = new LinkedList<>(); -// List> rows = new LinkedList<>(); -// heading.add("X - Koordinate"); -// heading.add("Y - Koordinate"); -// for (Point p : model.getNodes()) { -// LinkedList rowEntry = new LinkedList<>(); -// rowEntry.add(p.getX().toString()); -// rowEntry.add(p.getY().toString()); -// rows.add(rowEntry); -// } -// view.logHeading("Schnittpunkte der Dualen Geraden:"); -// view.createTable(heading, rows); + /* Double[] x = {1d, 2d, 3d, 4d, 10d, 12d, 18d}; + Double[] y = {9d, 15d, 19d, 20d, 45d, 55d, 78d}; + Double[] x = {18d, 24d, 30d, 34d, 38d}; + Double[] y = {18d, 26d, 30d, 40d, 70d}; + Double[] x = {1d,3d,4d,5d,8d}; + Double[] y = {4d,2d,1d,0d,0d}; + view.logHeading("Duale Darstellung der Punkte als Geraden:"); + for (int j = 0; j < x.length; j++) { + Line p = new Line(x[j], y[j]); + p.setId(j+""); + view.log("f(x) = " + p.getM() + "x + " + p.getB()); + this.model.addLine(p); + } + + calcArrangementNodes(); + //print + List heading = new LinkedList<>(); + List> rows = new LinkedList<>(); + heading.add("X - Koordinate"); + heading.add("Y - Koordinate"); + for (Point p : model.getNodes()) { + LinkedList rowEntry = new LinkedList<>(); + rowEntry.add(p.getX().toString()); + rowEntry.add(p.getY().toString()); + rows.add(rowEntry); + } + view.logHeading("Schnittpunkte der Dualen Geraden:"); + view.createTable(heading, rows); */ } @@ -109,6 +110,15 @@ public class Presenter implements Observer { getView().getProgressDialog().dispose(); }); setup(); + Thread t = new Thread(() -> { + calcArrangementNodes(); + }); + t.start(); + try { + t.join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } } else { SwingUtilities.invokeLater(() -> { getView().showImportProgress(progress); @@ -165,38 +175,41 @@ public class Presenter implements Observer { public void setup(){ getView().logHeading("Duale Darstellung der Punkte als Geraden:"); - for (int j = 0; j < getModel().getLines().size(); j++) { - Line p = getModel().getLines().get(j); - p.setId(j+""); - getView().log("f(x) = " + p.getM() + "x + " + p.getB()); - } - getView().log("
"); - calcArrangementNodes(); - //Darstellung der Schnittpunkte in einer Tabelle - // List heading = new LinkedList<>(); - // List> rows = new LinkedList<>(); - // heading.add("X - Koordinate"); - // heading.add("Y - Koordinate"); - // for (Point p : getModel().getNodes()) { - // LinkedList rowEntry = new LinkedList<>(); - // rowEntry.add(p.getX().toString()); - // rowEntry.add(p.getY().toString()); - // rows.add(rowEntry); - // } - // getView().logHeading("Schnittpunkte der Dualen Geraden:"); - // getView().createTable(heading, rows); + List heading = new LinkedList<>(); + List> rows = new LinkedList<>(); + heading.add("Geraden"); + for (int j = 0; j < getModel().getLines().size()-2; j++) { + LinkedList rowEntry = new LinkedList<>(); + Line p1 = getModel().getLines().get(j); + rowEntry.add("f(x) = " + p1.getM() + "x + " + p1.getB()); + + if (j+1 < getModel().getLines().size()){ + Line p2 = getModel().getLines().get(j+1); + rowEntry.add("f(x) = " + p2.getM() + "x + " + p2.getB()); + } + + if (j+2 < getModel().getLines().size()){ + Line p3 = getModel().getLines().get(j+2); + rowEntry.add("f(x) = " + p3.getM() + "x + " + p3.getB()); + } + rows.add(rowEntry); + } + getView().logHeading("Schnittpunkte der Dualen Geraden:"); + getView().createTable(heading, rows); + + getView().log("
"); } - public Point calcIntersection(Line a, Line b) { - Line p1 = a; - Line p2 = b; - - Double x = (p1.getB() - p2.getB()) / (p2.getM() - p1.getM()); - Double y = ((p1.getM() * p2.getB()) - (p2.getM() * p1.getB())) / (p1.getM() - p2.getM()); - - return new Point(x, y); - } + // public Point calcIntersection(Line a, Line b) { + // Line p1 = a; + // Line p2 = b; + // + // Double x = (p1.getB() - p2.getB()) / (p2.getM() - p1.getM()); + // Double y = ((p1.getM() * p2.getB()) - (p2.getM() * p1.getB())) / (p1.getM() - p2.getM()); + // + // return new Point(x, y); + // } public void calcArrangementNodes() { try { diff --git a/src/main/java/View/ArrangementDialog.java b/src/main/java/View/ArrangementDialog.java index 3001d97..c6b46f9 100644 --- a/src/main/java/View/ArrangementDialog.java +++ b/src/main/java/View/ArrangementDialog.java @@ -166,13 +166,13 @@ public class ArrangementDialog extends JPanel { Double val = e.getPreciseWheelRotation() * -1; if(ctrlPressed == true){ - System.out.println("CTRL + ZOOM"); + //System.out.println("CTRL + ZOOM"); min = range.getLowerBound(); max = range.getUpperBound(); DateRange dateRangeX = move(val, min, max); range.setRange(dateRangeX); } else if (shiftPressed == true){ - System.out.println("SHIFT + ZOOM"); + //System.out.println("SHIFT + ZOOM"); min = domain.getLowerBound(); max = domain.getUpperBound(); DateRange dateRangeY = move(val, min, max); diff --git a/src/main/java/View/ArrangementDialog2.java b/src/main/java/View/ArrangementDialog2.java deleted file mode 100644 index fab32d2..0000000 --- a/src/main/java/View/ArrangementDialog2.java +++ /dev/null @@ -1,96 +0,0 @@ -package View; - -import Model.Point; -import java.awt.BasicStroke; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.geom.Line2D; -import java.util.LinkedList; -import javax.swing.JPanel; - -/** - * Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden. - * - * @Author: Armin Wolf - * @Email: a_wolf28@uni-muenster.de - * @Date: 03.06.2017. - */ -public class ArrangementDialog2 extends JPanel { - - private int min = 0; - private int max = 800; - private int zero = max / 2; - private double scale = 1.0; - private int pointThicknes = 5; - - - private Dimension dimension; - private LinkedList> lines; - private LinkedList points; - private LinkedList line2Ds; - - - public ArrangementDialog2() { - super(); - this.dimension = new Dimension(max, max); - this.setPreferredSize(dimension); - this.setLayout(new BorderLayout()); - - } - - public void setPrameters(LinkedList> lines, LinkedList points) { - this.lines = lines; - this.points = points; - this.repaint(); - } - - public double getScale() { - return scale; - } - - public void setScale(double scale) { - this.scale = scale; - } - - public int getPointThicknes() { - return pointThicknes; - } - - public void setPointThicknes(int pointThicknes) { - this.pointThicknes = pointThicknes; - } - - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - Graphics2D g2 = (Graphics2D) g; - g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - line2Ds = new LinkedList<>(); - g2.translate(zero, zero); - g2.scale(scale, scale); - g2.translate(-1 * zero, -1 * zero); - - //draw the lines - g2.setColor(Color.BLACK); - g2.setStroke(new BasicStroke(5f / (float) scale)); - for (LinkedList line : lines) { - line2Ds.add(new Line2D.Double(zero + line.getFirst().getX().intValue(), - zero + line.getFirst().getY().intValue(), zero + line.getLast().getX().intValue(), - zero + line.getLast().getY().intValue())); - } - for (Line2D.Double line : line2Ds) { - g2.draw(line); - } - - //draw intersections of the lines - g2.setColor(Color.RED); - for (Point point : points) { - g2.fillOval(zero + point.getX().intValue(), zero + point.getY().intValue(), pointThicknes, - pointThicknes); - } - } -} diff --git a/src/main/java/View/MainFrame.java b/src/main/java/View/MainFrame.java index ee0eb62..7fd575a 100644 --- a/src/main/java/View/MainFrame.java +++ b/src/main/java/View/MainFrame.java @@ -175,13 +175,14 @@ public class MainFrame extends JFrame { } private void setDimensions() { - //this.setMinimumSize(new Dimension(1366,768)); + this.setMinimumSize(new Dimension(1366,768)); this.setExtendedState(JFrame.MAXIMIZED_BOTH); lmsPanel.setMinimumSize(new Dimension(400, 500)); rmPanel.setMinimumSize(new Dimension(400, 500)); tsPanel.setMinimumSize(new Dimension(400, 500)); output.setMinimumSize(new Dimension(400, 500)); - progressDialog.setSize(300, 100); + progressDialog.setSize(300, 80); + progressDialog.setResizable(false); } private void setLayouts() { @@ -265,9 +266,7 @@ public class MainFrame extends JFrame { File file = null; JFileChooser chooser = new JFileChooser(); chooser.setPreferredSize(new Dimension(800,700)); - ClassLoader classLoader = getClass().getClassLoader(); - File workingDirectory = null; - workingDirectory = new File(System.getProperty("user.dir")); + File workingDirectory = new File(System.getProperty("user.dir")); chooser.setCurrentDirectory(workingDirectory); chooser.setFileFilter(new FileNameExtensionFilter("Comma-Separated Value", "csv", "text")); @@ -276,8 +275,7 @@ public class MainFrame extends JFrame { if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ - System.out.println ("Datei "+chooser.getSelectedFile()+ - " ausgewählt."); + //System.out.println ("Datei "+chooser.getSelectedFile()+ " ausgewählt."); file = chooser.getSelectedFile(); final File input = file; Thread t = new Thread(() -> this.getPresenter().startImport(input)); @@ -291,12 +289,14 @@ public class MainFrame extends JFrame { public void enableFunctionality(){ this.getLmsPanel().getStartButton().setEnabled(true); this.getRmPanel().getStartButton().setEnabled(true); + this.getTsPanel().getStartButton().setEnabled(true); this.getArrangementButton().setEnabled(true); } public void disableFunctionality(){ this.getLmsPanel().getStartButton().setEnabled(false); this.getRmPanel().getStartButton().setEnabled(false); + this.getTsPanel().getStartButton().setEnabled(false); this.getArrangementButton().setEnabled(false); } @@ -446,4 +446,12 @@ public class MainFrame extends JFrame { public void setProgressDialog(JDialog progressDialog) { this.progressDialog = progressDialog; } + + public TSPanel getTsPanel() { + return tsPanel; + } + + public void setTsPanel(TSPanel tsPanel) { + this.tsPanel = tsPanel; + } } diff --git a/src/main/java/View/Panels/OutputPanel.java b/src/main/java/View/Panels/OutputPanel.java index ade4782..9096aaf 100644 --- a/src/main/java/View/Panels/OutputPanel.java +++ b/src/main/java/View/Panels/OutputPanel.java @@ -68,9 +68,14 @@ public class OutputPanel extends JPanel { content.append("
"); content.append(""); content.append(""); - for (String str : heading) { - content.append(""); + if (heading.size()>1){ + for (String str : heading) { + content.append(""); + } + } else { + content.append(""); } + content.append(""); for (List row : rows) { content.append("");
" + str + "" + str + "" + heading.get(0) + "