こんなもん

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

悪いことが続いたら,それは好調の前触れ???

最近なんか悪いことばっか…

こんなことを思いながら過ごす時期は,人なら誰しもあると思うんです… いつも順風満帆なんてことはなく,山あり谷あり.

で,まさに今自分は落ち込んだ時期. 最近なんかうまくいかない.立て続けにミスやら失敗やらが多い日々を送っています.

  • 遊びに行った先で,膝を捻挫し2ヶ月近く調子悪い.(諸費用 計7万)
  • バイトで,ケアレスミスで修理に繋がるミスをする.(はっきりは分からないが,修理費は数万円)
  • スマホを水没させ,ホームボタンが使えなくなる etc …

一つ一つは,小さいかもしれないけれど,重なると結構心えぐられます.笑

「厄年なんじゃないの…?」

友人に言われました.

厄年?…聞いたことはあるけど,ちゃんと知らないからこの際調べてみましたよ!

厄年とは、人間の一生のうち、何らかの厄難に遭遇する恐れの多い年齢をいい、医学の発達した現代においてもなお、万事に慎まねばならない年齢として、人々に意識されています。
出典:神社と神道 - 男女の厄年(やくどし)を教えてください (厄年早見表)

2017年の男性の厄年
25歳 42歳 61歳
前厄 1994年(平成6年)生まれ 1977年(昭和52年)生まれ 1958年(昭和33年)生まれ
本厄 1993年(平成5年)生まれ 1976年(昭和51年)生まれ 1957年(昭和32年)生まれ
後厄 1992年(平成4年)生まれ 1975年(昭和50年)生まれ 1966年(昭和31年)生まれ
1995年生まれ… 違うじゃん

自分はまだでした〜.

気になった方は以下のサイトを見てくださいね. matome.naver.jp

結局は厄年なんて関係ないんです.何か自分に原因があるんでしょう. でもそれが何か,分からなくなってしまっている自分がいます.

ということで.

リセットする時期なのかも.

毎日同じことの繰り返し,って感じで過ごしているうちに身の回りがごちゃごちゃしてきていませんか?

予定を忘れるとか,締め切りに間に合わないとか,部屋が汚いとか…
「そんな人は社会人として云々.」とか言われるかもしれませんが,珍しいことじゃないですよね.

なので,身の回りを整理して,色々リセットしていきましょう. 積もってしまったから「もうダメ」ではなく,やり直せばいいはずです.

そして,リセットする周期をちょっとずつ短くするようにしてみようと思います.
そのためには,定期的に自分の周りをリセットする時間を設けてあげるのも一つの方法かもしれません.

その周期が,短くなれば徐々に普段からいい状態を保てるようになるのではないでしょうか?

もう,どん底なんだからこれからは上がるのみ!!!!

か,どうかなんて実際のところはわかりません.

でも,そうでも信じて頑張ってなきゃ,チャンスを逃してしまう気がするんです. うまくいかないことに凹んだままでいては,よくはなりません.

だから,笑顔で頑張って生きましょ〜

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

ベイジアンネットワーク

協調フィルタリング

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

・特徴量抽出

ブログ始め

こんにちは,

おこげです.

 

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

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

 

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

 

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

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

 

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

 

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