こんなもん

データサイエンスとか,カメラとか,クルマとか.ゆるーく,ちょっとずつ記録していきます.

写真が好きなんです...

こんばんは. ブログの説明にカメラって書いたのに全くカメラの話してないから,初めてだけど書いてみます.最初に断っておくが僕はただカメラが好きってだけ

最初はおじいちゃんからもらったコンパクトデジカメ.

Nikon coolpix p5000だった.

【新製品レビュー】ニコン COOLPIX P5000

「貸して」くれたはずが,そのままプレゼントしてくれたが,誕生日でもないのにたいそうなプレゼントをしてくれた. ものの良さを理解したのは,もらってから5年ぐらいしてからであるw

どこに行くにもそれを持ち歩くようになっていた.
携帯じゃ十分に写真を撮れなかった当時,気軽にカバンに突っ込めるカメラは最高のおもちゃだった. コンデジの中では,もっとも良いモデルのやつで様々な撮影機能を持っていた.

それを意味もわからずいろんなモードに設定しては,たくさん撮ってパソコンのHDDを占領し父親に怒られていたw

何がいい写真なのかもわからず,徒然なるままにとっていた時代である.

カメラなんだし,僕にもおんなじ写真が撮れるはず!!

「写真で見る東京ディズニーリゾート

もう公開されていないが,しばらく前までは東京ディズニーリゾートのホームページの中にこんなタイトルのリゾートファン向けのページがあった.

今もだけど,特に中高時代はずっとディズニーまみれで 暇さえあれば,このサイトでディズニーリゾートへ行った気分を味わっていた.

ここには,いろんな写真家さんたちが撮った相当な量の写真が上がっていた.スナップっぽいものからかなり編集のかかったものまで…

無知な僕は,「カメラなんだし,僕にもおんなじ写真が撮れるはず!!」と思って …(撮れません)

この人は,どこからどんな景色で何を思って撮ったのか…何を撮りたかったのか…

をめちゃめちゃ考えるようになっていた. その時はわからなかったが,これが一番写真を撮る上で大事なことなような気がする.

人の写真からは,たくさんのことを学ぶことができる.

これが自分の一番の写真の原点というか,いろんな写真の引き出しを得た時である.

結局のところ,カメラは問題じゃない

時間は少し飛んで,現在の話である. 今,自分はNikonD40を使っている.巷では「名機」と言われているらしいが,正直お古である. もっとも驚きなのは610万画素しかないってとこだ.

古くて反応が悪かったりするから,シャッターチャンスは幾度となく逃している. 連写速度もとても遅い.

それでも,いい写真はたくさん撮れる.
正直同じAPS-C機の最新機種で友人が撮った写真と比較して見ても,何枚もいいと思える写真がある.

結局は,シャッターを押す自分次第なのである. だから,結局はたくさん写真を撮っていくうちにいい写真が撮れるようになっていくわけで,これはセンスでもなんでもない!

この前とても面白い記事を見つけた. kakakumag.com 一読されたい.

最近嬉しいことに,写真を撮った時一緒にいたわけでもないのに,友人が自分の撮った写真を欲しいと言ってくれることである. それをさらに,スマホのホーム画面とかに設定していてくれるのだ.

素人カメラマン冥利につきるのである. 身近な友人に喜ばれる写真を撮り続けたい

python3でWebページのスクレイピング with BeautifulSoup4

注意:全く同様の記事がQiita上にも存在する.筆者の個人的な都合上,両方で公開した.

やったこと:ニュースサイトのスクレイピング

ニュースサイトに対してスクレイピングを行い,記事のタイトルと記事本体を拾い上げてくるプログラムをpython3で書いた.

対象

今回は,ニュースアプリのGunosyの記事を対象にスクレイピングを行なった.

環境
  • python 3.6.1
  • その他使用したライブラリ
  • ssl <- もともと入っている
  • urllib <- もともと入っている
  • BeautifulSoup4

やり方

前準備:あらかじめ,ニュースの記事のサイトのHTMLから取り出したい部分を探しておく.

ブラウザのディベロッパツールなんかを使うと取り出すのが簡単になるのでオススメ. htmlコードを調べると,ページ上の該当部分に色がついて見える.
ex.) GoogleChrome なら,メニューバー>表示>開発/管理>ディベロッパーツール

②URLを入力させる

pythoninput()でサイトURLを入力させ,urlに格納.

print("カテゴリ分類を行いたい記事のURLを入力してください.")
url = input()
③URLのソースコードを取り出す

sslを使って,SSLエラーを回避しながらページのソースurllibを用いてhtml内に格納

import ssl
import urllib
ssl._create_default_https_context = ssl._create_unverified_context #SSL証明書が正しくない場合にはエラーとなる。以下を追加することで、対応できる。
html = urllib.request.urlopen(url).read() #上記で取り出したurlを使用する.
ソースコード内から該当部分を取り出す.

soupにページ全てのhtmlの元が入っており,BeautifulSoupを使ってその中から該当する部分のみを取り出す.
該当する部分は,前準備の時に取り出したものである.ちなみに,BeautifulSoupではXpathを使えないようなので注意されたい.
また,.get_text()を用いて文字データを抽出し,title, articleの中に格納した.

    soup = BeautifulSoup(html,"lxml")

    title_part = soup.find_all("h1", {"class": "article_header_title"})
    article_part = soup.find_all("div", {"class": "article gtm-click"})

    title = title_part[0].get_text()
    article = article_part[0].get_text()

まとめ

基本的にこの要領で行えば,スクレイピングできるようである.lxmlパッケージなども用意されているが基本的には,BeautifulSoupで事足りそうである.

参考サイト

pythonでSSLエラーが発生した場合の対処方法 | mnsite

qiita.com

データサイエンス系インターンシップに行ってきた①

