Discussion:
[問題] Excel輸入資料問題...
(时间太久无法回复)
三上真史
2006-09-28 04:29:13 UTC
Permalink
各位板上的大大 大家好...<(_ _)>

小弟是一位類神經網路的初學者...

最近在網路上資源的幫忙下

嘗試寫了一個以亂數產生類神經網路輸入資料的程式...

現在想更進一步 嘗試去寫以Excel輸入資料的...

但是一直卡住...不知道怎麼進行下去...

希望各位大大給予初學者小弟您溫暖的手...

幫幫我.....>△<


我目前想寫的程式是這樣子的...

我的類神經網路是

我有100家公司的屬性資料

每家公司都各有13個屬性資料...

我要將這些資料

一家公司的13個屬性資料 成為一筆訓練資料

然後

將每筆訓練資料 輸入類神經網路的input資料節點

成為類神經網路的input

去訓練並測試這個類神經網路...

而這些資料都放在Excel....



有大大可以教教小弟寫法嗎??? <(_ _)>










--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.170.107
晉級!
2006-09-28 05:13:04 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: 然後
: 將每筆訓練資料 輸入類神經網路的input資料節點
: 成為類神經網路的input
: 去訓練並測試這個類神經網路...
: 而這些資料都放在Excel....
: 有大大可以教教小弟寫法嗎??? <(_ _)>

標題是Excel,我想重點應該是你輸出的資料要讓Excel讀取而已吧?
最簡單的方式為輸出csv檔,Excel可以讀取csv檔,格式為...

1A,1B,1C,1D,.....
2A,2B,2C,2D,.....
3A,....
4A...

簡單說完,希望你問的是這個... 0rz

--
No Dying Skills, ● - Dame! New tech...
but Lazy Users. .\)
http://www.wretch.cc/blog/hougzou ___________ ﹒ ︵ √\ ___________________

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.6.129
三上真史
2006-09-28 05:37:33 UTC
Permalink
謝謝大大的回答.....

可是我問的好像不是這個耶....^^b

我是想問輸入....~"~



※ 引述《hougzou (晉級!)》之銘言:
: ※ 引述《Masashi0620 (三上真史)》之銘言:
: : 然後
: : 將每筆訓練資料 輸入類神經網路的input資料節點
: : 成為類神經網路的input
: : 去訓練並測試這個類神經網路...
: : 而這些資料都放在Excel....
: : 有大大可以教教小弟寫法嗎??? <(_ _)>
: 標題是Excel,我想重點應該是你輸出的資料要讓Excel讀取而已吧?
: 最簡單的方式為輸出csv檔,Excel可以讀取csv檔,格式為...
: 1A,1B,1C,1D,.....
: 2A,2B,2C,2D,.....
: 3A,....
: 4A...
: 簡單說完,希望你問的是這個... 0rz

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.170.107
晉級!
2006-09-28 06:06:53 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: 謝謝大大的回答.....
: 可是我問的好像不是這個耶....^^b
: 我是想問輸入....~"~
: ※ 引述《hougzou (晉級!)》之銘言:
: : 標題是Excel,我想重點應該是你輸出的資料要讓Excel讀取而已吧?
: : 最簡單的方式為輸出csv檔,Excel可以讀取csv檔,格式為...
: : 1A,1B,1C,1D,.....
: : 2A,2B,2C,2D,.....
: : 3A,....
: : 4A...
: : 簡單說完,希望你問的是這個... 0rz

那就多說點好了.. XD
有人寫了這東西... Java Excel API
http://www.andykhan.com/jexcelapi/index.html
不過我無法確定這個API是否可以讀每個不同版本的EXCEL檔。

如果要妥當點,可以用Jakarta POI - Java API To Access Microsoft Format Files
http://jakarta.apache.org/poi/
Open Office要讀 MS格式的檔案就靠它了~

當然,也有簡單的作法,自己輸出成csv檔,然後去scan即可。

--
No Dying Skills, ● - Dame! New tech...
but Lazy Users. .\)
http://www.wretch.cc/blog/hougzou ___________ ﹒ ︵ √\ ___________________

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.6.129
骨頭
2006-09-28 06:07:41 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: 謝謝大大的回答.....
: 可是我問的好像不是這個耶....^^b
: 我是想問輸入....~"~

想從Excel讀取資料輸入嗎? :P

可以去找找 JExcel API
它會用workbook來讀取資料表

可以直接對Excel檔做讀取和修改,
抓到JExcel API,然後設好classpath,
就可以照著它網站的範例試試看了。

應該是還算好上手啦 ^^ 加油哩~

--
 String temp="relax"; | Life just like programing
 while(buringlife) String.forgot(temp); | to be right or wrong
 while(sleeping) brain.setMemoryOut(); | need not to say
 stack.push(life.running); | the complier will
 stack.push(scouting.buck()); | answer your life
 stack.push(bowling.pratice()); | Bone everything

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.27.68
三上真史
2006-09-28 06:13:16 UTC
Permalink
恩 我之前也有找到這個API

可是他好像是一個cell 一個cell這樣讀的...

那....如果我是不是每讀一個cell就要把它指向一個輸入節點呢???

