teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

12

書式の改善

2019/05/09 19:08

投稿

gik
gik

スコア152

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

書式の改善

2019/05/09 19:08

投稿

gik
gik

スコア152

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.movie.value]
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.movie.value]
59
+ score2=[person2.score.value]
60
60
 
61
61
  movie_score2=dict(zip(movie2,score2))
62
62
 

10

書式の改善

2019/05/09 18:59

投稿

gik
gik

スコア152

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 values in set_both.values:
65
+ for value in set_both.values:
66
- distance = pow(movie_score1..values-movie_score2.values, 2)
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

書式

2019/05/09 15:50

投稿

gik
gik

スコア152

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
- このソースコードをdjangoで書きたいのですが
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

書式

2019/05/09 13:36

投稿

gik
gik

スコア152

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
- def get_similairty(person1, person2):
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 movie_score1.keys,movie_score2.keys in set_both:
64
+ for values in set_both.values:
85
- distance = pow(movie_score1.score-movie_score2.score, 2)
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
- よろしくお願いしますw
86
+ よろしくお願いします

7

修正

2019/05/09 13:34

投稿

gik
gik

スコア152

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

修正

2019/05/08 22:26

投稿

gik
gik

スコア152

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

修正

2019/05/08 22:25

投稿

gik
gik

スコア152

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
- djangoのfilterみてるんですが、なかなかうくかけずに
106
+ teratailにも聞す。
77
- 自分の書いたプログラムには問題点が多いみたいですので、こういう感じで書くといいんじゃないか
107
+ https://teratail.com/questions/188254?modal=q-comp
78
- できればdjangoではこう書って教えてもらえると助かります
108
+ よろしお願いしますw

4

修正

2019/05/08 22:24

投稿

gik
gik

スコア152

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.keys() & perosn2.movie.keys()
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

2019/05/08 20:58

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
File without changes

2

2019/05/08 20:07

投稿

gik
gik

スコア152

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

修正

2019/05/08 20:07

投稿

gik
gik

スコア152

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ではこう書くって教えてもらえると助かります