]> code.communitydata.science - cdsc_reddit.git/blobdiff - clustering/clustering_base.py
make pass keyword arg to dataframe.drop
[cdsc_reddit.git] / clustering / clustering_base.py
index ced627d2863eb9448126c625020fb7aba530b21c..2f37b686660ab077e879b8f092697d1652b85a9c 100644 (file)
@@ -21,9 +21,9 @@ class clustering_job:
         self.subreddits, self.mat = self.read_distance_mat(self.infile)
         self.clustering = self.call(self.mat, *self.args, **self.kwargs)
         self.cluster_data = self.process_clustering(self.clustering, self.subreddits)
-        self.score = self.silhouette()
         self.outpath.mkdir(parents=True, exist_ok=True)
         self.cluster_data.to_feather(self.outpath/(self.name + ".feather"))
+
         self.hasrun = True
         self.cleanup()
 
@@ -62,12 +62,13 @@ class clustering_job:
         else:
             score = None
             self.silsampout = None
+
         return score
 
     def read_distance_mat(self, similarities, use_threads=True):
         print(similarities)
         df = pd.read_feather(similarities, use_threads=use_threads)
-        mat = np.array(df.drop('_subreddit',1))
+        mat = np.array(df.drop('_subreddit',axis=1))
         n = mat.shape[0]
         mat[range(n),range(n)] = 1
         return (df._subreddit,1-mat)
@@ -81,9 +82,13 @@ class clustering_job:
         self.n_clusters = len(set(clusters))
 
         print(f"found {self.n_clusters} clusters")
-
         cluster_data = pd.DataFrame({'subreddit': subreddits,'cluster':clustering.labels_})
 
+
+        self.score = self.silhouette()
+        print(f"silhouette_score:{self.score}")
+
+
         cluster_sizes = cluster_data.groupby("cluster").count().reset_index()
         print(f"the largest cluster has {cluster_sizes.loc[cluster_sizes.cluster!=-1].subreddit.max()} members")
 
@@ -125,7 +130,7 @@ class twoway_clustering_job(clustering_job):
         self.after_run()
         self.cleanup()
 
-    def after_run():
+    def after_run(self):
         self.score = self.silhouette()
         self.outpath.mkdir(parents=True, exist_ok=True)
         print(self.outpath/(self.name+".feather"))

Community Data Science Collective || Want to submit a patch?