fc2ブログ

RからPythonへの道(1)

 仕事で「データ解析」を行う際にRをよく使います。データ解析を始めた3年前ぐらいは、今ほどPythonの勢いはない感じで、統計はR、機械学習やAIはPythonと棲み分けている感がありました(今も若干そうかな?)。3年前も機械学習やAIに対して懐疑的であったため、データを正しく説明するには統計、Rだよなと思っていました。その後、Rを極めようと半年程度、実務の中で勉強して、一通り苦もなく使えるようになりました。

 時は流れ、Pythonの勢いが止まりませんね。自宅ではPythonを画像処理やスクレイピング等の「お遊び」に使っていましたが、データ解析には使っていませんでした。ただ、今後のことも考えて、Pythonも本格的に覚えなくてはならないなと思い続けて現在に到っています。

 ネット記事か、YouTube動画の内容だったか覚えていませんが、ふと「滅びゆく5つのプログラミング言語」という記事の中で「Ruby、Haskell、Objective-C、R、Perl」が言及されていました。ネット上では、Rubyネタで盛り上がっていますが、仕事で使っているRも入っていたのでショッキングでした。分かってはいるけどね・・って感じですが。

原文をGoogle翻訳さんの力を借りて、訳すと以下の通り。(一部、人工無脳?により修正)

--------------------------------
R
かつて、Rはデータ分析で人気の高い言語でした。しかし、PythonはRの市場シェアを急速に飲み込んでいるようです。 Rはまだ学者やデータ科学者によって使用されていますが、データ分析に関心のある企業は、そのスケーラビリティと使いやすさからPythonに注目しています。その結果、Rはプログラミング言語の人気のTIOBEのインデックスが下がり、他の研究ではPythonを支持してRの使用がゆっくりと減少していることが示されました。

Rが何らかの形で存続するのであれば、データアナリストがRをPythonと組み合わせて使用​​する可能性があるためです。 「RとPythonの組み合わせは合理的かつ実現可能です」と、CTOであり、カリフォルニア州レッドウッドシティに本拠を置くインテリジェントマーケティングのデータプラットフォームであるQuanticMindの共同設立者であるエンリコアリアントは、今年初めにDiceに語りました。 「社内でデータサイエンスプラットフォームで両方を実行しています。しかし、今日もキャリアを再開する場合は、RではなくPythonに焦点を当てることを検討できます。これは、より広範なアプリケーションを備えたより一般的な言語です。

しかし、そのシナリオでさえ、少数の学者だけが使用するRで終わる可能性があります。それは現実的ではありません。
--------------------------------

9/22時点のTIOBEのインデックスを確認すると以下の通りです。明暗がよく分かります。R-ranking.pngPython-ranking.png PythonはRに比べ、データ解析以外にも利用される万能なプログラミング言語なので、注目されて利用者が多いですね。その結果、データ解析を含め、各種ライブラリの開発者も多くなり、ネット上の実施例もRに比べ多くなるために、リソースの多い言語に利用者が流れるのは当然のことと思われます。Rは大学の研究者に好んで使われていますが、研究者の数は知れていますからね。

 個人的には、記事に書かれてある通り、RにはPythonにはない機能もあり、Rをそのまま捨てさることはできないですが、時代の流れに逆らえないので、Pythonも本格的に勉強しなくてならないなと思う今日この頃です。今まで遊びでPythonを組んでいると、Rと似たような所もあるので、そのアナロジーをベースに勉強していこうと思います。また、R-Python間は相互に関数を呼び合えるので、両言語が使えると何かと便利かも知れません。次回から、RのコードをPythonに変換して行く中で、関数や書き方を勉強していこうと思います。長い道のりになりそうです。
スポンサーサイト



