資源簡介
包含四個程序,分別從dat文件,txt文件,csv文件,xls文件中讀取數據,并利用MIC算法進行數據關聯性挖掘,后以圖片形式呈現結果。文件包含源碼和測試數據。

代碼片段和文件信息
from?__future__?import?division
import?numpy?as?np
import?matplotlib.pyplot?as?plt
from?minepy?import?MINE
import?xlrd
import?csv
import?pandas?as?pd
def?micsubplot(xynumRowsnumColsplotNum
??????????????xlim=(-44)ylim=(-44)):
????r=np.around(np.corrcoef(x?y)[01]1)
????mine=MINE(alpha=0.5c=15)
????mine.compute_score(xy)
????mic=mine.mic()
????ax=plt.subplot(numRowsnumColsplotNum
???????????????????xlim=xlimylim=ylim)
????ax.set_title(‘Person?r=%.1f\MIC=%.1f‘?%?(rmic)fontsize=10)
????ax.set_frame_on(False)
????ax.axes.get_xaxis().set_visible(True)
????ax.axes.get_yaxis().set_visible(True)
????ax.plot(xy‘+‘)
????ax.set_xticks([])
????ax.set_yticks([])
????return?ax
‘‘‘
n=800
x1?=?np.random.uniform(-1?1?n)
y1?=?4*(x1**2-0.5)**2?+?np.random.uniform(-1?1?n)/3?
cors?=?[1.0?0.8?0.4?0.0?-0.4?-0.8?-1.0]?
for?i?cor?in?enumerate(cors):
????cov?=?[[1?cor][cor?1]]
????xy?=?np.random.multivariate_normal([0?0]?cov?n)
????x2=xy[:?0]
????y2=xy[:?1]
???
‘‘‘
#?read?.xls?files?and?calculat?the?MIC?value
xlsfile?=?r“.\text1.xls“
book?=?xlrd.open_workbook(xlsfile)
sheet0?=?book.sheet_by_index(0)
#print?“1“sheet0
sheet_name?=?book.sheet_names()
#print?“2“sheet_name
#sheet1?=?book.sheet_by_name(sheet_name)
nrows?=?sheet0.nrows
#print?“3“nrows
ncols?=?sheet0.ncols
#print?“4“ncols
‘‘‘
col_data_x1=[]
col_data_y1=[]
col_data_x2=[]
col_data_y2=[]
‘‘‘
xlsdata=[]
for?i?in?range(nrows):
????xlsdata.append(sheet0.row_values(i))
print?xlsdata
x1=[x[0]?for?x?in?xlsdata]
y1=[x[1]?for?x?in?xlsdata]
x2=[x[2]?for?x?in?xlsdata]
y2=[x[3]?for?x?in?xlsdata]
‘‘‘
col_data_x1?=?sheet0.col_values(0)
col_data_y1?=?sheet0.col_values(1)
col_data_x2?=?sheet0.col_values(2)
col_data_y2?=?sheet0.col_values(3)
‘‘‘
#print?“5“col_data
#print?len(col_data)
x1=x1[1:len(x1)]
y1=y1[1:len(y1)]
x2=x2[1:len(x2)]
y2=y2[1:len(y2)]
‘‘‘
print?len(x1)len(y1)len(x2)len(y2)
print?‘\n‘
print?x1
print?y1
print?x2
print?y2
‘‘‘
micsubplot(x1?y1?1?2?1?(-1?1)?(-1/3?1+1/3))
micsubplot(x2?y2?1?2?2)
plt.tight_layout()?
plt.show()
#?read?.csv?files?and?calculat?the?MIC?value
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-09?11:03??src\
?????文件????????2192??2018-03-13?18:04??src\MIC_calculation2.py
?????文件????????3545??2018-04-03?11:56??src\MIC_csv.py
?????文件????????1673??2018-04-09?11:03??src\MIC_dat.py
?????文件????????1606??2018-03-13?17:57??src\MIC_txt.py
?????文件????????2131??2018-03-13?17:59??src\MIC_xls.py
?????文件???????50163??2018-03-12?14:20??src\text1.csv
?????文件??????100328??2018-03-12?14:22??src\text1.dat
?????文件???????50163??2018-03-13?14:24??src\text1.txt
?????文件???????96256??2018-03-11?23:20??src\text1.xls
評論
共有 條評論