In [1]:
import fingerprint as fp
In [2]:
s_all=fp.read_pickle("struct_all.pickle")
In [4]:
import pandas as pd
import tqdm
In [5]:
s250=s_all[0:250]
f_ones_250=[fp.get_phi(s250[i],obser="ones",rmax=12,delta=0.05) for i in tqdm.tqdm_notebook(range(len(s250)))]
f_Z_250=[fp.get_phi(s250[i],obser="Z",rmax=12,delta=0.05) for i in tqdm.tqdm_notebook(range(len(s250)))]
f_Chi_250=[fp.get_phi(s250[i],obser="Chi",rmax=12,delta=0.05) for i in tqdm.tqdm_notebook(range(len(s250)))]
In [6]:
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
In [12]:
plt.figure(figsize=(10,10))
r=np.linspace(0.05,12,(12/0.05))
for i in range(2):
lab=s250[i].composition
plt.plot(r,f_Z_250[i],label=lab)
plt.legend()
Out[12]:
In [14]:
df_ones=pd.DataFrame(f_ones_250)
In [15]:
metric_ones=np.array([np.dot(f_ones_250[i],f_ones_250[j]) for i in range(250) for j in range(250)]).reshape(250,250)
In [16]:
metric_Z=np.array([np.dot(f_ones_250[i],f_ones_250[j]) for i in range(250) for j in range(250)]).reshape(250,250)
In [17]:
dist=np.array([np.dot(f_ones_250[0],f_ones_250[i]) for i in range(250)])
In [18]:
df_ones=pd.DataFrame({"phi_ones":f_ones_250})
In [19]:
df_ones["dist"]=dist
dt_sort=df_ones.sort("dist").drop("dist",axis=1)
In [20]:
comps=[s250[i].composition for i in range(250)]
In [21]:
df_ones["Composition"]=comps
In [22]:
dt_sort=df_ones.sort("dist",ascending=False)
In [23]:
dt_sort.set_index(np.arange(dt_sort.shape[0]),inplace=True)
In [24]:
for i in range(5):
print dt_sort["Composition"][i]
In [25]:
sorted_f_ones=dt_sort['phi_ones'].values
In [26]:
metric_ones=np.array([np.dot(sorted_f_ones[i],sorted_f_ones[j]) for i in range(250) for j in range(250)]).reshape(250,250)
In [27]:
#for i in range(250):
# metric_ones[i][i]=0
plt.figure(figsize=(15,15))
plt.imshow(metric_ones[0:250,0:250])
plt.colorbar()
Out[27]:
In [73]:
import sklearn
In [74]:
from sklearn.metrics.pairwise import euclidean_distances
In [79]:
euclid=np.array([np.sqrt(np.dot(sorted_f_ones[i],sorted_f_ones[i])+np.dot(sorted_f_ones[j],sorted_f_ones[j])-2*np.dot(sorted_f_ones[i],sorted_f_ones[j])) for i in tqdm.tqdm_notebook(range(250)) for j in range(250)]).reshape(250,250)
In [82]:
plt.figure(figsize=(15,15))
plt.imshow(euclid[0:250,0:250])
plt.colorbar()
Out[82]: