質問編集履歴

1

修正

2019/11/05 02:15

投稿

mi2
mi2

スコア63

test CHANGED
File without changes
test CHANGED
@@ -10,29 +10,7 @@
10
10
 
11
11
  # データ
12
12
 
13
- ```
14
13
 
15
- id time feature1 feature2 feature3
16
-
17
- a 2019-01-04 16:03:00 14 32 88
18
-
19
- a 2019-01-04 16:03:00 12 21 16
20
-
21
- a 2019-01-04 16:03:00 13 15 44
22
-
23
- a 2019-01-04 16:04:00 11 36 45
24
-
25
- a 2019-01-04 16:04:00 13 15 44
26
-
27
- a 2019-01-04 16:04:00 18 35 53
28
-
29
- b 2019-01-04 16:04:00 17 21 36
30
-
31
- b 2019-01-04 16:04:00 19 93 23
32
-
33
- b 2019-01-04 16:04:00 25 27 55
34
-
35
-
36
14
 
37
15
  ```
38
16
 
@@ -50,7 +28,7 @@
50
28
 
51
29
  ```
52
30
 
53
- id time クラスタ数 クラスタ間距離
31
+ id time a b
54
32
 
55
33
  a 2019-01-04 16:03:00 1 None
56
34
 
@@ -70,69 +48,13 @@
70
48
 
71
49
 
72
50
 
73
- ```
74
-
75
- import matplotlib.pyplot as plt
76
-
77
- import pandas as pd
78
-
79
- import numpy as np
80
-
81
- from scipy.cluster.hierarchy import linkage, dendrogram, fcluster
82
-
83
- from sklearn.datasets import load_iris
84
-
85
-
86
-
87
- # ウォード法×ユークリッド距離
88
-
89
- linkage_result = linkage(df, method='ward', metric='euclidean')
90
-
91
-
92
-
93
- # クラスタ分けのためのしきい値の設定
94
-
95
- threshold = 0.8 * np.max(linkage_result[:, 2])
96
-
97
-
98
-
99
- # 階層型クラスタリングの可視化
100
-
101
- plt.figure(num=None, figsize=(5, 5), dpi=100, facecolor='w', edgecolor='k')
102
-
103
- dendrogram(linkage_result, color_threshold=threshold)
104
-
105
- plt.show()
106
-
107
-
108
-
109
- # クラスタリング結果の値を取得
110
-
111
- clustered = fcluster(linkage_result, threshold, criterion='distance')
112
-
113
-
114
-
115
- # クラスタ数
116
-
117
- print(np.max(clustered))
118
-
119
- ```
120
-
121
-
122
-
123
51
  # 困っていること
124
52
 
125
53
  ・ID/時間ごとに
126
54
 
127
- ・クラスタ間の距離
55
+ ・クラスタ間
128
56
 
129
57
 
130
-
131
- groupbyを行った上でクラスタ数・距離の2つの指標にアクセスし、
132
-
133
- 空のデータフレームに追加していくようなイメージかと思っておりますが、
134
-
135
- 少々込み入ってうまく表現できず困っております。
136
58
 
137
59
 
138
60