Esempio n. 1
0
import sys
#sys.path.append("RRA")
from importlib import reload
import gen_data,plot_tool
import RRclustering3
reload(RRclustering3)
reload(gen_data)
reload(plot_tool)
from RRclustering3 import RRalg, save_result,load_result
from plot_tool import plot_result,plot_thr_result_files
import numpy as np
#%%
#%% Scurve
data_name = 'Scurve'
X,_=gen_data.Scurve(50,True)
gen_data.plotpt(X,ticks=False,savename='result_plots\M2R2\\'+data_name)
n = X.shape[0]
#%%
parms={'beta':0.8,'lambda':80,\
       'list_NumPt4Instance':[2],\
       'dist_adj':True,'initial_method':'Local_Best',\
       'ini_seed':3}
       #%%
for lam in [10,20,110,120]:
    parms['lambda']=lam    
    a=RRalg(X,parms)
    a.run()
    name = 'result_rra\M2R2\\'+data_name+'_n%d_b%1.1f_l%d' \
             %(n,parms['beta'],parms['lambda'])
    save_result(a,name)
#%%
Esempio n. 2
0
import RRclustering3
reload(RRclustering3)
from RRclustering3 import RRalg, save_result,load_result
import plot_tool

#%%
lib_parms={'ls_line_parm': [[0.,0.,5.,-4.],[0.,0.,1.,.5]]}
lib_parms['ls_range_x'] = [[-2,2],[-2,2]]
lib_parms['ls_var_yz'] = [.001,.001]
lib_parms['n_outlier'] = 40
lib_parms['outlier_range_x']=[-2.5,1.5]
lib_parms['outlier_range_y']=[-2.5,1.5]
n=100
X = gen_data.lines2D(n,lib_parms)
gen_data.plotpt(X,ticks=False,savename='result_plots\EM\EM_compare_original_points')
#%%
#%%
parms = {'n_clusters':2}
parms['beta_ini'] = np.array([[0.,0.,5.,-4.],[0.,0.,1.,.5]])
a = EM_classify.EM_line_model(X,parms)
a.run(tol=1e-3)
#%%
a.plot_result2D(MarkerSize=10,savename='EM_2lines_40outlier_n100')
fig.tight_layout()
#%%
parms = {'beta':0.8,'lambda':30,'list_NumPt4Instance':[2],'dist_adj':True}
b=RRclustering3.RRalg(X,parms)
b.run()
#%%
plot_tool.plot_result(b,b.list_xid_found,savename='result_plots\EM\Xshape_easy_RRa')
Esempio n. 3
0
reload(gen_data)
reload(plot_tool)
from RRclustering3 import RRalg, save_result, load_result
from plot_tool import plot_result, plot_thr_result_files
import numpy as np
#%%
data_name = 'lines3D'
lib_parms={'ls_line_parm': [[0.,0.,3.,5.,-4.,1.],\
                            [1.,2.,5.,-2.,3.,4.],\
                            [1.,1.,1.,1.,10.,3.]]}
lib_parms['ls_range_x'] = [[-3, 5], [-1, 4], [0, 4]]
lib_parms['ls_var_yz'] = [.3, .3, .3]
n = 60
X = gen_data.lines3D(n, lib_parms)
name = 'result_plots\M2R3\\' + data_name + 'wo_ticks'
gen_data.plotpt(X, ticks=False, savename=name)
#%%
gen_data.plotpt(X, ticks=False, savename=name, elev=24, azim=5)

##%%
#%%
n = X.shape[0]
parms={'beta':0.8,'lambda':100,\
       'list_NumPt4Instance':[2],\
       'dist_adj':True,'initial_method':'Local_Best',}
a = RRalg(X, parms)
#%%
a.run()
#%%
name = 'result_plots\M2R3\\' + data_name + '_n%d_b0.8_l%d_2' % (
    n, parms['lambda'])
Esempio n. 4
0
#lib_parms={'ls_pts':[[-1,1],[0,1.7],[1,1]],\
#          'var':[0.05]*3}
#X=gen_data.points(200,lib_parms)
#
#gen_data.plotpt(X,savename='result_plots\M1R2\\'+data_name)
#%%
data_name = 'Stars'
ss = [[i / 2, 0] for i in np.arange(0, 3)]
ss = ss + [[i / 2, 1 / 2] for i in np.arange(0, 3)]
ss = ss + [[i / 2, 1] for i in np.arange(0, 3)]
lib_parms={'ls_pts':ss,\
           'var':[0.015]*9,\
           'distr':'Gaussian'}
