def download(self, path="files/names/min.csv"): du = DameUtils() namsorjson = path namsorjson = open("files/names/namsor" + du.path2file(path) + ".json", "w+") surnames = True names = self.csv2names(path, surnames=surnames) namsorjson.write("[") length = len(names) i = 0 while (i < length): name = names[i][0] namsorjson.write('{"name":"' + str(names[i][0]) + '",\n') surname = names[i][1] namsorjson.write('"surname":"' + str(names[i][1]) + '",\n') dnget = self.get(name=name, surname=surname, binary=True) namsorjson.write('"gender":"' + str(dnget[0]) + '",\n') namsorjson.write('"scale":' + str(dnget[1]) + '\n') if ((length - 1) == i): namsorjson.write('} \n') else: namsorjson.write('}, \n') i = i + 1 namsorjson.write("]") namsorjson.close()
def download(self, path='files/names/partial.csv', surnames=False): du = DameUtils() new = [] d = "" lresult = [] res = "" if (surnames == True): l = self.csv2names(path, surnames=True) for i in range(0, len(l)): d = self.get(l[i][0], surname=l[i][1]) d["surname"] = l[i][1] lresult.append(d) res = str(lresult) else: l = self.csv2names(path) # We must split the list in different lists with size 10 for i in range(0, len(l), 10): new.append(l[i:i + 10]) for j in new: lresult.append(self.get2to10(j)) for k in lresult: res = res + str(k) res = str(res).replace("\'", "\"") res = str(res).replace('None', '"unknown"') backup = open("files/names/genderize" + du.path2file(path) + ".json", "w+") backup.write(res) backup.close() return res
def test_dame_namsor_download(self): dn = DameNamsor() du = DameUtils() path1 = "files/names/min.csv" if (dn.config['DEFAULT']['namsor'] == 'yes'): g = dn.download(path1) self.assertTrue( os.path.isfile("files/names/namsor" + du.path2file(path1) + ".json"))
def test_dame_genderapi_download(self): dga = DameGenderApi() du = DameUtils() path1 = "files/names/min.csv" if (dga.config['DEFAULT']['genderapi'] == 'yes'): g = dga.download(path1) self.assertTrue( os.path.isfile("files/names/genderapi" + du.path2file(path1) + ".json"))
def test_path2file(self): du = DameUtils() self.assertEqual(du.path2file("files/images/lalla.csv"), "files_images_lalla.csv")
parser.add_argument('--csv') show_parser = parser.add_mutually_exclusive_group(required=False) show_parser.add_argument('--show', dest='show', action='store_true') show_parser.add_argument('--no-show', dest='show', action='store_false') parser.set_defaults(show=True) args = parser.parse_args() du = DameUtils() if (len(sys.argv) > 1): #filepath = 'files/features_list.csv' #your path here data = np.genfromtxt(args.csv, delimiter=',', dtype='float64') scaler = MinMaxScaler(feature_range=[0, 1]) data_rescaled = scaler.fit_transform(data[1:, 0:8]) #Fitting the PCA algorithm with our Data pca = PCA().fit(data_rescaled) #Plotting the Cumulative Summation of the Explained Variance plt.figure() plt.plot(np.cumsum(pca.explained_variance_ratio_)) plt.xlabel('Number of Components') plt.ylabel('Variance (%)') #for each component plt.title('Dataset Explained Variance') plt.savefig('files/images/pca_components_'+ str(du.path2file(args.csv)) + '.png') if (args.show): plt.show() else: print("You must introduce a csv file.") print("Try $ python3 pca-components.py --csv='files/features_list.csv'")