隨筆-7  評論-3  文章-0  trackbacks-0
            2011年10月18日
               摘要: if 語句
          使用命令的退出狀態(tài)
          比較和測試輸入和文件
          if/then/else 結(jié)構(gòu)
          if/then/elif/else 結(jié)構(gòu)
          使用和測試位置參數(shù)
          嵌套 if 語句
          布爾表達(dá)式
          使用 case 語句  閱讀全文
          posted @ 2011-10-18 15:17 柳桐 閱讀(427) | 評論 (0)編輯 收藏
            2011年10月15日
          future
          支持2套模板:Struts1+Spring2+iBatis2;Struts2+Spring3+Hibernate3
          考慮支持grails

          version0.3.0
          模型定義自動填充默認(rèn)值:
          必填項(xiàng),field和javaType必填,
          chs字段應(yīng)為label,默認(rèn)為field;
          inputItem預(yù)填,autoIncrement="true" -> inputItem="false";
          itemType項(xiàng)類型預(yù)填,方案未定。
          支持反向生成,從demo代碼生成模板
          import更有針對性,能夠針對不同類
          單元測試

          version0.2.0
          Y 模型定義自動填充默認(rèn)值:
          表名默認(rèn)值${package}_${首字母小寫clazz};
          列名默認(rèn)為Java字段名;列類型默認(rèn)為Java對應(yīng)的類型(除特殊類型外);列長度默認(rèn)值由字段類型確定;
          Dto和Form中的import類自動識別,填入到table/import節(jié)點(diǎn)下
          Y 支持一對多,下拉列表;以及對自身的一對多;允許一對多時,關(guān)聯(lián)項(xiàng)為空
          N 支持多對多的實(shí)體關(guān)系,復(fù)選框;
          Y 生成maven的項(xiàng)目
          Y 將Integer.parseInt和Long.parseLong改為Integer.valueOf和Long.valueOf
          Y Dto和Form默認(rèn)值
          posted @ 2011-10-15 11:15 柳桐 閱讀(209) | 評論 (0)編輯 收藏
            2011年10月9日
               摘要: 轉(zhuǎn)載請注明出處 http://www.aygfsteel.com/fireflyk/   接上文,[OSGi] OSGi + Spring + Web Demo [1] 1.       同樣方法創(chuàng)建helloworldweb Bundle,用Maven方式創(chuàng)建并轉(zhuǎn)為PDE Tools。 2.  &nb...  閱讀全文
          posted @ 2011-10-09 13:12 柳桐 閱讀(3389) | 評論 (2)編輯 收藏
            2011年9月25日

          轉(zhuǎn)載請注明出處 http://www.aygfsteel.com/fireflyk/archive/2011/09/25/359447.html

          1.       分類

          1.1   定義:通過學(xué)習(xí)得到一個目標(biāo)函數(shù)f,把每個屬性集x映射到一個預(yù)先定義的類標(biāo)號y


          狹隘地說,有大量數(shù)據(jù),預(yù)先知道所有的類型,但無法分類,通過將數(shù)據(jù)的多個屬性維度來推測每條數(shù)據(jù)項(xiàng)屬于哪個類型。(,,,) -> 極品帥哥,(,,,) -> 猥瑣男。

          嚴(yán)格來說,“分類”可以用于描述性建模和預(yù)測性建模。

          1.2   應(yīng)用場景

          適合預(yù)測或描述二元或標(biāo)稱的,對于序數(shù)分類,分類技術(shù)不太有效,其他形式的聯(lián)系會被忽略。(復(fù)習(xí):標(biāo)稱的,=≠,教師和工人;序數(shù)的,<和>,收入高和收入低

          例如,前幾天看的一個科學(xué)研究,個人認(rèn)為不適合用分類來做。科學(xué)家找來志愿者,按臀圍大小分為兩組做智商測試,發(fā)現(xiàn)臀圍大的明顯比臀圍小的智商測試結(jié)果高。于是得出結(jié)論,臀圍大的智商高。我認(rèn)為,這就是最明顯的一個錯誤,智商高低是序數(shù)分類,不能用分類方法來做。它隱藏了一些內(nèi)在聯(lián)系,例如智商高的相對來說愛學(xué)習(xí)、坐辦公室、少運(yùn)動導(dǎo)致肥胖、臀圍大。而不是你把臀圍搞大就一定能智商高!

          1.3   實(shí)現(xiàn)方法

          訓(xùn)練數(shù)據(jù) -> 學(xué)習(xí)模型 -> 模型 -> 應(yīng)用模型 -> 校驗(yàn)數(shù)據(jù)

          簡單說就是先訓(xùn)練,得出結(jié)論再校驗(yàn)。分類方法包括決策樹分類法、基于規(guī)則的分類法、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)和樸素貝葉斯分類法。

          模型準(zhǔn)確率 = 正確預(yù)測數(shù) / 總數(shù)

           

          2.       決策樹分類

          2.1   定義

          2-1

          如上圖,通過提出一系列精心構(gòu)思的問題,可以解決分類問題,每當(dāng)一個問題得到答案,后續(xù)問題將隨之解決。

          根節(jié)點(diǎn)、內(nèi)部節(jié)點(diǎn)都是非終結(jié)點(diǎn),是屬性測試條件。葉節(jié)點(diǎn)也是終結(jié)點(diǎn),是分類結(jié)果。

           

          2.2   建立決策樹

          Hunt算法,是許多決策樹算法的基礎(chǔ),包括ID3C4.5CART

          訓(xùn)練數(shù)據(jù)集,(Tid, 有房者, 婚姻狀況, 年收入, 拖欠貸款),具體數(shù)據(jù)見《數(shù)據(jù)挖掘?qū)д摗?/span>P94

          大量數(shù)據(jù)是不拖欠貸款的,所以選取類標(biāo)號,“拖欠貸款=否”。然后選擇測試條件“有房者”。接下來,再看生成數(shù)種,哪個葉子節(jié)點(diǎn)是無法確定到類標(biāo)號的,無法確定的遞歸調(diào)用如上步驟,選取測試條件“婚姻狀況”,然后是“年收入”。一棵決策樹建立好了,為何按照這樣的順序?后邊解釋。

          測試條件,可以是二元的(男,女),標(biāo)稱的(單身、已婚、離異),序數(shù)的(S號,M號,L號,XL號,分類結(jié)果不能是序數(shù)的,但是測試條件可以是序數(shù)的),連續(xù)的(工資是連續(xù)屬性)。

           

          2.3   選擇最佳的劃分度量

          p(i|t)表示給定節(jié)點(diǎn)t中屬于類i的記錄所占的比例,有時候省略t,直接用pi表示。這里介紹不純性(我稱它為區(qū)分度,數(shù)字越小,區(qū)分度越大)度量的一種方法,c是類的個數(shù),


          2.3.1          二元屬性劃分

          劃分A,結(jié)點(diǎn)N1,類C04個,類C13個;結(jié)點(diǎn)N2,類C02個,類C13個。

           

          N1

          N2

          C0

          4

          2

          C1

          3

          3

           

          Gini(1) = 1-(4/7)2-(3/7)2 = 24/49

          Gini(2) = 1-(2/5)2-(3/5)2 = 12/25

          加權(quán)Gini = Gini(1) * 7/12 + Gini(2) * 5/12 = 0.486

           

          劃分B,同理得到Gini=0.371,由此說明劃分B更好。

           

          N1

          N2

          C0

          1

          2

          C1

          4

          5

          2.3.2          標(biāo)稱屬性劃分

          與二元屬性(一個屬性,屬性值多元)劃分衡量方法相同,有三元或多元(一個屬性,屬性值多元)的情況,根據(jù)計(jì)算Gini來決定如何劃分(可以劃分為多路劃分,不局限于兩路劃分)。

           

          2.3.3          連續(xù)屬性劃分

          把訓(xùn)練集中每一項(xiàng)都作為一個“<=測試條件”,列出每一個結(jié)點(diǎn)下的C0數(shù)量和C1數(shù)量,計(jì)算每一個點(diǎn)的Gini。而事實(shí)上,不用每一個點(diǎn)都計(jì)算。如《數(shù)據(jù)挖掘?qū)д摗?/span>P100中,60,70,75連續(xù)且類標(biāo)號相同,120,125,220連續(xù)且類標(biāo)號相同,所以劃分點(diǎn)選取不能切斷他們,所以這幾個點(diǎn)不用計(jì)算Gini值。

           

          2.4   決策樹歸納特點(diǎn)

          會有重復(fù)的數(shù)據(jù)碎片,即存在相同兩棵子樹,如圖2-1

          目前為止,每個測試條件只包含一個屬性,對于x1+x2<1,也是可以允許的,稱為斜決策樹。

           

           

          posted @ 2011-09-25 13:49 柳桐 閱讀(891) | 評論 (0)編輯 收藏
            2011年9月18日
          轉(zhuǎn)載請注明出處 http://www.aygfsteel.com/fireflyk/archive/2011/09/18/358922.html

          網(wǎng)上找了很多例子,看了很多資料發(fā)現(xiàn)都不能完全重現(xiàn)一個OSGi的Web Demo
          本文結(jié)合了《OSGi原理與最佳實(shí)踐》+公司同事的《OSGi開發(fā)》+自己的理解。

          環(huán)境WindowXP + eclipse3.4 + Spring OSGi1.2.1
          1. 創(chuàng)建timeservice Bundle,提供輸出時間的功能
          1.1 eclipse內(nèi)創(chuàng)建Maven Project,選quickstart project:timeservice,package org.osgichina.demo.timeservice
          1.2 創(chuàng)建好后,remove maven的jar包,刪掉project中的App和AppTest,在項(xiàng)目上右鍵->PDE Tools->Convert
          1.3
          package org.osgichina.demo.timeservice;

          public interface TimeService {
              String getCurrentTime();
          }

          public class TimeServiceImpl implements TimeService {

              
          public String getCurrentTime() {
                  
          return (new Date()).toString();
              }

          }

          1.4 Spring配置
          配置放在META-INF/spring目錄下,框架啟動時會按照這個路徑去尋找配置文件
          timeservice.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

              
          <!-- timeService bean -->
              
          <bean name="timeService" class="org.osgichina.demo.timeservice.impl.TimeServiceImpl" />

          </beans>

          timeservice-osgi.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi"
              xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                                http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"
          >

              
          <!-- 將timeService 這個bean發(fā)布為OSGi服務(wù)的定義-->
              
          <osgi:service id="osgiTimeService" ref="timeService" interface="org.osgichina.demo.timeservice.TimeService">
              
          </osgi:service>

          </beans>

          這個Bundle到此已經(jīng)完成了,下一節(jié)會講解helloworldweb Bundle,涉及Import Package,OSGi的啟動,Spring+Web的配置等
          posted @ 2011-09-18 21:13 柳桐 閱讀(2353) | 評論 (1)編輯 收藏
            2011年9月16日
          簡單介紹,Grails是Groovy的Web框架,可以從名字看出它的特點(diǎn)Groovy+rails=Grails
          今天在單位開講前,同事笑稱講座題目是Girls,呵呵,可別看錯了。閑言少敘,下面是例子。

          環(huán)境WindowsXP

          HelloWorld Demo
          1. 解壓groovy1.8.1和grails1.3.7,分別設(shè)定GROOVY_HOME和GRAILS_HOME
          2. f: 回車 mkdir grails-app 回車 cd grails-app
          3. grails create-app 回車 racetrack
          4. cd racetrack 回車 grails run-app
          5. 訪問 http://localhost:8080/racetrack/

          CRUD Demo
          1. 接著如上操作。在racetrack路徑,
          grails create-domain-class 回車 Race 回車
          grails create-domain-class 回車 Registration

          2. Race.groovy
          class Race {
                  
                  String name
                  Date startDateTime
                  String city
                  String state
                  Float distance
                  Float cost
                  Integer maxRunners 
          = 10000
                  
                  
          static hasMany = [registration:Registration]
          }

          Registration.groovy
          class Registration {

              Race race
                  String name
                  Date dataOfBirth
                  String gender 
          = 'F'
                  String postalAddress
                  String emailAddress
                  Date createdAt 
          = new Date()
                  
          static belongsTo = Race
                  
          static optionals = ["postalAddress""gender"]
                  
          }

          3. grails create-controller 回車 Race 回車
          grails create-controller 回車 Registration
          Race.groovy
          class RaceController {
                  def scaffold 
          = Race
          }

          Registraion.groovy
          class RegistrationController {
                  def scaffold 
          = Registration
          }

          4. 運(yùn)行
            

          這個CRUD的例子,不僅支持增刪改查,還支持一對多的關(guān)聯(lián)關(guān)系,之后會有詳細(xì)的介紹。
          posted @ 2011-09-16 21:32 柳桐 閱讀(628) | 評論 (0)編輯 收藏
            2011年9月14日
              使用Maven開發(fā)dashboard,發(fā)現(xiàn)report.jar不是用Maven開發(fā)的,怎么用Maven依賴report.jar呢?

          命令如下:
          mvn install:install-file -DgroupId=<your_group_name> -DartifactId=<your_artifact_name> -Dversion=<snapshot> -Dfile=<path_to_your_jar_file> -Dpackaging=jar -DgeneratePom=true


          示例:
          mvn install:install-file -DgroupId=com.bupt.liutong -DartifactId=report -Dversion=1.0 -Dfile=e:/report.jar -Dpackaging=jar -DgeneratePom=true


          執(zhí)行成功后,
          在pom.xml文件中添加:
          <dependency>
              
          <groupId>com.bupt.liutong</groupId>
              
          <artifactId>report</artifactId>
              
          <version>1.0</version>
          </dependency>
          posted @ 2011-09-14 13:05 柳桐 閱讀(2006) | 評論 (0)編輯 收藏
          僅列出標(biāo)題  
          主站蜘蛛池模板: 内丘县| 绥棱县| 新津县| 珠海市| 嘉义市| 手机| 县级市| 上虞市| 盘山县| 镇远县| 闽侯县| 桑植县| 贵南县| 阿城市| 应城市| 措美县| 阿图什市| 顺平县| 无为县| 尚志市| 大余县| 黄浦区| 彭泽县| 北川| 紫金县| 怀宁县| 浪卡子县| 会宁县| 瑞金市| 雷山县| 深泽县| 什邡市| 宁都县| 宣威市| 威宁| 平江县| 商洛市| 大名县| 南漳县| 象州县| 五家渠市|