X = gen_data.points(200, lib_parms)
#X = gen_data.add_outlier(100,X)
gen_data.plotpt(X, savename='result_plots\M1R2\\' + data_name)
#%%
data_name = 'Mouse'
lib_parms={'ls_pts':[[-.4,.4],[0,0],[.4,.4]],\
           'var':[0.02,0.2,0.02],\
           'ls_n':[2,8,2],\
            'distr':'Uniform'}
X = gen_data.points(200, lib_parms)
#X = gen_data.add_outlier(100,X)
gen_data.plotpt(X, savename='result_plots\M1R2\\' + data_name)
#%% k-means
kmeans = KMeans(n_clusters=9, random_state=0).fit(X)
cc = kmeans.labels_
colorname = list(colors.cnames.keys())
colorname.pop(2)
colorname = ['r', 'g', 'b', 'c', 'm', 'y', 'k'] + colorname
Esempio n. 5
0
import gen_data,plot_tool
import RRclustering3
reload(RRclustering3)
reload(gen_data)
reload(plot_tool)
from RRclustering3 import RRalg, save_result,load_result
from plot_tool import plot_result,plot_thr_result_files
import numpy as np
#%%
data_name = 'plane 3D'
lib_parms={'ls_plane_parm':[[0,0,1,0],[0,1,1,0]]}
lib_parms['ls_range_xy']=[[0,5,-5,5],[0,5,-5,5]] 
lib_parms['ls_var_z']=[.2,.2,.2]
X = gen_data.planes3D(50,lib_parms)
name = 'result_plots\M3R3\\'+data_name+'_wo_tick_0'
gen_data.plotpt(X,ticks=False,savename=name,azim=18,elev=13)
name = 'result_plots\M3R3\\'+data_name+'_wo_tick_1'
gen_data.plotpt(X,ticks=False,savename=name,azim=-177,elev=0)
#%%
n = X.shape[0]
parms={'beta':0.8,'lambda':40,\
       'list_NumPt4Instance':[3],\
       'dist_adj':True,'initial_method':'Local_Best',}
a=RRalg(X,parms)
#%%
a.run()
#%%
name = 'result_plots\M3R3\\'+data_name+'_n%d_b%1.1f_l%d_0' \
             %(n,parms['beta'],parms['lambda'])
plot_result(a,a.list_xid_found,savename=name,elev=18,azim=13)
name = 'result_plots\M3R3\\'+data_name+'_n%d_b%1.1f_l%d_1' \
Esempio n. 6
0
reload(MSVolume)
reload(RRclustering3)
reload(plot_tool)
reload(gen_data)
reload(minSumVol)

#%% Example 1.0: clean percent sign in 2D %%%%%%%%%%%%%%%%%
data_name = 'pct clean'
lib_parms = {'ls_pts': [[-2, 4], [2, -2]], 'var': [[0.1], [0.1]]}
X0 = gen_data.points(50, lib_parms)
lib_parms = {'ls_line_parm': [[0., 0., 1., 1.]]}
lib_parms['ls_range_x'] = [[-3, 5]]
lib_parms['ls_var_yz'] = [0.05]
X1 = gen_data.lines2D(40, lib_parms)
X = np.vstack((X0, X1))
gen_data.plotpt(X)
#%%
#%% Example 1.1: corruted percent sign in 2D %%%%%%%%%%%%%%%%%
data_name = 'pct'
lib_parms = {'ls_pts': [[-2, 4], [2, -2]], 'var': [[0.1], [0.1]]}
X0 = gen_data.points(50, lib_parms)
lib_parms = {'ls_line_parm': [[0., 0., 1., 1.]]}
lib_parms['ls_range_x'] = [[-3, 5]]
lib_parms['ls_var_yz'] = [0.05]
X1 = gen_data.lines2D(40, lib_parms)
X2 = np.vstack((X0, X1))
gen_data.plotpt(X2)
X = gen_data.add_outlier(40, X2)
#%%#%% Example 2.0: points3D
data_name = '3Dmix_clean'
lib_parms = {'ls_pts': [[4, 4, 5]], 'var': [[0.1]]}
Esempio n. 7
0
fv_l, Zid = Aux_fcn.run_exactsol_with_C(a, m=3)
# m=3: Zid = [ 601 1004 1223]
#%%
Aux_fcn.plot_result(a, Zid_exact=Zid, MarkerSize=50)
###############################################################################################
#%% 3D line example:
#%% line3D
lib_parms = {
    'ls_line_parm': [[0., 0., 0., 5., -4., 1.], [1., 2., 5., -2., 3., 4.],
                     [1., 1., 1., 1., 10., 3.]]
}
lib_parms['ls_range_x'] = [[-3, 3], [-1, 4], [0, 5]]
lib_parms['ls_var_yz'] = [.3, .3, .3]
n = 50
X = gen_data.lines3D(n, lib_parms)
gen_data.plotpt(X, title='Original data')

