見出し画像

Python初心者 無料で学習を極める(14)

おはようございます。前回は、自分好みの判断フラグを追加することで、一つ一つの画像に対する思いを追加したと思います。本日は、

色々な視点から特徴量を追加しよう

と思っています。どれが特徴量として仮説した部分で合っているかも含め、確認していきたいと思います。それでは宜しくお願い致します。

準備1:自分好みを記載したCSVの読み込み

前回、CSV上に自分好みのフラグを追加することが出来たと思います。それをpython上のデータとして読み込みを行いたいと思います。
前回の記事はこちら。↓

それでは、CSVを読み込みましょう。

#"output_pd_mod.csv"をdf_mod  に読み込む
#output_pd_mod.csv は、私の感じた事フラグを入れている状態
df_mod = pd.read_csv('output_pd_mod.csv',
        usecols=['filename','extention','my_judge'])

これで、自分の判断を加えたデータフレームができました。

データフレーム記録4

そして、

映画毎に私の特徴があるのでは?

と思いましたので、それを行おうとしたのですが、いい方法が見つかりません。そもそもデータフレームのなかに、ファイル名があるにも関わらず、映画の情報を読み解く事ができませんでした。そこで、映画に関する情報を追加しようと思います。

準備2:映画の特徴を追加(映画名)

色々な方法があると思いますが、ファイル名に映画名をプロットする形にしているため、そこから映画名のみ抽出することを考えたいと思います。
その為、ファイル名の中から連番の数字を削除 することを行いたいと思います。

#映画名のデータフレームの作成
movies_name = pd.Series(files)
#fileサイズに合わせて繰り返し
for i in range(len(s)):
   name = re.sub(r'[0-9]',"",df_mod.filename[i])
   movies_name[i]=name
#映画名の追加
df_mod['movie_name']=movies_name

データフレーム記録5

これで映画名を追加する事ができました。では、簡単に映画毎によって私の加点はどう違うのか。見てみましょう。

#映画名でグルーピングしていいね数の合計
df_mod.groupby("movie_name").sum()

私の場合は、下記の様になり、「もののけ姫」が多いってのが分かりました。

データフレーム記録6

準備3:映画の特徴を追加(作画監督)

wikipediaからスクレイピングでできたりするらしいですが、wilipediaはスクレイピング禁止みたいなので、一旦はここはアナログで攻めます。笑。
wilipediaのデータを保存している場所があるみたいですが、今回はやめておきます。wikipedia などから下記のことを抽出しました。

もののけ姫: 安藤雅司、高坂希太郎、近藤喜文
ハウルの動く城:山下明彦、稲村武志、高坂希太郎
風立ちぬ:高坂希太郎

うーーーーん。この特徴は使わない事にします。笑。と言うのも高坂さんがすべてに入っており、高坂さんが関わったモノが好きかも!?は分かりますが、それぞれに対する特徴としては不十分だと思います。けど、一つ言えるのは

高坂さんの絵が私は好き!

ですね☆(せめて、有ったり、無かったりしていればよかったですが・・・。)ちなみに音楽も「久石 譲さん」の一択でした。笑。こうなると、学習しないでも気づける事ってたくさんありますね。

準備4:映画の特徴を追加(映画の成績)

それでは次に、映画の成績といいますか、動員数と興行収入について記録をしました。

        <動員>    <興行収入>
もののけ姫  :1420万人     202億円
ハウルの動く城:1500万人     196億円
風立ちぬ   :969 万人     120億円

動員としては、ハウルが多いものの、もののけ姫は興行収入が大きいですね。この情報は数値としてデータフレームに追加しましょう。

#辞書型で保存
mobilization_list = {"mononoke":1420,"howl":1500,"kazetachinu":969}
performance_income_list ={"mononoke":202,"howl":196,"kazetachinu":120}
#映画名のデータフレームの作成
mobi_list = pd.Series(files)
per_incom_list= pd.Series(files)
#fileサイズに合わせて繰り返し
for i in range(len(s)):
   if df_mod.movie_name[i] == "mononoke":
       mobi_list[i]=mobilization_list["mononoke"]
       per_incom_list[i]=performance_income_list["mononoke"]
       
   elif df_mod.movie_name[i] =="howl":
       mobi_list[i]=mobilization_list["howl"]
       per_incom_list[i]=performance_income_list["howl"]
       
   elif df_mod.movie_name[i] =="kazetachinu":
       mobi_list[i]=mobilization_list["kazetachinu"]
       per_incom_list[i]=performance_income_list["kazetachinu"]
       
   else:
       mobi_list[i]=None
       per_incom_list=None
       
df_mod['mobilization']=mobi_list
df_mod['performance_income']=per_incom_list    

データフレーム記録7

追加できましたね。好きな画像が多い映画の方が、興行収入も動員も多い傾向がある様に感じました。何かの情報として活用できるといいですね。

他の要素も必要と思いますが、今の段階ではこれくらいにして実際の画像からの特徴量の抽出を行っていきたいと思います。
それでは次回は、

画像の中から特徴を抽出してみましょう!



よろしければサポート頂けると幸いです!子供へのパパ時間提供の御礼(お菓子)に活用させて頂きます☆