回答編集履歴

4

fix answer

2023/01/16 00:43

投稿

ps_aux_grep
ps_aux_grep

スコア1579

test CHANGED
@@ -41,7 +41,7 @@
41
41
  plt.figure(figsize = (8, 4), dpi = 100)
42
42
  plt.scatter(reduced[:, 0], reduced[:, 1], c = cls.labels_)
43
43
  for i in range(len(y)):
44
- plt.annotate(y[i], xy = (reduced[i][0], reduced[i][1]))
44
+ plt.annotate(y[i], xy = (reduced[i][0], reduced[i][1]))
45
45
  plt.savefig("output.png", dpi = 100)
46
46
  plt.tight_layout()
47
47
  plt.show()
@@ -49,4 +49,4 @@
49
49
 
50
50
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-01-16/a13bba6a-f81b-4b71-9c9e-c5905ab66f22.png)
51
51
 
52
- 2クラスタとなるよう`n_clusters`を指定したものの,`cat`として1つだけ分離されるだけでほとんど同一クラスタと見なされました.
52
+ 2クラスタとなるよう`n_clusters`を指定したものの,`cat`のうち1つ(画面左端の黄点)が分離されるだけでほとんど同一クラスタと見なされました.

3

fix answer

2023/01/15 19:09

投稿

ps_aux_grep
ps_aux_grep

スコア1579

test CHANGED
@@ -13,7 +13,7 @@
13
13
  このサイトでも示されている通り,wavファイルのデータそのものに対してk-Meansを純粋に適用するだけでは,聴覚的(上記サイトでは視覚的)な特徴で分類することにはなりません.多次元配列のindex-wiseな比較がされて分類されることを許容するのなら話は別です.
14
14
 
15
15
  ### 追記
16
- ESC-50を使った`dog`と`cat`のクラスタリング例を次に示します.
16
+ ESC-50を使った`dog`と`cat`のk-Means法によるクラスタリング例及びt-SNE利用した可視化を次に示します.
17
17
 
18
18
  ```Python
19
19
  import os
@@ -36,12 +36,12 @@
36
36
  y.append(category)
37
37
 
38
38
  cls = KMeans(n_clusters = 2).fit(X)
39
- reduced = TSNE(n_components=2).fit_transform(X)
39
+ reduced = TSNE(n_components = 2).fit_transform(X)
40
40
 
41
41
  plt.figure(figsize = (8, 4), dpi = 100)
42
42
  plt.scatter(reduced[:, 0], reduced[:, 1], c = cls.labels_)
43
43
  for i in range(len(y)):
44
- plt.annotate(y[i], xy=(reduced[i][0], reduced[i][1]))
44
+ plt.annotate(y[i], xy = (reduced[i][0], reduced[i][1]))
45
45
  plt.savefig("output.png", dpi = 100)
46
46
  plt.tight_layout()
47
47
  plt.show()

2

fix answer

2023/01/15 18:52

投稿

ps_aux_grep
ps_aux_grep

スコア1579

test CHANGED
@@ -11,3 +11,42 @@
11
11
  そもそも論,非構造化データをk-Means法で分類することの影響/効果を理解されての質問でしょうか.
12
12
  [RightCode - 【機械学習】ブログのサムネ画像をクラスタリングしてみる!](https://rightcode.co.jp/blog/information-technology/machine-learning-image-clustering)
13
13
  このサイトでも示されている通り,wavファイルのデータそのものに対してk-Meansを純粋に適用するだけでは,聴覚的(上記サイトでは視覚的)な特徴で分類することにはなりません.多次元配列のindex-wiseな比較がされて分類されることを許容するのなら話は別です.
14
+
15
+ ### 追記
16
+ ESC-50を使った`dog`と`cat`のクラスタリング例を次に示します.
17
+
18
+ ```Python
19
+ import os
20
+ import wave
21
+ from matplotlib import pyplot as plt
22
+ from sklearn import preprocessing
23
+ from sklearn.cluster import KMeans
24
+ from sklearn.manifold import TSNE
25
+ import numpy as np
26
+ import pandas as pd
27
+
28
+ df = pd.read_csv("ESC-50-master/meta/esc50.csv")
29
+ data = df[(df["category"] == "dog") | (df["category"] == "cat")][["filename", "category"]].values
30
+
31
+ X, y = list(), list()
32
+ for i, (file, category) in enumerate(data):
33
+ with wave.open(os.path.join("./ESC-50-master", "audio", file), "r") as f:
34
+ buf = f.readframes(1024)
35
+ X.append(np.frombuffer(buf, np.int16))
36
+ y.append(category)
37
+
38
+ cls = KMeans(n_clusters = 2).fit(X)
39
+ reduced = TSNE(n_components=2).fit_transform(X)
40
+
41
+ plt.figure(figsize = (8, 4), dpi = 100)
42
+ plt.scatter(reduced[:, 0], reduced[:, 1], c = cls.labels_)
43
+ for i in range(len(y)):
44
+ plt.annotate(y[i], xy=(reduced[i][0], reduced[i][1]))
45
+ plt.savefig("output.png", dpi = 100)
46
+ plt.tight_layout()
47
+ plt.show()
48
+ ```
49
+
50
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-01-16/a13bba6a-f81b-4b71-9c9e-c5905ab66f22.png)
51
+
52
+ 2クラスタとなるよう`n_clusters`を指定したものの,`cat`として1つだけ分離されるだけでほとんど同一クラスタと見なされました.

1

fix answer

2023/01/13 14:01

投稿

ps_aux_grep
ps_aux_grep

スコア1579

test CHANGED
@@ -2,10 +2,12 @@
2
2
  Pandasには非構造化データを読み取る機能はありません.[Pandas - input/output](https://pandas.pydata.org/docs/reference/io.html)
3
3
 
4
4
  > pandasを用いない前処理も探したが見つけることが出来なかった
5
- Pandasなど用いなくても,[NumPy](https://numpy.org/doc/stable/reference/generated/numpy.fft.fft.html)[SciPy](https://docs.scipy.org/doc/scipy/reference/signal.html)などのライブラリでFFTをはじめとする処理が可能です.
5
+ [NumPy](https://numpy.org/doc/stable/reference/generated/numpy.fft.fft.html)[SciPy](https://docs.scipy.org/doc/scipy/reference/signal.html)などのライブラリでFFTをはじめとする処理が可能です.
6
+
6
7
  > mix.wav をスペクトログラム変換したのだが、これは前処理が終わったとは言えない…?
7
8
  質問掲載コードのどこでもスペクトログラム変換が実行されていません.
9
+
8
10
  > WAVファイルをkmeans法で分類しているサイトを探したが出てこなかった(CNNを用いているものばかりだった)
9
11
  そもそも論,非構造化データをk-Means法で分類することの影響/効果を理解されての質問でしょうか.
10
- https://rightcode.co.jp/blog/information-technology/machine-learning-image-clustering
12
+ [RightCode - 【機械学習】ブログのサムネ画像をクラスタリングしてみる!](https://rightcode.co.jp/blog/information-technology/machine-learning-image-clustering)
11
- このサイトでも示されている通り,k-Meansを純粋に適用するだけでは,覚的(今回覚的)な特徴で分類することにはなりません.多次元配列のindex-wiseな比較がされて分類される現状を許容するのなら話は別です.
13
+ このサイトでも示されている通り,wavファイルのデータそのものに対してk-Meansを純粋に適用するだけでは,覚的(上記サイトで覚的)な特徴で分類することにはなりません.多次元配列のindex-wiseな比較がされて分類されることを許容するのなら話は別です.