parms = {'beta': 0.8, 'lambda': 50, 'Model_Type': 'line'}
parms['initial_method'] = 'Random'  # or 'Local_Best'
#%% run the algorithm
a = RRalg(X, parms)
a.run()

#%% the exact solution
#lib_parms={'ls_line_parm': [[0.,0.,0.,5.,-4.,1.],[1.,2.,5.,-2.,3.,4.],[1.,1.,1.,1.,10.,3.]]}
#lib_parms['ls_range_x'] = [[-3,3],[-1,4],[0,5]]
#lib_parms['ls_var_yz'] = [.3,.3,.3]
#n=50
#X = gen_data.lines3D(n,lib_parms)
fv_l, Zid = Aux_fcn.run_exactsol_with_C(a, m=3)
# m=1: h = 14.921015730101239, Zid = [1105]
Esempio n. 8
0
X = gen_data.add_outlier(15, X1, random_seed=3)
#%%  'Xshape_cor'
data_name = 'XshapeCor'
lib_parms = {'ls_line_parm': [[0., 0., 5., -4.], [0., 0., 1., .5]]}
lib_parms['ls_range_x'] = [[-2, 2], [-4, 4]]
lib_parms['ls_var_yz'] = [.01, .01]
lib_parms['n_outlier'] = 40
lib_parms['outlier_range_x'] = [-2.5, 1.5]
lib_parms['outlier_range_y'] = [-2.5, 1.5]
n = 100
X = gen_data.lines2D(n, lib_parms)
#X = gen_data.add_outlier(20,X1,random_seed=3)

#%%
name = 'result_plots\M2R2\\' + data_name
gen_data.plotpt(X, ticks=False, savename=name, title=data_name)

#%%
n = X.shape[0]
parms={'beta':0.8,'lambda':50,\
       'list_NumPt4Instance':[2],\
       'dist_adj':True,'initial_method':'Random',}
a = RRalg(X, parms)
a.run()
name = 'result_plots\M2R2\\' + data_name + '_RRA_' + parms[
    'initial_method'] + 'b08'
plot_result(a, a.list_xid_found, savename=name)
#%%
parms['initial_method'] = 'Local_Best'
a = RRalg(X, parms)
a.run()
Esempio n. 9
0
reload(gen_data)
import wrapper_fcns
reload(wrapper_fcns)

import itertools as it
#%%
#%% points and line
lib_parms = {'ls_pts': [[-2, 4], [2, -2]], 'var': [[0.1], [0.1]]}
X0 = gen_data.points(50, lib_parms)
lib_parms = {'ls_line_parm': [[0., 0., 1., 1.]]}
lib_parms['ls_range_x'] = [[-3, 5]]
lib_parms['ls_var_yz'] = [0.05]
X1 = gen_data.lines2D(40, lib_parms)
X2 = np.vstack((X0, X1))
gen_data.plotpt(X2, savename='clean_percentile_data')
#%%
X = gen_data.add_outlier(40, X2)
#gen_data.plotpt(X,savename='mix_model_results\percentile_data_cor_n130')
gen_data.plotpt(X)
#%%
parms = {'beta':0.8,'lambda':70,'list_NumPt4Instance':[1,2],\
         'disp_info':True,'list_dist_mply':[1,1.5]}
a = RRalg(X, parms)
a.run()
#%%
save_name = 'mix_model_results\stgy1_percentile_data_n90_%d' % parms[
    'list_dist_mply'][1]
plot_tool.plot_result(a,a.list_xid_found,title='show_weight',\
                      savename = save_name)