インターンシップを振り返る

おはようございます

データサイエンス系のインターンシップに行ってきたので.今日はそのことについて…もう2週間近くたちましたが,とりあえず書きます.前編!!

今回は1年後に就活を控える管理人がこのインターンシップを通してこれからやらなきゃいけないこととかについて考えたことをまとめました.

 

濃密な2週間:時間の使い方と目標設定について

今回のインターンシップの期間は2週間,まじであっという間です.

1日は朝9:00~夜8:30まで,電車の中や家に帰ってもひたすらインターンのことを考えていました.家に帰るともう疲れて頭がボーっとしてしまうんです.パソコンのファンが音を立ててずっと回っているような感じで.

普段いかに効率の悪い生活をしていることか...猛反省

 ちなみに,インターン中の時間の振り方はこんな感じ. 

  • 朝:方針の整理.
  • 午後:作業(コードを書く等).
  • 夜:もう一度振り返り.残業は基本なし.

でも,なぜ普段できない(笑)のにこのインターンシップでは効率よく取り組むことができたのだろうか…?

  • 2週間でやるには少し難しい課題が与えられ,毎日必死で取り組んでも終わらないかもしれない状態であったから.
  • チーム戦であり,こまめに3人の分析内容とこれからの指針の共有をし,次することを明確にしていたから
  • 他のことを全く考える必要がなかったから

と大きく3つの理由が考えられます.では,普段どうするべきか...

  • できる限り短期の期間で少し背伸びをした目標設定をすること.
  • そしてそれが達成できたかをこまめにチェックし,進路決定をしていくこと

が改善策なのかなと。この2つって自分でやっていくことは少し難しいことのように感じます.

…正直やってみないとわからない.実践あるのみですね.

 

「メンターさんたち,ぱねぇ...」:メンターさんと僕らの違い

 これは,5日目ぐらいにやっと自分たちなりの考えが軌道に乗ってきたところで,その考えをぼこぼこに指摘され,さらに山のようにアドバイスをもらった後についこぼれたひと言.

うちらの考え,いとはかなし.あああぁぁ........orz(笑)

自分たちなりに必死に考えて,でもボコボコにされて,また考えて気づいたら前の自分よりちょっと高いところにいる.この感じはたまらなく気持ちいいなぁと思っていました.毎日こんなことを繰り返していくうちに,どんどん一つの形が見えていったように思います.

メンター陣からのフィードバックの中には,それはそれは大量の学びがある.

取り組んでいる課題に対するアドバイスとどまらず,普段の自分たちにも生かすことができるコメントばかりでした.

 

メンターの皆さんは,僕らの質問に対して解決の糸口を一緒に探し,何らかのアドバイスをくださります.一緒にやってるのに見えていることは全く異なるのです. 

メンターさんたちと僕らの違いは何なのだろうか...?

自分なりに考えた結果は下の2つなんじゃないかなと...

(どっかの本にも多分こんな感じで書かれていたりするのと同じなんだろうけど)

  • 問題を細かな問題に分解する能力

         <=> 想像力や観察力みたいなもの

  • 問題を解決するために持っている自分の引き出しの数

         <=> 自分が今まで勉強してきたもの(手法とか)の数

圧倒的にこれが違う.

でも,これはセンスとかじゃない気がしているので鍛えていけばもっと強くしていくことができると思う.がんばろ

 

忘れがちなこと:データばっか見すぎて,問題の本質見逃していない?

最終発表で他の班の発表を聞いて,感じた自分たちの班の弱点.

それは,目の前のデータや問題にとらわれ,その問題の本質について考えきれなかったこと.

 

データ見始めてしまうといつも陥るのだが,その問題は結局”現場で起きている”わけで現実に立ち戻ることが割とやはり大事だったりする.例えばある班は,家の間取りに対して,そもそもどんな使い方をするかまで掘り下げて考え,その機能性から間取りを分類していた.今回データ関係なしに“この問題に対する本当にいい解決策ってなんなんだろうか”って考えた時間は,本当に十分に取れていなかったように感じている.

 

社員の中には,スーツを着て現場の人々の元に足繁く通い,コミュニケーションを数多く重ねて課題を明確にするようなやり方をする人もいるのだそう.

データにばかりかじりつく分析屋さんになってはいけないな.と反省をした.

 

 

今回はここまで,次回は...

今日は

  • 時間の使い方について
  • 目標設定について
  • 今の僕らに足りていない問題に立ち向かう力
  • 問題の本質に立ち戻ってデータを見ることの大切さ

について書きました.まぁ,読み返すと読みづらい文章なので,ちょっとづつ良くしていければいいな

 

次回は,

  • 主導権を握ること
  • データサイエンティストになるために今の自分に必要なもの

について書こうと思います

 

 

付録

備忘録として今回のインターンシップの中でちょっとでもかじった話を箇条書きにしておきます.

今後のテーマとして取り上げることにします.

・可視化(色使い)

・linear regression

・logistic regression 

・isotonic regression

ベイジアンネットワーク

協調フィルタリング

・整数計画問題→線形計画問題

・特徴量抽出

ブログ始め

こんにちは,

おこげです.

 

つくばでデータサイエンスを勉強している学生です.

データで問題解決をすること,新たな価値を生み出すことに強く関心を持っています.

 

ここでは,日々インプットしたことや,思い立ったことについてつらつらと書き連ねていきます.

 

このブログを始めた理由は,いたって簡単.「自分の周囲の人間が,やっているということ.」

日々,いろんなところから勉強をしインプットをしているわけですが,自分の中にとどめておくだけではなくアウトプットすることで,より整理し深く理解ができ,定着させることにつながると考えたからです.

 

ソースコードなども,必要になり次第公開いたします.

 

どうぞよろしくお願いします.