質問編集履歴
12
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -69,11 +69,8 @@
|
|
69
69
|
return 1/(1+sqrt(sum(list_destance)))
|
70
70
|
```
|
71
71
|
|
72
|
-
|
72
|
+
特に下記コード
|
73
73
|
```
|
74
|
-
|
75
|
-
とくに重複したクエリ取得と
|
76
|
-
|
77
74
|
pow(dataset[person1][item]-dataset[person2][item], 2)
|
78
75
|
```
|
79
76
|
|
11
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,12 +51,12 @@
|
|
51
51
|
person2 = Entry.objects.filter(name='TaroGene Seymour')
|
52
52
|
|
53
53
|
movie1=[person1.movie.value]
|
54
|
-
score1=[person1.
|
54
|
+
score1=[person1.score.value]
|
55
55
|
|
56
56
|
movie_score1=dict(zip(movie1,score1))
|
57
57
|
|
58
58
|
movie2=[person2.movie.value]
|
59
|
-
score2=[person2.
|
59
|
+
score2=[person2.score.value]
|
60
60
|
|
61
61
|
movie_score2=dict(zip(movie2,score2))
|
62
62
|
|
10
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -62,8 +62,8 @@
|
|
62
62
|
|
63
63
|
set_both=movie_score1.keys() & movie_score2.keys()
|
64
64
|
|
65
|
-
for
|
65
|
+
for value in set_both.values:
|
66
|
-
distance = pow(movie_score1.
|
66
|
+
distance = pow(movie_score1.value-movie_score2.value, 2)
|
67
67
|
list_destance.append(distance)
|
68
68
|
|
69
69
|
return 1/(1+sqrt(sum(list_destance)))
|
9
書式
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,9 +17,10 @@
|
|
17
17
|
'Toby' 'You, Me and Dupree' 1.0
|
18
18
|
'Toby' 'Superman Returns' 4.0
|
19
19
|
```
|
20
|
-
|
20
|
+
|
21
21
|
下記コードは[Pythonで簡単な協調フィルタリングを実装するためのノート](https://qiita.com/hik0107/items/96c483afd6fb2f077985)
|
22
22
|
を参考にしました。
|
23
|
+
|
23
24
|
```
|
24
25
|
def get_similairty(person1, person2):
|
25
26
|
|
@@ -42,7 +43,7 @@
|
|
42
43
|
return 1/(1+sqrt(sum(list_destance)))
|
43
44
|
```
|
44
45
|
|
45
|
-
|
46
|
+
これをデータベースから引っ張り出してdjangoで書いたみたのが下記プログラムです。
|
46
47
|
|
47
48
|
```
|
48
49
|
def get_similairty(person1, person2):
|
@@ -81,6 +82,4 @@
|
|
81
82
|
djangoで協調フィルタリングのプログラムってサイトさがしてもないのですが
|
82
83
|
どう書いたらいいでしょうか?
|
83
84
|
またここに書いてあるよってありましたら、教えてください。
|
84
|
-
teratailにも聞いてます。
|
85
|
-
https://teratail.com/questions/188254?modal=q-comp
|
86
85
|
よろしくお願いします。
|
8
書式
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,29 +42,9 @@
|
|
42
42
|
return 1/(1+sqrt(sum(list_destance)))
|
43
43
|
```
|
44
44
|
|
45
|
-
この場合一つ案ででてきたのが
|
46
|
-
```
|
47
|
-
|
45
|
+
そこで一つ考えたのが下記プログラムなのですが、どうでしょうか?
|
48
|
-
person1 = Entry.objects.values('movie','score').get(name='Lisa Rose')
|
49
|
-
person2 = Entry.objects.values('movie','score').get(name='Gene Seymour')
|
50
|
-
set_both= person1.movie.values & perosn2.movie.vulues
|
51
46
|
|
52
|
-
if len(set_both)==0:
|
53
|
-
return 0
|
54
|
-
|
55
|
-
list_destance = []
|
56
|
-
|
57
|
-
for person1.movie.value,person2.movie.value in set_both:
|
58
|
-
distance = pow(person1.score.value-person2.score.value, 2)
|
59
|
-
list_destance.append(distance)
|
60
|
-
|
61
|
-
return 1/(1+sqrt(sum(list_destance)))
|
62
|
-
|
63
|
-
|
64
47
|
```
|
65
|
-
|
66
|
-
もう一つ考えたのが
|
67
|
-
```
|
68
48
|
def get_similairty(person1, person2):
|
69
49
|
person1 = Entry.objects.filter(name='TaroLisa Rose')
|
70
50
|
person2 = Entry.objects.filter(name='TaroGene Seymour')
|
@@ -81,8 +61,8 @@
|
|
81
61
|
|
82
62
|
set_both=movie_score1.keys() & movie_score2.keys()
|
83
63
|
|
84
|
-
for
|
64
|
+
for values in set_both.values:
|
85
|
-
distance = pow(movie_score1.
|
65
|
+
distance = pow(movie_score1..values-movie_score2.values, 2)
|
86
66
|
list_destance.append(distance)
|
87
67
|
|
88
68
|
return 1/(1+sqrt(sum(list_destance)))
|
@@ -91,17 +71,16 @@
|
|
91
71
|
|
92
72
|
```
|
93
73
|
|
94
|
-
ここからわからないです。
|
95
|
-
とくに
|
96
|
-
重複したクエリ取得と
|
74
|
+
とくに重複したクエリ取得と
|
97
75
|
|
98
76
|
pow(dataset[person1][item]-dataset[person2][item], 2)
|
99
77
|
```
|
100
78
|
|
101
79
|
が特にどうかけばいいのかわかりません。
|
80
|
+
一応上記で自分の書いたプログラム書いてみたのですが....
|
102
81
|
djangoで協調フィルタリングのプログラムってサイトさがしてもないのですが
|
103
82
|
どう書いたらいいでしょうか?
|
104
83
|
またここに書いてあるよってありましたら、教えてください。
|
105
84
|
teratailにも聞いてます。
|
106
85
|
https://teratail.com/questions/188254?modal=q-comp
|
107
|
-
よろしくお願いします
|
86
|
+
よろしくお願いします。
|
7
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -93,7 +93,6 @@
|
|
93
93
|
|
94
94
|
ここからわからないです。
|
95
95
|
とくに
|
96
|
-
```
|
97
96
|
重複したクエリ取得と
|
98
97
|
|
99
98
|
pow(dataset[person1][item]-dataset[person2][item], 2)
|
6
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
return 1/(1+sqrt(sum(list_destance)))
|
43
43
|
```
|
44
44
|
|
45
|
-
この場合
|
45
|
+
この場合一つ案ででてきたのが
|
46
46
|
```
|
47
47
|
def get_similairty(person1, person2):
|
48
48
|
person1 = Entry.objects.values('movie','score').get(name='Lisa Rose')
|
@@ -97,8 +97,8 @@
|
|
97
97
|
重複したクエリ取得と
|
98
98
|
|
99
99
|
pow(dataset[person1][item]-dataset[person2][item], 2)
|
100
|
+
```
|
100
101
|
|
101
|
-
```
|
102
102
|
が特にどうかけばいいのかわかりません。
|
103
103
|
djangoで協調フィルタリングのプログラムってサイトさがしてもないのですが
|
104
104
|
どう書いたらいいでしょうか?
|
5
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,8 +59,38 @@
|
|
59
59
|
list_destance.append(distance)
|
60
60
|
|
61
61
|
return 1/(1+sqrt(sum(list_destance)))
|
62
|
+
|
63
|
+
|
62
64
|
```
|
63
65
|
|
66
|
+
もう一つ考えたのが
|
67
|
+
```
|
68
|
+
def get_similairty(person1, person2):
|
69
|
+
person1 = Entry.objects.filter(name='TaroLisa Rose')
|
70
|
+
person2 = Entry.objects.filter(name='TaroGene Seymour')
|
71
|
+
|
72
|
+
movie1=[person1.movie.value]
|
73
|
+
score1=[person1.movie.value]
|
74
|
+
|
75
|
+
movie_score1=dict(zip(movie1,score1))
|
76
|
+
|
77
|
+
movie2=[person2.movie.value]
|
78
|
+
score2=[person2.movie.value]
|
79
|
+
|
80
|
+
movie_score2=dict(zip(movie2,score2))
|
81
|
+
|
82
|
+
set_both=movie_score1.keys() & movie_score2.keys()
|
83
|
+
|
84
|
+
for movie_score1.keys,movie_score2.keys in set_both:
|
85
|
+
distance = pow(movie_score1.score-movie_score2.score, 2)
|
86
|
+
list_destance.append(distance)
|
87
|
+
|
88
|
+
return 1/(1+sqrt(sum(list_destance)))
|
89
|
+
```
|
90
|
+
|
91
|
+
|
92
|
+
```
|
93
|
+
|
64
94
|
ここからわからないです。
|
65
95
|
とくに
|
66
96
|
```
|
@@ -73,6 +103,6 @@
|
|
73
103
|
djangoで協調フィルタリングのプログラムってサイトさがしてもないのですが
|
74
104
|
どう書いたらいいでしょうか?
|
75
105
|
またここに書いてあるよってありましたら、教えてください。
|
76
|
-
|
106
|
+
teratailにも聞いてます。
|
77
|
-
|
107
|
+
https://teratail.com/questions/188254?modal=q-comp
|
78
|
-
|
108
|
+
よろしくお願いしますw
|
4
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,12 +47,18 @@
|
|
47
47
|
def get_similairty(person1, person2):
|
48
48
|
person1 = Entry.objects.values('movie','score').get(name='Lisa Rose')
|
49
49
|
person2 = Entry.objects.values('movie','score').get(name='Gene Seymour')
|
50
|
-
set_both= person1.movie.
|
50
|
+
set_both= person1.movie.values & perosn2.movie.vulues
|
51
51
|
|
52
52
|
if len(set_both)==0:
|
53
53
|
return 0
|
54
54
|
|
55
55
|
list_destance = []
|
56
|
+
|
57
|
+
for person1.movie.value,person2.movie.value in set_both:
|
58
|
+
distance = pow(person1.score.value-person2.score.value, 2)
|
59
|
+
list_destance.append(distance)
|
60
|
+
|
61
|
+
return 1/(1+sqrt(sum(list_destance)))
|
56
62
|
```
|
57
63
|
|
58
64
|
ここからわからないです。
|
3
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,7 +47,7 @@
|
|
47
47
|
def get_similairty(person1, person2):
|
48
48
|
person1 = Entry.objects.values('movie','score').get(name='Lisa Rose')
|
49
49
|
person2 = Entry.objects.values('movie','score').get(name='Gene Seymour')
|
50
|
-
set_both= person1.keys() & perosn2.keys()
|
50
|
+
set_both= person1.movie.keys() & perosn2.movie.keys()
|
51
51
|
|
52
52
|
if len(set_both)==0:
|
53
53
|
return 0
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -66,4 +66,7 @@
|
|
66
66
|
が特にどうかけばいいのかわかりません。
|
67
67
|
djangoで協調フィルタリングのプログラムってサイトさがしてもないのですが
|
68
68
|
どう書いたらいいでしょうか?
|
69
|
-
またここに書いてあるよってありましたら、教えてください。
|
69
|
+
またここに書いてあるよってありましたら、教えてください。
|
70
|
+
djangoのfilterみているんですが、なかなかうまくかけずに
|
71
|
+
自分の書いたプログラムには問題点が多いみたいですので、こういう感じで書くといいんじゃないか
|
72
|
+
できればdjangoではこう書くって教えてもらえると助かります
|