數(shù)據(jù)挖掘課程設(shè)計_第1頁
數(shù)據(jù)挖掘課程設(shè)計_第2頁
數(shù)據(jù)挖掘課程設(shè)計_第3頁
數(shù)據(jù)挖掘課程設(shè)計_第4頁
數(shù)據(jù)挖掘課程設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、【數(shù)據(jù)挖掘課程設(shè)計】-3-4-5規(guī)則劃分目 錄一 實 驗 目 的-3二 實 驗 內(nèi) 容-3三 實 驗 要 求-3四 實 驗 準 備-3五 實 驗 步 驟-4六 功 能 代 碼-5七 實 驗 結(jié) 果-9八 實 驗 心 得-10一 實驗?zāi)康?. 加強對3-4-5規(guī)則劃分算法的了解2. 加強對java語言的理解與動手操作能力3. 進一步熟悉eclipse環(huán)境。二 實驗內(nèi)容3-4-5規(guī)則介紹3-4-5規(guī)則可以用來將數(shù)值數(shù)據(jù)分割成相對一致,看上去自然的區(qū)間。一般,該規(guī)則根據(jù)最高有效位的取值范圍,遞歸逐層地將給定的數(shù)據(jù)區(qū)域劃分成3,4或5個相對等寬的區(qū)間。我們將用一個例子解釋這個規(guī)則的用法。規(guī)則如下:如果

2、一個區(qū)間在最高有效位包含,或個不同的值,則將該區(qū)間劃分為個區(qū)間(對,劃分為個等寬的區(qū)間;對于,按-分組,劃分成個區(qū)間)。如果在最高位包含,個不同的值,則將區(qū)間劃分為個等寬的區(qū)間。如果在最高有效位包含,個不同的值,則將區(qū)間劃分成個等寬的區(qū)間。該規(guī)則可以遞歸地用于每個區(qū)間,為給定的數(shù)值屬性創(chuàng)建概念分層。三 實驗要求 用java語言實現(xiàn)3-4-5規(guī)則劃分算法。四 實驗準備1. 了解3-4-5規(guī)則劃分的具體過程2. 具體詳細的算法模塊用什么方法實現(xiàn)分析3. 對總體進行可行性的研究4. 具體的編程實現(xiàn)3-4-5規(guī)則劃分5. 算法優(yōu)點缺點優(yōu)點:可以將數(shù)據(jù)分割成相對一致、看上去自然的區(qū)間缺點:需要自己確定數(shù)

3、據(jù)來開始分割,要有一定數(shù)據(jù)分析能力五實驗步驟六功能代碼1.自定義數(shù)據(jù)的low和high的值為以后做準備package zhj;public class data private int low;private int high;public data(int low ,int high)this.low=low;this.high=high;public string tostirng()return (+low+,+high+;public int gethigh() return high;public void sethigh(int high) this.high = high;pub

4、lic int getlow() return low;public void setlow(int low) this.low = low;2.基本功能代碼import java.util.arraylist;public class mydata private int min;private int max;private int low = -159867;private int high = 1838761;private int msd;private int low1;private int high1;private arraylist a = new arraylist();

5、/ 區(qū)間的存儲public mydata(int min, int max) this.min = min;this.max = max;this.msd = (int) (math.pow(10, ( + max).length() - 1);this.low1 = -msd;this.high1 = (integer.parseint(high + ).substring(0, 1) + 1) * msd;a.add(new data(low1, high1);public void three() / 第三步arraylist a1 = new arraylist();a1.add(a.

6、get(0);a.removeall(a);/ 清空int temp = a1.get(0).getlow();for (int i = 0; i a1.get(0).gethigh() temp -= msd;temp += msd / 10;a.add(new data(a1.get(0).getlow() + temp, temp);public void four() / 第四步int lows = -(int) (integer.parseint(min + ).substring(1, 2) + 1) * math.pow(10, (min + ).length() - 1);in

7、t highs = (int) (integer.parseint(max + ).substring(0, 1) + 1) * math.pow(10, (max + ).length() - 1);a.remove(0);a.add(0, new data(lows, 0);a.add(new data(a.get(2).gethigh(), highs);public void finall() / 第五步arraylist a1 = new arraylist();/ 復(fù)制前一個區(qū)間集for (int i = 0; i a.size(); i+) a1.add(a.get(i);a.r

8、emoveall(a);/ 清空區(qū)間for (int i = 0; i a1.size(); i+) / 取出沒個區(qū)間并且按照3-4-5規(guī)則劃分getint(count(a1.get(i), a1.get(i);/ if(!istrue()/迭代/ finall();/ system.out.println(this.printa();/ public boolean istrue()/停止迭代的條件 for (int i = 0; i a.size(); i+) if(a.get(i).gethigh()-a.get(i).getlow()100000)return true; return

9、 false; public void getint(int k, data d) / 通過傳進要劃分的區(qū)間和將要劃分為k個區(qū)間int x = (d.gethigh() - d.getlow() / k;/ 區(qū)間的步長for (int i = 0; i k; i+) a.add(new data(d.getlow() + i * x, d.getlow() + (i + 1) * x);/ 把最后一層的區(qū)間添加到區(qū)間列表public int count(data d) / 返回下一個分區(qū)間的大小int m = -1;switch (counts(d) case 1:case 5:case 10

10、:m = 5;break;case 3:case 6:case 9:m = 3;break;case 2:case 4:case 8:m = 4;break;default:/system.out.println(default!);break;return m;public int counts(data d) / 計算1-10合法int k;k = (d.gethigh() - d.getlow() / msd;if (k = 10) return k; else k = 10 * (d.gethigh() - d.getlow() / msd;return k;public string

11、 tostring() return 相關(guān)數(shù)據(jù):n + min= + min + nmax= + max + nlow= + low+ nhigh= + high + nmsd= + msd + nlow1= + low1+ nhigh1= + high1 + n*;public arraylist geta() return a;public void seta(arraylist a) this.a = a;public string printa() string str = 劃分后的區(qū)間:n;for (int i = 0; i a.size(); i+) str += a.get(i)

12、.tostirng() + n;return str; public static void main(string args) mydata m = new mydata(-351976, 4700896);system.out.println(m);system.out.println(m.printa();m.three();system.out.println(m.printa();m.four();system.out.println(m.printa();m.finall();system.out.println(m.printa();m.finall();system.out.p

13、rintln(m.printa();七實驗結(jié)果相關(guān)數(shù)據(jù):min=-351976max=4700896low=-159867high=1838761msd=1000000low1=-1000000high1=2000000*劃分后的區(qū)間:(-1000000,2000000劃分后的區(qū)間:(-1000000,0(0,1000000(1000000,2000000劃分后的區(qū)間:(-4000000,0(0,1000000(1000000,2000000(2000000,5000000劃分后的區(qū)間:(-4000000,-3000000(-3000000,-2000000(-2000000,-1000000(-1000000,0(0,200000(200000,400000(400000,600000(600000,800000(800000,1000000(1000000,1200000(1200000,1400000(1400000,1600000(1600000,1800000(1800000,2000000(2000000,3000000(3000000,4000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論