大井川鐵道を満喫する(2)

 前回の続きです。ホテルで1泊して、翌日の天気も快晴でした。ホテルから見た大井川に架かる橋も鮮やかです。大井川(川根温泉から)_190916 この日は千頭から井川線に乗って井川まで往復しました。奥大井を堪能することが目的です。小型の車両に乗り込んでいざ出発です。大井川鐵道_190916 アプトいちしろ駅でアプト式機関車と連結しました。アプト式での運行は次の長島ダム駅までです。上りの際は最後尾に、下りの際は先頭にアプト機関車は連結されます。連結作業も見学できました。大井川鐵道アプト機関車連結_190916 長い直線上の坂をゆっくり上りました。大井川鐵道アプト式車窓1_190916上り終わると前方に長島ダムの雄大な姿が登場です。長島ダム_190916登山列車は何度か経験しましたが、天気も良く大変心地よかったですね。どんどん山奥へ引き込まれていきます。川のそばの山際を走り、転がり落ちそうな気分になりますが、もくもくと列車は走っていきます。
 しばらくすると、前方に朱色のきれいな橋が見えてきました。奥大井湖上駅です。観光案内でよく見る絶景の駅ですね。大井川鐵道奥大井湖上駅_190916終点井川駅で下車した際にもらった記念カードにもこの通り。奥大井湖上駅 千頭から片道約2時間で終点の井川に到着しました。徒歩5分程度のところに井川ダムがあるので、軽く見学して、千頭まで戻りました。下りの風景も上りと違う味わいがありました。大井川鐵道アプト式車窓2_190916
 十分森林浴もでき、千頭から再びSLに乗って新金谷へ。大井川鐵道SL_190916 最後は、元来た通り、掛川から新幹線で帰路につきました。今回の旅は鉄道三昧の良い旅でした。大井川の大自然に触れることができ、ひとときのリフレッシュができました。すぐに後日現実に戻ることになりますが、このひとときのリフレッッシュが重要ですね。

大井川鐵道を満喫する(1)

 9/15、16の1泊2日で静岡県の大井川鐵道を堪能してきました。日頃のストレスを解消し、リフレッシュする目的です。最近怒りっぽい?奥さんも一緒に引っ張って行きました。今回の旅は奥さんの気分転換も兼ねています・・。

 新幹線で掛川まで行き、東海道本線に乗り換えて金谷まで行きました。その後、大井川鐵道の代名詞であるSLに乗るために、新金谷に移動しました。大井川鐵道新金谷駅190915休日ともあり人が多かったですね。ちょうど千頭で「トーマスフェア」をやっていたせいか、子供連れが目立っていました。

 大井川鐵道は、本線が金谷-千頭間の39.5km、井川線が千頭-井川間の25.5kmの全長65kmにもわたる路線です。SLは新金谷-千頭間を走っています。大井川鐵道全線2日間の移動には「大井川周遊きっぷ」(¥4,400也)を利用しました。大井川鐵道の終点の井川まで利用でき、かつ寸又峡までの路線バスにも乗れて重宝しました。大井川鐵道割引きっぷSL乗車の場合は乗車券の他に急行券が追加で必要で¥800也。事前にネットで席を予約する必要があります。きっぷには名前が印刷され、旅の良い思い出になりました。大井川鐵道SLきっぷ
 SLは「C10-8」で1930年製。大井川鐵道では1997年から運転しているとのこと。SLは以前、鬼怒川で「大樹(C11-207)」乗ったことがありましたが、1時間以上乗るのは今回初めてです。大井川鐵道SL1_190915大井川鐵道SL2_190915なかなか年季が入っていい感じのSLでした。大井川鐵道SL3_190915客車もレトロ感、満載です。大井川鐵道SL4_190915乗ってみると鬼怒川の「大樹」よりはスピードが速く力強い走りに感じました。大井川を横目に(千頭方面に向かうときは進行方向に向かって左列の席が大井川をよく見ることができます)、旅を満喫しました。

 千頭についた後、路線バスに乗って寸又峡温泉へ行きました。山道を40分程度で、寸又峡温泉に着きました。目的の「夢の吊橋」を目指して、ウォーキング片道30分程。目的地に着いたのですが、吊橋を渡る長蛇の列・・。宿泊先(川根温泉)に戻る電車の時間のこともあり、吊橋を渡ることは断念しました。待ち時間は1時間以上あったと思います。ただ、遠目にエメラルド色に輝いた水面と吊橋を拝むことができました。夢の吊橋_190915今までに見たこともない色でしたね。リーフレットに「チンダル湖」と表記があり、思わず「チンダル現象」であんな色をしているんだなと、ふと思ってしまいました(理系:化学出身の性なのか・・?)。ただ、純粋に自然の色は素晴らしいと思いました。

 千頭から大井川を下流側に戻り、川根温泉で1泊しました。翌日は、大井川鐵道のさらに上流、アプトラインを攻めに行きました。その話はまた。

