映画の興行収入を予測する多項ベイズ モデルを作成しようとしています。以下は単なるおもちゃの例です。論理的に正しいかどうかはわかりません (提案は大歓迎です!)。Y は、私が予測しようとしている推定総額に対応しています (1: < $20mi、2: > $20mi)。また、映画が上映されたスクリーン数も離散化しました。
問題は、これが問題への良いアプローチかどうかです。それとも、すべてのカテゴリに番号を割り当てた方がよいでしょうか? また、DictVectorizer オブジェクトにラベル (「movie: Life of Pie」など) を埋め込むのは正しいですか?
def get_data():
measurements = [ \
{'movie': 'Life of Pi', 'screens': "some", 'distributor': "fox"},\
{'movie': 'The Croods', 'screens': "some", 'distributor': "fox"},\
{'movie': 'San Fransisco', 'screens': "few", 'distributor': "TriStar"},\
]
vec = DictVectorizer()
arr = vec.fit_transform(measurements).toarray()
return arr
def predict(X):
Y = np.array([1, 1, 2])
clf = MultinomialNB()
clf.fit(X, Y)
print(clf.predict(X[2]))
if __name__ == "__main__":
vector = get_data()
predict(vector)