2017-11-09 8 views
0

2つの異なるcsvファイルの2つの列間のコサイン類似度を計算するためにこのコードを作成しました。エラー: 'list'オブジェクトに属性 'lower'がありません

from sklearn.feature_extraction.text import CountVectorizer 
from sklearn.metrics.pairwise import cosine_similarity 
from sklearn.feature_extraction.text import TfidfVectorizer 
import pandas as pd 

df = df = pd.read_csv("Green jobs description.csv") 
df2 = pd.read_csv("ExtractedData_2006.csv") 
jobs = df.Description.tolist() 
jobs2 = df2.Description.tolist() 

train_set = [jobs, jobs2] 

tfidf_vectorizer = TfidfVectorizer() 
tfidf_matrix_train = tfidf_vectorizer.fit_transform(train_set) #finds the tfidf score with normalization 
print "cosine scores ==> ",cosine_similarity(tfidf_matrix_train[0:1], tfidf_matrix_train) 

は、だから私は、私はこのエラーを取得するコードを実行すると、私は

code traceback

明確にするために、画像全体のトレースバックを含め誰もがこれで私を助けてくださいことができますか?

+0

'jobs'と' jobs2'のデータの種類を確認してください。おそらく、文字列を含むリストの代わりにリストを含むリストがあります。 – James

+0

@James私はタイプ(ジョブ)を印刷し、それはを示しました。この場合、私は何ができますか?あなたは考えがありますか – Marima

+0

'set(xはジョブのxにタイプ)'を試してください。 – James

答えて

0

私はかなりそれだそれ

train_set=jobs+jobs2 
train_set=[tmp.lower() for tmp in train_set] 

それを修正する方法を考え出しました。私はちょうど私のリスト内の文字列に低いを追加する必要がありました。

関連する問題