def train(self): global fbest,wbest f_list = [] for i in range(G): for p in self.particles: f = self.game(p.x) f_list.append(f[1]) if f[1] > fbest: fbest = f[1] wbest = f[0] if p.f < f[1]: p.f = f[1] p.pbest = copy.copy(p.x) if self.f < p.f: self.update(p.x,p.f) for p in self.particles: p.move(self.gbest) print(f"{i+1}: {max(f_list)}") #ネットワーク保存 if i == int(G/10) -1: self.save(wbest,i+1) if i == int(G/2) -1: self.save(wbest,i+1) print(fbest) plot(f_list) return wbest
def train(self): global fbest, wbest for i in range(G): for w in self.w_list: p = self.game(w) if p[1] > fbest: fbest = p[1] wbest = p[0] self.p_list.append(self.Parent(p[0], p[1])) self.f_list.append(p[1]) #評価の良い順にソート self.p_list = sorted(self.p_list, key=lambda p: p.f, reverse=True) print(f"{i+1}: ", max(self.f_list)) #淘汰 del self.p_list[P:] #新たな子の生成 self.w_list = [ self.p_list[random.randint(0, P - 1)].mutation() for i in range(C) ] if i == int(G / 10) - 1: self.save(wbest, i + 1) if i == int(G / 2) - 1: self.save(wbest, i + 1) print(fbest) plot(self.f_list) return wbest
def train(self): global fbest,wbest #初期の子のリスト生成 p_list,c_list,f_list,g_list = [],[],[],[] for i in range(G): for w in self.w_list: p = self.game(w) if p[1] > fbest: fbest = p[1] wbest = p[0] c_list.append(self.Population(p[0],p[1])) f_list.append(p[1]) g_list.append(max(f_list)) print(f"{i+1}: {max(f_list)}") if i < 1: p_list = copy.copy(c_list) else: p_list = [p_list[n] if p_list[n].f > c_list[n].f else c_list[n] for n in range(P)] self.w_list = self._generate(p_list) c_list.clear() #ネットワーク保存 if i == int(G/10) -1: self.save(wbest,i+1) if i == int(G/2) -1: self.save(wbest,i+1) print(fbest) plot(f_list) return wbest
def main(): os.chdir( '/Users/ericzhou/Desktop/程序代码/Programming/Visual_Studio/Python/Projects/Lottery' ) file_name = 'data.csv' if not os.path.exists('data.csv'): maxi = input('How many pages of data to use(≤135) > ') get_history_result(file_name, maxi) else: choice = input('Use existing data? (y/n) > ') if choice == 'n': maxi = input('How many pages of data to use(≤135) > ') get_history_result(file_name, maxi) else: print('Using existing data......') print() choice = input( '1.Linear Regression\n2.Markov Chain\n3.Manual Work\nChoose which method to use> ' ) try: if int(choice) == 1: get_predicted_num(file_name, 'r1', 1, 'R1') get_predicted_num(file_name, 'r2', 2, 'R2') get_predicted_num(file_name, 'r3', 3, 'R3') get_predicted_num(file_name, 'r4', 4, 'R4') get_predicted_num(file_name, 'r5', 5, 'R5') get_predicted_num(file_name, 'r6', 6, 'R6') get_predicted_num(file_name, 'b1', 7, 'B1') elif int(choice) == 2: predict_next(file_name, 'r1') predict_next(file_name, 'r2') predict_next(file_name, 'r3') predict_next(file_name, 'r4') predict_next(file_name, 'r5') predict_next(file_name, 'r6') predict_next(file_name, 'b1') else: plot(file_name) except ValueError: print('Please input a valid number!')
def test_plot(self): t, wsol = self.scene.sim(5, 10) plot(wsol, t) self.scene.set_shape(self.body) t, wsol = self.scene.sim(3, 40) plot(wsol, t) self.scene.set_init_velo(2 * math.cos(math.pi / 2), 2 * math.sin(math.pi / 2)) self.scene.set_unbal_forces(Fx2, Fy2) self.scene.set_shape(self.triangle) t, wsol = self.scene.sim(2, 30) plot(wsol, t)
def plotData(self, widget): """ Plot specific data, if widget.get_text() == "" plot the current session """ nombre = self.glade.get_object("entry2").get_text() plot(nombre)
# capturando os valores globais do paralelismo comm = MPI.COMM_WORLD size = comm.Get_size() rank = comm.Get_rank() # print(sys.argv[2], size) num_ants = int(int(sys.argv[2]) / size) # Gerando um Graph # Graph(num Formigas, Gerações, alpha, beta, rho) g = Graph(num_ants, int(sys.argv[3]), float(sys.argv[4]), float(sys.argv[5]), float(sys.argv[6])) # Carrega o grafo do arquivo passado como parametro points = g.load_from_file(sys.argv[1]) # Imprime a solução print('Rank: {}'.format(rank)) solution = g.solve() g.update_global() results = comm.gather(solution, root=0) if rank == 0: results.sort() # Imprimindo o custo da solução print("cost =", results[0][0]) # Plotando grafo do caminho encontrado plot(points, results[0][1], int(sys.argv[7])) plot2(points, g.pm.matrix, int(sys.argv[7]))
import numpy from FileHandler import read_from_file from Kmeans import kmeans from Plot import plot from scipy.spatial.distance import cdist def get_error(dataSet, centroids, labels): errors = [0 for i in range(len(centroids))] for i in range(len(labels)): errors[labels[i]] += numpy.math.sqrt( (dataSet[i][0] - centroids[labels[i]][0])**2 + (dataSet[i][1] - centroids[labels[i]][1])**2) / labels.count( labels[i]) return errors if __name__ == '__main__': dataSet = read_from_file("Dataset1.csv") min_iteration = 15 k = 4 centroids, labels = kmeans(dataSet, k, min_iteration) plot(labels, dataSet, k) print( "for k=" + str(k) + " the average distance between the cluster center and the data points in that cluster : " + str(get_error(dataSet, centroids, labels)))
from Cluster import Cluster as cluster from Plot import Plot as plot import numpy as np from DatabaseOperation import Database as database import datetime #print (datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) p1 = plot() def Cluster_Plot_Result(CurrentCluster): # n_clusters_, labels, X, cluster_belong, cluster_centers_indices cluster_belong = CurrentCluster.finder(CurrentCluster.labels, len(CurrentCluster.X)-1) Last_Transaction_Distance, Maximum_Distance, Last_Transaction_Cluster_Centroid = p1.plotClusters(CurrentCluster.n_clusters_, CurrentCluster.labels, CurrentCluster.X, cluster_belong, CurrentCluster.cluster_centers_indices) CurrentCluster.setDistances(Last_Transaction_Distance, Maximum_Distance, Last_Transaction_Cluster_Centroid) print(CurrentCluster.Last_Transaction_Distance) def createClusters(data, title): p1.title=title temp_Cluster=cluster(np.asarray(data, dtype=float)) temp_Cluster.makeCluster() Cluster_Plot_Result(temp_Cluster) return temp_Cluster def calculateError(cluster): if int( cluster.Maximum_Distance) == 0 & int (cluster.Last_Transaction_Distance == 0.0): error = "F" elif cluster.Maximum_Distance > cluster.Last_Transaction_Distance: error = "L" elif cluster.Maximum_Distance < cluster.Last_Transaction_Distance:
LR_Digits = LR(features_train, labels_train, features_test, labels_test) kaggle.kaggleize(LR_Digits[0], path + "/Submission/Predictions/" + str(i) + "/LR.csv") Training_time.append(LR_Digits[1]) Testing_time.append(LR_Digits[2]) print Training_time, Testing_time KNN_Digits = KNN(features_train, labels_train, features_test, labels_test) kaggle.kaggleize(KNN_Digits[0], path + "/Submission/Predictions/" + str(i) + "/KNN.csv") Training_time.append(KNN_Digits[1]) Testing_time.append(KNN_Digits[2]) print Training_time, Testing_time plot(c, Training_time, "Training Time", str(i), path) plot(c + 3, Testing_time, "Testing Time", str(i), path) print "K Fold CrossValidation in Progress for " + str(i) + " DataSet" # call Cross Validation function and saving its return error values in CV variable CV = kFold(features_train, labels_train, features_test, labels_test, path, str(i)) #plot a graph of Neighbors vs Errors. values0 = CV[0].values() # save CrossValidation set Error Values inds0 = CV[0].keys() # save CrossValidation set number of neighbor values values1 = CV[1].values() # save Training set Error Values inds1 = CV[1].keys( ) # save respective number of neighbors for Training set Errors. plt.figure(c + 10, figsize=(6, 4)) plt.plot(inds0, values0, 'sb-',
game = SnakeGame() #game_loop while True: # get state state_old = game.get_state() # get move action = agent.get_action(state_old) # perform move and get new state reward, done, score = game.play_step(action) state_new = game.get_state() # train short memory agent.train_short_memory(state_old, action, reward, state_new, done) # remember agent.remember(state_old, action, reward, state_new, done) if done: #게임이 끝났을때 # train long memory, plot result game.reset() agent.n_games += 1 agent.train_long_memory() plot_scores.append(score) total_score += score mean_score = total_score / agent.n_games plot_mean_scores.append(mean_score) plot(plot_scores, plot_mean_scores)
def plotData(self,widget): """ Plot specific data, if widget.get_text() == "" plot the current session """ nombre = self.glade.get_object("entry2").get_text() plot(nombre)
b2 = BodyT([11, 9, 9, 11], [11, 11, 9, 9], [10, 10, 10, 10]) print(b2.cm_x(), b2.cm_y(), b2.mass(), b2.m_inert()) # cm for b2 should be shifted to 10, 10; b.m_inert() should be equal to b2.m_inert() lst = [c, t, b, b2] for s in lst: print(s.cm_x(), s.cm_y(), s.mass(), s.m_inert()) S = Scene(c, Fx, Fy, 0, 0) # exercise interface for Scene S.get_shape() S.get_unbal_forces() S.get_init_velo() # exercise setters for Scene S.set_shape(c) S.set_unbal_forces(Fx, Fy) S.set_init_velo(0, 0) t, wsol = S.sim(10, 100) for t1, w1 in zip(t, wsol): print("t=", t1, "rx=", w1[0], "ry=", w1[1], "vx=", w1[2], "vy=", w1[3]) # extract ry values print(wsol[0:, 1]) plot(wsol, t)