延續昨天的壯舉吧~~
(明明沒幹嘛)
今天放颱風假噎~~~
但是更新還是得做滴
超害怕哪天自己忘記更新
就慘烈失敗...
今天繼續介紹 mcga 寶寶
對於使用上有不懂的都歡迎底下留言告訴我
R Documetation : https://www.rdocumentation.org/packages/mcga
昨天發完之後就覺得哪邊少介紹了
就是在用範例程式的時候
會發現 print(m$population[1,])
這是啥鬼????m
好像有印象 剛剛上面跑的結果population
這個也有印象 (畢竟已經到了Day15 前面不知道出現幾萬遍了)
那只有這些資訊可以知道嗎???
NO~ NO~ NO~
還有更多小秘密你不知道而已
當你在R Console中輸入 m
你會發現你的頁面爆棚的多啊
我把我的結果分享給大家
(相信有些人只是看看而已,但是可能需要滑一下版面呦~~)
> m
$population
[,1] [,2] [,3] [,4] [,5]
[1,] 3.958119e-01 1.549891e+01 777.0356 7.777070e+03 7.777600e+04
[2,] 3.801869e-01 1.549892e+01 777.0356 7.777066e+03 7.777600e+04
[3,] 3.802479e-01 1.549892e+01 777.0356 7.777074e+03 7.777600e+04
[4,] 3.801874e-01 1.549892e+01 777.0356 7.777074e+03 7.777600e+04
[5,] 3.801869e-01 1.549891e+01 777.0356 7.777070e+03 7.777600e+04
[6,] 3.801869e-01 1.549891e+01 777.0356 7.777070e+03 7.777600e+04
[7,] 3.802479e-01 1.549891e+01 777.0356 7.777078e+03 7.777600e+04
[8,] 3.801259e-01 1.549891e+01 777.0356 7.777078e+03 7.777600e+04
[9,] 3.958119e-01 1.549695e+01 777.0356 7.777078e+03 7.777600e+04
[10,] 3.801874e-01 1.549891e+01 777.0356 7.777066e+03 7.777594e+04
...
[190,] 3.802479e-01 1.499891e+01 777.0356 7.521070e+03 7.777600e+04
[191,] 3.802484e-01 1.499891e+01 777.0356 7.521066e+03 7.777600e+04
[192,] 3.801263e-01 1.499891e+01 777.0356 7.521066e+03 7.777600e+04
[193,] 3.802479e-01 1.450086e+01 776.9106 7.521074e+03 7.777600e+04
[194,] 3.958729e-01 1.499891e+01 777.0356 7.777074e+03 8.187200e+04
[195,] 3.801874e-01 1.499891e+01 776.9106 7.777074e+03 7.368000e+04
[196,] 3.958119e-01 1.499891e+01 777.0356 1.186687e-01 7.777600e+04
[197,] 3.801869e-01 9.829689e+05 777.0356 7.777074e+03 7.777600e+04
[198,] 3.801874e-01 1.499891e+01 777.0356 5.096778e+08 7.777600e+04
[199,] 3.801869e-01 1.499695e+01 777.0356 7.777074e+03 5.097128e+09
[200,] 3.958119e-01 9.829689e+05 777.0356 7.777078e+03 5.097128e+09
$costs
[1] 3.827006e+03 3.827211e+03 3.827211e+03 3.827212e+03 3.827213e+03 3.827213e+03
[7] 3.827213e+03 3.827215e+03 3.827247e+03 3.827341e+03 3.827453e+03 3.827498e+03
[13] 3.888755e+03 3.888756e+03 3.888756e+03 3.888756e+03 3.888756e+03 3.888756e+03
[19] 3.888756e+03 3.888757e+03 3.888757e+03 3.888757e+03 3.888757e+03 3.888757e+03
...
[187] 4.915240e+03 4.977491e+03 5.978970e+03 6.938924e+04 6.939124e+04 6.939125e+04
[193] 6.944926e+04 1.677291e+07 1.678930e+07 6.048377e+07 9.660765e+11 2.597635e+17
[199] 2.597992e+19 2.597992e+19
$popsize
[1] 200
$chsize
[1] 5
$crossprob
[1] 1
$mutateprob
[1] 0.01
$elitism
[1] 1
$minval
[1] 0
$maxval
[1] 1e+09
$maxiter
[1] 2500
從上面漏漏長的結果可以看到
一開始我們所設定的參數popsize
、chsize
、crossprob
、mutateprob
、elitism
、minval
、maxval
、maxiter
以及population
和cost
的結果
像是我們想要看到前10筆適應程度的話就可以使用
> m$costs[1:10]
[1] 3827.006 3827.211 3827.211 3827.212 3827.213 3827.213 3827.213 3827.215 3827.247
[10] 3827.341
知道適應程度卻不知道其對應的染色體
那我們也可以使用下面這個方式才取得
> m$population[1:10,]
[,1] [,2] [,3] [,4] [,5]
[1,] 0.3958119 15.49891 777.0356 7777.070 77776.00
[2,] 0.3801869 15.49892 777.0356 7777.066 77776.00
[3,] 0.3802479 15.49892 777.0356 7777.074 77776.00
[4,] 0.3801874 15.49892 777.0356 7777.074 77776.00
[5,] 0.3801869 15.49891 777.0356 7777.070 77776.00
[6,] 0.3801869 15.49891 777.0356 7777.070 77776.00
[7,] 0.3802479 15.49891 777.0356 7777.078 77776.00
[8,] 0.3801259 15.49891 777.0356 7777.078 77776.00
[9,] 0.3958119 15.49695 777.0356 7777.078 77776.00
[10,] 0.3801874 15.49891 777.0356 7777.066 77775.94
但是這樣還是太不直觀了
還要一筆一筆對照
我們就把兩個矩陣合併
這邊一樣希望看到前10筆的適應程度(cost)和其對應的染色體
我們可以使用cbind
來根據column(c)綁住(bind)兩個矩陣
這樣就可以一目瞭然看到相對應的資料
也可以發現越來越趨向某結果
> cbind(m$costs[1:10],m$population[1:10,])
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3827.006 0.3958119 15.49891 777.0356 7777.070 77776.00
[2,] 3827.211 0.3801869 15.49892 777.0356 7777.066 77776.00
[3,] 3827.211 0.3802479 15.49892 777.0356 7777.074 77776.00
[4,] 3827.212 0.3801874 15.49892 777.0356 7777.074 77776.00
[5,] 3827.213 0.3801869 15.49891 777.0356 7777.070 77776.00
[6,] 3827.213 0.3801869 15.49891 777.0356 7777.070 77776.00
[7,] 3827.213 0.3802479 15.49891 777.0356 7777.078 77776.00
[8,] 3827.215 0.3801259 15.49891 777.0356 7777.078 77776.00
[9,] 3827.247 0.3958119 15.49695 777.0356 7777.078 77776.00
[10,] 3827.341 0.3801874 15.49891 777.0356 7777.066 77775.94
明天依然會繼續用這個範例講解
到這邊有個小小問題
不知道有沒有人發現了
期待明天有人發現他~~~
如果有發現的朋友們在下方留言
讓我知道其實有人有發現他的問題在哪邊
我們明天見~~~
今天的程式碼依舊會放到Github上
Command: click
Result: click
相關資料來源:
R Documetation : https://www.rdocumentation.org/packages/mcga