![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
pythonの集合値プログラミングを始めたばかりの初心者です。
OS: XP
バージョン: python3.0
ピアソン相関係数を算出するモジュール(recommendations.py)を実行したらエラー表示されます。
モジュール(recommendations.py)のソース↓
critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5,
'Just My Luck': 3.0, 'Superman Returns': 3.5, 'You, Me and Dupree': 2.5,
'The Night Listener': 3.0},
'Gene Seymour': {'Lady in the Water': 3.0, 'Snakes on a Plane': 3.5,
'Just My Luck': 1.5, 'Superman Returns': 5.0, 'The Night Listener': 3.0,
'You, Me and Dupree': 3.5},
'Michael Phillips': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.0,
'Superman Returns': 3.5, 'The Night Listener': 4.0},
'Claudia Puig': {'Snakes on a Plane': 3.5, 'Just My Luck': 3.0,
'The Night Listener': 4.5, 'Superman Returns': 4.0,
'You, Me and Dupree': 2.5},
'Mick LaSalle': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0,
'Just My Luck': 2.0, 'Superman Returns': 3.0,'The Night Listener': 3.0,
'You, Me and Dupree': 2.0},
'Jack Matthews': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0,
'The Night Listener': 3.0, 'Superman Returns': 5.0, 'You, Me and Dupree': 3.5},
'Toby': {'Snakes on a Plane':4.5, 'You, Me and Dupree':1.0, 'Superman Return':4.0}}
from math import sqrt
#p1とp2のピアソン相関係数を返す
def sim_pearson(prefs,p1,p2):
#両者が互いに評価しているアイテムのリストを取得
si={}
for item in prefs[p1]:
if item in prefs[p2]: si[item]=1
#要素の数を調べる
n=len(si)
#共に評価しているアイテムがなければ0を返す
if n==0: return 0
#すべての嗜好を合計する
sum1=sum([prefs[p1][it] for it in si])
sum2=sum([prefs[p2][it] for it in si])
#平方を合計する
sum1Sq=sum([pow(prefs[p1][it],2) for it in si])
sum2Sq=sum([pow(prefs[p2][it],2) for it in si])
#積を合計する
pSum=sum([prefs[p1][it]*prefs[p2][it] for it in si])
#ピアソンによるスコアを計算する
num=pSum-(sum1*sum2/n)
den=sqrt((sum1Sq-pow(sum1,2)/n)*(sum2Sq-pow(sum2,2)/n))
if den==0: return 0
r=num/den
return r
実行結果は
>>>import recommendations
>>>print recommendations.sim_pearson(recommendations.critics,'Lisa Rose','Gene Seymour')
File "<studio>", line 1
print recommendations.sim_pearson(recommendations.critics,'Lisa Rose','Gene Seymour')
^
SyntaxError: invalid syntax
となります。わかる方教えてください。
No.1ベストアンサー
- 回答日時:
この回答への補足
ほんとにPC自体を触ることが珍しいくらいの初心者なのでよくわからないのですが
command line で
print(recommendations.sim_pearson.critics,'Lisa Rose','Gene Seymour'))
と入力すればいいということですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- 戦争・テロ・デモ ウクライナ、メル友に五千円要求されてさ 1 2022/04/02 09:38
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- 英語 この英文は格調高いのでしょうか? 3 2022/06/03 18:55
- 英語 この英文は平易な反面格調高いですか? 1 2023/01/15 12:04
- 英語 できるだけ直訳で英語の翻訳をお願いします。(英語→日本語) 1 2022/10/15 20:59
- 英語 英語の質問です 2 2022/03/24 14:59
- 英語 英語の問題でどう解いたらよいか分からないものがあります。教えていただけませんか?接続詞の単元です。 2 2023/06/18 15:45
- 英語 下記はなんていってますか? こんにちは以降、訳していただけたら助かります。 Hello, We’re 1 2023/01/14 00:09
- 公的扶助・生活保護 保証人? 1 2022/05/17 22:42
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
計算結果がlong型以上になる場...
-
scanfが実行されません
-
階乗のプログラム!!
-
C言語 エラー表示 break の位...
-
C言語 プログラム
-
全角文字の判定
-
c++でテンプレートのコードでわ...
-
#define _CRT_SECURE_NO_WARNIN...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
O(n log n)について2
-
度数分布表の階級の端の値
-
中学生で数学です。 √84nが自然...
-
画像の拡大・縮小
-
C++プログラミングコードにポリ...
-
10個出力で改行したいのですが...
-
float型とdouble型の変数の違い...
-
Aの値からBの値を除するとは??
-
2÷3などの余りについて
-
変数とパラメータとは違うもの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
#if 1 #elseの意味について
-
プログラミングで二番目に大き...
-
getcの改行判定
-
C言語プログラムが理解できなくて…
-
C言語 数字以外を入力させない...
-
配列を関数に渡す方法
-
配列を使って魔方陣
-
初心者です。for文、if文を使っ...
-
c言語for文
-
c言語で平均をだす
-
while文について、c言語...
-
scanf関数を用いての加減乗除%...
-
行列をべき乗させるプログラム
-
c言語プログラミングで1から100...
-
C言語階乗の総和を求める
-
scanfが実行されません
-
階乗のプログラム!!
-
C言語の二分法のプログラムにつ...
おすすめ情報