Azure Machine Learning Studioを使う(1)

 ブログの更新が1ヶ月間できていませんでした。休日も何かとドタバタしていて、ホットなブログネタを育てるまでの十分な時間が作れませんでした。いろいろとゴソゴソやっていたのですが、実になったものが少ないのです・・。

 その中で7月末頃に物色していたのが、Microsoft Azureの「Machine Learning Studio」というクラウド上で「機械学習」のフローを作成して実行できるサービスです。プログラムをコーディングバリバリで組むのではなく、フローチャートのように処理手順を並べて線で結んでいくようなものです。最近の流行りなのか?、このスタイル、よく見かけますね。昔々はLabVIEWのプログラムを作成する際に、その斬新さにカルチャーショックを受けたものです(余談)。

 前置きはともかく、Azure Machie Learning Studioのサイトを開き、「すぐに始める」ボタンを押します。MLStudio_1_190917.png 次に利用形態ですが、無償の「Free Workspace」を選択しました。無償利用でもそれなりのことができます。MLStudio_2_190917.png利用するためには、Microsoftアカウントが必要なので、なければ無料で作成しておきます。

サインインして、起動すると以下の画面が表示されました。今回はまず、Azure Machie Learnig Studioのサイトの「クイックスタート」の事例を試してみました。MLStudio_3_190917.png画面左下の「+NEW」ボタンを押し「EXPERIMENT」の「Blank Experiment」を押してスタートです。MLStudio_4_190917.png
 フローの流れは、データ読み込み、前処理、分析(学習)、予測(検証)の順です。最終的にMachine Learnig Studioで作成したプログラムフローは以下の通り。MLStudio_5_190917.png
1. データ読み込み
 有名どころのデータセットのcsvサンプルは「Saved Datasets - Samples」に入っており、簡単に読み込んで可視化ができました。MLStudio_6_190917.pngMLStudio_7_190917.png
2. データ前処理
 データ解析に必要な項目列の選択、欠損データの処理等を実施。詳細はクイックスタートの内容を参照。

3. データ分析(学習)
 2.で前処理したデータについて、学習データと検証データに分け(今回は3:1に分割)、線形回帰を行う。この詳細もクイックスタートの内容を参照。

4. データ予測(検証)
 3.で分析(学習)した線形回帰モデルを使って、分割した1/4のデータを予測し、精度を評価する。Score Modelの内容を表示させると、予測(検証)データの値と真値が比較できます。MLStudio_8_190917.pngまた、Evaluate Modelの内容から、回帰分析の決定係数や誤差関連の情報も表示できます。MLStudio_9_190917.pngMLStudio_10_190917.png
 一見、フローチャート式で面食らう所がありましたが、慣れの問題なのかもしれません。前処理の所あたりが面倒でしたが、RやPythonのコードも仕込むことができるようなので、要所要所使い分けて処理させてもいいかもしれません。いろいろ触って機械学習を勉強するにはいいかもしれません。もう少し使ってみようと思います。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: