最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java 人工智能 - Weka - 回歸算法

2021-10-04 12:05 作者:開(kāi)源開(kāi)發(fā)者  | 我要投稿

數(shù)據(jù)樣本

數(shù)據(jù)集為能源效率數(shù)據(jù)集


基于建筑的結(jié)構(gòu)的表面 墻體 屋頂面積 高度 緊湊度特點(diǎn) 研究它們的目標(biāo)變量 加熱與冷卻負(fù)載要求


現(xiàn)在有 12 種不同房屋配置

這 12 種的不同房屋配置 通過(guò)改變 18 種建筑特征得出 768種建筑


加載數(shù)據(jù)

CSV 格式

CSV的意思為逗號(hào)分隔值





轉(zhuǎn)換之后

// 加載 CSV 文件

CSVLoader loader = new CSVLoader();

// 設(shè)置數(shù)據(jù)源

loader.setSource(new File(EnergyLoad.class.getClassLoader().getResource("data/ENB2012_data.csv").getPath()));

// 獲取數(shù)據(jù)集

Instances data = loader.getDataSet();

System.out.println(data);

// 除開(kāi)冷 熱 屬性作為結(jié)果變量 其余屬性作為分類(lèi)屬性

data.setClassIndex(data.numAttributes() - 2);

// 移除冷卻負(fù)載屬性 即為 Y2

Remove remove = new Remove();

remove.setOptions(new String[]{"-R", data.numAttributes() + ""});

remove.setInputFormat(data);

data = Filter.useFilter(data, remove);

System.out.println(data);


@relation ENB2012_data-weka.filters.unsupervised.attribute.Remove-R10

@attribute X1 numeric

@attribute X2 numeric

@attribute X3 numeric

@attribute X4 numeric

@attribute X5 numeric

@attribute X6 numeric

@attribute X7 numeric

@attribute X8 numeric

@attribute Y1 numeric


使用算法訓(xùn)練模型

// 創(chuàng)建一個(gè)線性回歸模型

// 新模型實(shí)例 傳遞參數(shù)和數(shù)據(jù)

LinearRegression model = new LinearRegression();

// 學(xué)習(xí)的模型存儲(chǔ)在 model 對(duì)象當(dāng)中

model.buildClassifier(data);

System.out.println(model);


Linear Regression Model

Y1 =

? ?-64.774 ?* X1 +

? ? -0.0428 * X2 +

? ? ?0.0163 * X3 +

? ? -0.089 ?* X4 +

? ? ?4.1699 * X5 +

? ? 19.9327 * X7 +

? ? ?0.2038 * X8 +

? ? 83.9329



線性回歸模型構(gòu)建了一個(gè)函數(shù) 把輸入變量 x 的 各個(gè)值 映射為y 組合在一起 并且滿足線性關(guān)系

對(duì)加熱負(fù)載進(jìn)行評(píng)估


特征變量前面的數(shù)字 對(duì)要預(yù)測(cè)的目標(biāo)變量的影響

+符號(hào)表示正面影響

-符號(hào)表示負(fù)面影響

數(shù)值的大小影響的程度

比如特征X1 相對(duì)緊湊度 它跟加熱負(fù)載是負(fù)相關(guān)

玻璃窗面積與加熱負(fù)載正相關(guān)的

這兩個(gè)特征也對(duì)最后加熱負(fù)載的評(píng)估有明顯影響


交叉驗(yàn)證對(duì)模型性能做評(píng)估

做10折交叉驗(yàn)證

Evaluation eval = new Evaluation(data);

eval.crossValidateModel(model, data, 10,

? ? ? ?new Random(1), new String[]{});

System.out.println(eval.toSummaryString());

輸出常見(jiàn)的評(píng)估指標(biāo) 包括相關(guān)系數(shù) 平均絕對(duì)誤差 相對(duì)絕對(duì)誤差


Correlation coefficient ? ? ? ? ? ? ? ? ?0.956

Mean absolute error ? ? ? ? ? ? ? ? ? ? ?2.0923

Root mean squared error ? ? ? ? ? ? ? ? ?2.9569

Relative absolute error ? ? ? ? ? ? ? ? 22.8555 %

Root relative squared error ? ? ? ? ? ? 29.282 ?%

Total Number of Instances ? ? ? ? ? ? ?768


回歸樹(shù)

一組回歸模型

每一個(gè)模型對(duì)應(yīng)與模型相關(guān)的數(shù)據(jù)中一部分

回歸模型與所有數(shù)據(jù)達(dá)到最好的擬合的模型

擬合可以理解為誤差


回歸樹(shù)是一組的回歸模型

每個(gè)回歸模型只對(duì)一部分?jǐn)?shù)據(jù)進(jìn)行建模


相比回歸模型來(lái)說(shuō) 回歸樹(shù)對(duì)數(shù)據(jù)的擬合更加好

但是兩個(gè)回歸模型(函數(shù))在各自的建模區(qū)域之間會(huì)出現(xiàn)分段的現(xiàn)象



Weka 中用 M5 類(lèi)實(shí)現(xiàn)回歸樹(shù)


// 回歸樹(shù)

M5P md5 = new M5P();

md5.setOptions(new String[]{""});

md5.buildClassifier(data);

System.out.println(md5);


M5 pruned model tree:

(using smoothed linear models)

X1 <= 0.75 :

| ? X7 <= 0.175 :

| ? | ? X1 <= 0.65 : LM1 (48/1.264%)

| ? | ? X1 > ?0.65 : LM2 (96/3.201%)

| ? X7 > ?0.175 :

| ? | ? X1 <= 0.65 : LM3 (80/3.652%)

| ? | ? X1 > ?0.65 :

| ? | ? | ? X7 <= 0.325 : LM4 (80/3.724%)

| ? | ? | ? X7 > ?0.325 :

| ? | ? | ? | ? X1 <= 0.675 : LM5 (20/1.687%)

| ? | ? | ? | ? X1 > ?0.675 :

| ? | ? | ? | ? | ? X8 <= 2.5 : LM6 (24/1.314%)

| ? | ? | ? | ? | ? X8 > ?2.5 :

| ? | ? | ? | ? | ? | ? X8 <= 4.5 : LM7 (24/2.737%)

| ? | ? | ? | ? | ? | ? X8 > ?4.5 :

| ? | ? | ? | ? | ? | ? | ? X1 <= 0.7 : LM8 (4/0.91%)

| ? | ? | ? | ? | ? | ? | ? X1 > ?0.7 : LM9 (8/1.265%)

X1 > ?0.75 :

| ? X1 <= 0.805 :

| ? | ? X7 <= 0.175 : LM10 (48/5.775%)

| ? | ? X7 > ?0.175 :

| ? | ? | ? X7 <= 0.325 : LM11 (40/5.26%)

| ? | ? | ? X7 > ?0.325 : LM12 (40/5.756%)

| ? X1 > ?0.805 :

| ? | ? X7 <= 0.175 :

| ? | ? | ? X8 <= 1.5 :

| ? | ? | ? | ? X7 <= 0.05 :

| ? | ? | ? | ? | ? X2 <= 539 : LM13 (4/0%)

| ? | ? | ? | ? | ? X2 > ?539 : LM14 (12/4.501%)

| ? | ? | ? | ? X7 > ?0.05 :

| ? | ? | ? | ? | ? X1 <= 0.94 : LM15 (12/4.329%)

| ? | ? | ? | ? | ? X1 > ?0.94 : LM16 (4/0.226%)

| ? | ? | ? X8 > ?1.5 :

| ? | ? | ? | ? X1 <= 0.94 : LM17 (48/5.693%)

| ? | ? | ? | ? X1 > ?0.94 : LM18 (16/1.119%)

| ? | ? X7 > ?0.175 :

| ? | ? | ? X1 <= 0.84 :

| ? | ? | ? | ? X7 <= 0.325 :

| ? | ? | ? | ? | ? X8 <= 2.5 : LM19 (8/3.901%)

| ? | ? | ? | ? | ? X8 > ?2.5 : LM20 (12/3.913%)

| ? | ? | ? | ? X7 > ?0.325 : LM21 (20/5.632%)

| ? | ? | ? X1 > ?0.84 :

| ? | ? | ? | ? X7 <= 0.325 : LM22 (60/4.548%)

| ? | ? | ? | ? X7 > ?0.325 :

| ? | ? | ? | ? | ? X3 <= 306.25 : LM23 (40/4.504%)

| ? | ? | ? | ? | ? X3 > ?306.25 : LM24 (20/6.934%)

LM num: 1

Y1 =

72.2602 * X1

+ 0.0053 * X3

+ 41.5669 * X7

- 0.0049 * X8

- 37.6688

LM num: 2

Y1 =

-14.6772 * X1

+ 0.0053 * X3

+ 40.2316 * X7

+ 0.0181 * X8

+ 15.649

LM num: 3

Y1 =

84.5112 * X1

+ 0.0053 * X3

+ 13.9115 * X7

- 0.1471 * X8

- 42.4943

LM num: 4

Y1 =

-2.8359 * X1

+ 0.0053 * X3

+ 4.3146 * X7

- 0.0111 * X8

+ 12.0357

LM num: 5

Y1 =

-6.0295 * X1

+ 0.0053 * X3

+ 4.3146 * X7

- 0.0524 * X8

+ 16.0295

LM num: 6

Y1 =

-4.3262 * X1

+ 0.0053 * X3

+ 4.3146 * X7

- 0.0665 * X8

+ 14.5905

LM num: 7

Y1 =

-4.3262 * X1

+ 0.0053 * X3

+ 4.3146 * X7

- 0.0888 * X8

+ 14.5832

LM num: 8

Y1 =

-4.3262 * X1

+ 0.0053 * X3

+ 4.3146 * X7

- 0.1025 * X8

+ 14.5352

LM num: 9

Y1 =

-0.8154 * X1

+ 0.0053 * X3

+ 4.3146 * X7

- 0.1025 * X8

+ 11.9531

LM num: 10

Y1 =

105.9033 * X1

+ 0.0113 * X3

+ 59.6616 * X7

+ 0.0975 * X8

- 58.7462

LM num: 11

Y1 =

81.6537 * X1

+ 0.0113 * X3

+ 10.8932 * X7

+ 0.0559 * X8

- 33.0837

LM num: 12

Y1 =

64.6565 * X1

+ 0.0113 * X3

+ 10.8932 * X7

- 0.0337 * X8

- 18.0037

LM num: 13

Y1 =

3.2622 * X1

- 0.0018 * X2

+ 0.0164 * X3

+ 44.6313 * X7

+ 0.0592 * X8

+ 11.9461

LM num: 14

Y1 =

9.1337 * X1

- 0.0018 * X2

+ 0.0164 * X3

- 0.0494 * X6

+ 44.6313 * X7

+ 0.0592 * X8

+ 7.321

LM num: 15

Y1 =

11.8776 * X1

- 0.0018 * X2

+ 0.0164 * X3

- 0.0428 * X6

+ 44.6313 * X7

+ 0.0592 * X8

+ 7.0198

LM num: 16

Y1 =

3.2622 * X1

- 0.0018 * X2

+ 0.0164 * X3

+ 44.6313 * X7

+ 0.0592 * X8

+ 14.1593

LM num: 17

Y1 =

35.1381 * X1

- 0.0018 * X2

+ 0.0164 * X3

+ 16.7723 * X7

+ 0.0592 * X8

- 10.1661

LM num: 18

Y1 =

3.2622 * X1

- 0.0018 * X2

+ 0.0164 * X3

+ 16.7723 * X7

+ 0.0592 * X8

+ 16.4949

LM num: 19

Y1 =

8.5464 * X1

- 0.0012 * X2

+ 0.029 * X3

+ 15.2851 * X7

- 0.2151 * X8

+ 7.86

LM num: 20

Y1 =

8.5464 * X1

- 0.0012 * X2

+ 0.029 * X3

+ 15.2851 * X7

- 0.0475 * X8

+ 7.4789

LM num: 21

Y1 =

8.5464 * X1

- 0.0012 * X2

+ 0.029 * X3

+ 15.2851 * X7

+ 0.013 * X8

+ 8.5537

LM num: 22

Y1 =

1.4309 * X1

- 0.0012 * X2

+ 0.1248 * X3

+ 9.5464 * X7

+ 0.0373 * X8

- 10.9927

LM num: 23

Y1 =

5.1744 * X1

- 0.0012 * X2

+ 0.0633 * X3

+ 9.5464 * X7

+ 0.0235 * X8

+ 5.7355

LM num: 24

Y1 =

5.1744 * X1

- 0.0012 * X2

+ 0.0761 * X3

+ 9.5464 * X7

- 0.0805 * X8

+ 3.4386

Number of Rules : 24

Process finished with exit code 0?


一顆葉子節(jié)點(diǎn)帶有方程式的樹(shù)

就是說(shuō)葉子節(jié)點(diǎn)是有方程式的

這棵樹(shù)總共 13 個(gè)葉子節(jié)點(diǎn)

每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)于一個(gè)線程方程

對(duì)預(yù)測(cè)輸出做可視化處理

最重要的特征在樹(shù)頂為 X1 相對(duì)密實(shí)性

終端節(jié)點(diǎn)也叫葉子節(jié)點(diǎn)都是一個(gè)線性回歸模型

總共線性回歸模型用于解釋到達(dá)這部分的數(shù)據(jù)


評(píng)估模型性能


// 評(píng)估M5P模型

eval.crossValidateModel(md5, data, 10, new Random(1), new String[]{});

System.out.println(eval.toSummaryString());



Correlation coefficient ? ? ? ? ? ? ? ? ?0.9762

Mean absolute error ? ? ? ? ? ? ? ? ? ? ?1.371

Root mean squared error ? ? ? ? ? ? ? ? ?2.1889

Relative absolute error ? ? ? ? ? ? ? ? 14.9764 %

Root relative squared error ? ? ? ? ? ? 21.6771 %

Total Number of Instances ? ? ? ? ? ? 1536??



Java 人工智能 - Weka - 回歸算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
绿春县| 台北县| 溆浦县| 遵化市| 阳信县| 东丽区| 金秀| 且末县| 阿城市| 辽宁省| 绍兴县| 颍上县| 乌拉特中旗| 金溪县| 海盐县| 江达县| 无锡市| 尉犁县| 海晏县| 绥芬河市| 吉隆县| 山东| 拉孜县| 龙岩市| 长顺县| 台东县| 镇原县| 衢州市| 漯河市| 金寨县| 东乌珠穆沁旗| 夏邑县| 连江县| 桦南县| 建瓯市| 永年县| 浮山县| 舞阳县| 夏邑县| 永年县| 陕西省|