那這樣....

我一家公司有13個節點...

假設總共100家公司...

那就樣指向...1300次...= =

這個有辦法寫for迴圈嗎???

一個cell 一個cell讀....A1.A2.A3.A4....

for迴圈...要怎麼寫阿...~"~




※ 引述《TonyQ (骨頭)》之銘言:
: ※ 引述《Masashi0620 (三上真史)》之銘言:
: : 謝謝大大的回答.....
: : 可是我問的好像不是這個耶....^^b
: : 我是想問輸入....~"~
: 想從Excel讀取資料輸入嗎? :P
: 可以去找找 JExcel API
: 它會用workbook來讀取資料表
: 可以直接對Excel檔做讀取和修改,
: 抓到JExcel API,然後設好classpath,
: 就可以照著它網站的範例試試看了。
: 應該是還算好上手啦 ^^ 加油哩~

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.170.107
骨頭
2006-09-28 06:19:35 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: 恩 我之前也有找到這個API
: 可是他好像是一個cell 一個cell這樣讀的...
: 那....如果我是不是每讀一個cell就要把它指向一個輸入節點呢???
: 那這樣....
: 我一家公司有13個節點...
: 假設總共100家公司...
: 那就樣指向...1300次...= =
: 這個有辦法寫for迴圈嗎???
: 一個cell 一個cell讀....A1.A2.A3.A4....
: for迴圈...要怎麼寫阿...~"~

是不是讀一個cell就要指向一個節點 那是你自己決定的

語法就像這樣
Workbook workbook = Workbook.getWorkbook(new File("xxx.xls"));
Sheet sheet=workbook.getSheet("SHEET1");


高興用幾次sheet.getCell就可以用幾次 ,
如果我參照的不只一個xls檔我還可以多開幾個workbook來讀。
sheet.getCell(0,0).getContents()


也可以開心的自己寫個節點的Class
就用sheet的內容先填好物件再指過去 XD

不過最後別忘記把workbook close掉就是了 :P


寫程式最忌諱問"可不可以" 跟"好像",
自己去試試看就知道可不可以了 .

--
 String temp="relax"; | Life just like programing
 while(buringlife) String.forgot(temp); | to be right or wrong
 while(sleeping) brain.setMemoryOut(); | need not to say
 stack.push(life.running); | the complier will
 stack.push(scouting.buck()); | answer your life
 stack.push(bowling.pratice()); | Bone everything

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.27.68
愚者
2006-09-28 16:03:54 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: 各位板上的大大 大家好...<(_ _)>
: 小弟是一位類神經網路的初學者...
: 最近在網路上資源的幫忙下
: 嘗試寫了一個以亂數產生類神經網路輸入資料的程式...
: 現在想更進一步 嘗試去寫以Excel輸入資料的...
: 但是一直卡住...不知道怎麼進行下去...
: 希望各位大大給予初學者小弟您溫暖的手...
: 幫幫我.....>△<
: 我目前想寫的程式是這樣子的...
: 我的類神經網路是
: 我有100家公司的屬性資料
: 每家公司都各有13個屬性資料...
: 我要將這些資料
: 一家公司的13個屬性資料 成為一筆訓練資料
: 然後
: 將每筆訓練資料 輸入類神經網路的input資料節點
: 成為類神經網路的input
: 去訓練並測試這個類神經網路...
: 而這些資料都放在Excel....
: 有大大可以教教小弟寫法嗎??? <(_ _)>

Data Source (training : test = XD : Orz)

-> NN (training)
-> get the better NN with good weight

-> NN (test)
--> vaildate accurary

===========================================================

class RandomDataSource <--> class ExcelDataSource
(all have the same interface,
Data getTrainingData()
Data getTestData()
)

在程式工作的單元有切割清楚時,你只要把資料來源

換成Excel的DataSource。

=============================================================

相信這裡有一連串的How-to,應該能解決你對使用Excel的疑惑

http://jakarta.apache.org/poi/hssf/quick-guide.html

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.213
愚者
2006-09-28 16:07:58 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: for迴圈...要怎麼寫阿...~"~

http://leepoint.net/notes-java/flow/loops/for.html
for迴圈這麼寫

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.213
愚者
2006-09-28 16:09:40 UTC
Permalink
※ 引述《Masashi0620 (三上真史)》之銘言:
: 謝謝大大的回答.....
: 可是我問的好像不是這個耶....^^b
: 我是想問輸入....~"~

你問的就是這個啊。
(由Excel)輸入(NN)
你的資料來源是Excel,對Excel來說是輸出資料
hougzou提供了最容易搞定的解法,
還被你說不是,情何以堪。

: ※ 引述《hougzou (晉級!)》之銘言:
: : 標題是Excel,我想重點應該是你輸出的資料要讓Excel讀取而已吧?
: : 最簡單的方式為輸出csv檔,Excel可以讀取csv檔,格式為...
: : 1A,1B,1C,1D,.....
: : 2A,2B,2C,2D,.....
: : 3A,....
: : 4A...
: : 簡單說完,希望你問的是這個... 0rz

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.213

Loading...