質問編集履歴
1
コードのコードの修正を行いました。
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -3,13 +3,19 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            コードはhttps://github.com/joelgrus/data-science-from-scratch/blob/master/code/clustering.pyのを使用しています。
         
     | 
| 
       4 
4 
     | 
    
         
             
            実現したいことは、画像の色にクラスタリングをかけて少ない色で画像を表示させたいです。
         
     | 
| 
       5 
5 
     | 
    
         
             
            コード中ではK=5となっているので画像の色を5色で表現したいです。
         
     | 
| 
      
 6 
     | 
    
         
            +
            現在は処理を行うと真っ黒の画像が表示させてしまいます。
         
     | 
| 
      
 7 
     | 
    
         
            +
            mpimg.imreadが画像を配列にしているのはわかったのですがその後、どのような処理が行われているのかも教えていただきたいです。
         
     | 
| 
       6 
8 
     | 
    
         | 
| 
       7 
9 
     | 
    
         
             
            ###発生している問題・エラーメッセージ
         
     | 
| 
       8 
10 
     | 
    
         
             
            画像を指定して実行したみたのですがoverflowとなってしまい結果が出力されません。
         
     | 
| 
       9 
11 
     | 
    
         
             
            またどのように改良すれば良いのかわからず困っています。
         
     | 
| 
       10 
12 
     | 
    
         
             
            ```
         
     | 
| 
      
 13 
     | 
    
         
            +
            /Users/Desktop/Python19-5.py:35: RuntimeWarning: overflow encountered in ubyte_scalars
         
     | 
| 
      
 14 
     | 
    
         
            +
              return sum(v_i * w_i for v_i, w_i in zip(v, w))
         
     | 
| 
       11 
     | 
    
         
            -
            / 
     | 
| 
      
 15 
     | 
    
         
            +
            /Users/Desktop/Python19-5.py:18: RuntimeWarning: overflow encountered in ubyte_scalars
         
     | 
| 
      
 16 
     | 
    
         
            +
              return [v_i - w_i for v_i, w_i in zip(v,w)]
         
     | 
| 
       12 
     | 
    
         
            -
            / 
     | 
| 
      
 17 
     | 
    
         
            +
            /Users/Desktop/Python19-5.py:14: RuntimeWarning: overflow encountered in ubyte_scalars
         
     | 
| 
      
 18 
     | 
    
         
            +
              return [v_i + w_i for v_i, w_i in zip(v,w)]
         
     | 
| 
       13 
19 
     | 
    
         
             
            ```
         
     | 
| 
       14 
20 
     | 
    
         | 
| 
       15 
21 
     | 
    
         
             
            ###該当のソースコード
         
     | 
| 
         @@ -106,6 +112,9 @@ 
     | 
|
| 
       106 
112 
     | 
    
         | 
| 
       107 
113 
     | 
    
         
             
                path_to_png_file = r"画像のある場所"
         
     | 
| 
       108 
114 
     | 
    
         
             
                img = mpimg.imread(path_to_png_file)
         
     | 
| 
      
 115 
     | 
    
         
            +
                top_row = img[0]
         
     | 
| 
      
 116 
     | 
    
         
            +
                top_left_pixel = top_row[0]
         
     | 
| 
      
 117 
     | 
    
         
            +
                red, green, blue = top_left_pixel
         
     | 
| 
       109 
118 
     | 
    
         
             
                pixels = [pixel for row in img for pixel in row]
         
     | 
| 
       110 
119 
     | 
    
         
             
                clusterer = KMeans(k)
         
     | 
| 
       111 
120 
     | 
    
         
             
                clusterer.train(pixels) # this might take a while
         
     |