Beispiel #1
0
 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
Beispiel #3
0
 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")
Beispiel #6
0
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'")