Machine Learning

Get the latest machine learning algorithms and techniques

Machine Learning
小林 泉 0
機械学習のパラメータをオートチューニングしよう(回帰編)!

先日投稿した「機械学習のパラメータをオートチューニングしよう(分類編)!」の続きです。 今回は回帰分析をオートチューニングします。 あらまし 機械学習の課題はパラメータチューニングで、手動で最高のパラメータを探そうとすると、とても時間がかかり効率的ではありません。 SAS Viyaではパラメータチューニングを自動化するオートチューニング機能を提供しています。 オートチューニング機能を使うことで、限られた時間内、条件下で最高のパラメータを探索し、予測モデルを生成することができます。   今回やること 今回はオートチューニングを使って数値予測モデルを生成します。 使うデータは架空の銀行の金融商品販売データです。顧客の取引履歴と営業履歴から構成されており、新たな金融商品の販売数を予測するデータとなっています。 内容は以下のようになっており、約5万行、22列の構成です。 1行1お客様データとなっていて、顧客の口座情報や取引履歴、営業履歴が1行に収納されています。 ターゲット変数はcount_tgtで、これは各顧客が購入した金融商品数を表しています。 ほとんどが0(=未購入)ですが、購入されている顧客の購入数を予測するモデルを生成します。 今回はランダムフォレストを使って予測したいと思います。 ランダムフォレストは別々の決定木を複数作り、各決定木の予測値をアンサンブルして最終的な予測値とする機械学習の一種です。   まずは手動で予測 SAS Viyaでランダムフォレストを使って予測モデルを生成するにあたり、まずはCASセッションを作ってトレーニングデータとテストデータをインメモリにロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat   # 接続先ホスト名、ポート番号、ユーザー名、パスワードを指定 host = "localhost" port = 5570 user = "cas" password = "p@ssw0rd"   # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password)  

Machine Learning
小林 泉 0
機械学習のパラメータをオートチューニングしよう(分類編)!

機械学習で予測モデルを作るとき、課題のひとつにパラメータのチューニングがあります。 パラメータとはどういう設定値や制限値で機械学習の予測モデルを作るのかを示すものです。 料理に例えると、チャーハンを作る過程が機械学習のアルゴリズムだとすると、どういう具材をどのくらいの量入れるのかがパラメータです。 お米の品種や卵の有無、豚肉か鶏肉か、調味料の種類や量がパラメータになります。チャーハンの良し悪しはこれらパラメータの良し悪しに左右されます。おいしいチャーハンを食べるためには、具材をベストな組み合わせと量で投入する必要があります。 昼食においしいチャーハンを食べたので、チャーハンでたとえました。 話を戻すと、機械学習の決定木の深さであったり、ニューラルネットワークのニューロン数であったり、パラメータは自分で設定する必要があります。機械学習では複数のパラメータを組み合わせて、ベストなレシピを作らねば良い予測モデルは作れません。   SAS Viyaでは各種機械学習アルゴリズムを提供していますが、各機械学習にそれぞれのパラメータが用意されています。料理に例えると、メニューにチャーハンのみならず餃子、ラーメン、寿司、ステーキ、チーズケーキがあるようなものです。シェフ(≒データサイエンティスト)は全てのベストなレシピ(≒パラメータ)を探索せねばならず、労力がいります。 しかし! SAS Viyaには更に便利な機能として、オートチューニングというものが用意されています。 オートチューニングは最も良いパラメータを短い時間で探索してくれる機能です。料理に例えると、究極のチャーハンレシピをViyaが自動的に作ってくれる機能です。夢のようですね。 オートチューニングでは機械学習のパラメータを変えながら複数の予測モデルを作り、最も良い予測モデルのパラメータを探してくれるというものです。決定木だけでもパラメータは10種類以上あるのですが、それらの最良な値をみつけてくれます。 パラメータチューニングを行う際、最も安易な探索方法は各パラメータの全パターンを試すことです。全パターンを試せば、その中から最も良いものはたしかにみつかります。しかし欠点はパラメータチューニングに長い時間がかかってしまい、現実的な手法ではありません。 SAS Viyaのオートチューニングはより賢いパラメータ探索のアルゴリズムを4種類用意しています。 遺伝的アルゴリズム(Genetic Algorithm, GA):パラメータを遺伝子と見立てて、淘汰、交叉、突然変異を組み換えすことでパラメータを探索する。 ラテン超方格サンプリング(Latin HyperCube Sampling, LHS):層別サンプリングの一種で、各パラメータをn個の区間に分割し、区間からランダムに値を取り出してパラメータを探索する。 ベイズ最適化(Bayesian Optimization):説明変数と予測の間にブラックボックス関数があると仮定し、ブラックボックス関数のパラメータの分布を探索する。 ランダムサンプリング(Random Sampling):ランダムにパラメータの値を選択して探索する。 探索アルゴリズムを詳しく説明していると終わらないので説明を短くまとめました。SAS Viyaではいずれかのアルゴリズムを利用してオートチューニングを実行することができます。   今回はPythonからSAS Viyaを操作して、オートチューニングを試してみたいと思います。 まずはPython SWATをimportし、CAS Sessionを生成してデータをロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat   # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password)   #

Advanced Analytics | Customer Intelligence | Machine Learning
Maarten Oosten 0
Bots, collusion and accountability in pricing

In the recent article, “Price-bots can collude against consumers,” the Economist discusses the consumer effects of prices set by price-bots. The article starts with an example of gasoline pricing strategies on Martha’s Vineyard. With a small number of gas stations on the island, the price-bots can cover all competitor prices frequently

Advanced Analytics | Machine Learning
SAS Korea 0
최적의 ‘머신러닝 알고리즘’을 고르기 위한 치트키

“어떤 알고리즘을 사용해야 할까요?” 수많은 종류의 머신러닝 알고리즘을 맞닥뜨린 초급자 분들이 가장 많이 물어보는 전형적인 질문인데요. 사실 이 질문에 대한 답변은 하단 내용을 비롯한 수많은 요인에 따라 달라집니다. 데이터의 크기, 품질, 특성 가용 연산(계산) 시간 작업의 긴급성 데이터를 이용해 하고 싶은 것 그렇기에 숙련된 데이터 과학자(Data scientist)조차도 여러 알고리즘을 직접

Advanced Analytics | Analytics | Data Management | Machine Learning
Charlie Chase 0
At the end of the day, it’s all about analytics-driven forecasting

Analytics-driven forecasting means more than measuring trend and seasonality. It includes all categories of methods (e.g. exponential smoothing, dynamic regression, ARIMA, ARIMA(X), unobserved component models, and more), including artificial intelligence, but not necessarily deep learning algorithms. That said, deep learning algorithms like neural networks can also be used for demand forecasting,

Advanced Analytics | Machine Learning
SAS Korea 0
데이터 과학자가 뽑은 "머신러닝 알고리즘 개발 베스트 프랙티스 1탄"

1980년대 후반에만 해도 머신러닝(machine learning)이나 데이터 과학자와 같은 개념은 없었습니다. 대신 통계, 분석, 데이터 마이닝, 데이터 모델링과 같은 단어가 사용됐는데요. 이후 글로벌 기업들은 30년 이상 머신러닝 모델을 연구해 왔으며, 페이스북의 이미지 인식 소프트웨어, 아마존의 음성 비서 알렉사, KT의 인공지능 서비스 기가 지니(GiGA Genie)까지 그 결과들이 연이어 쏟아지고 있죠! 이러한 결실

Machine Learning
SAS Viyaのチートシートを作ってみました。

SAS Viyaでは購入前に使い勝手を試していただくため、無償使用版を提供しています。 https://www.sas.com/ja_jp/software/viya.html#preview もう試していただいた方もいらっしゃるかもしれませんが、SAS StudioやJupyter Notebook、Visual AnalyticsからSAS Viyaを操作して、データマイニングや機械学習を便利に試していただくことが可能です。 この無償使用環境では動作確認済みのデモプログラムを提供していますので、機械学習やプログラミングに不慣れでも迷うことはありません。   しかし機械学習を実業務で使い始めようとすると、どのプロシージャやメソッドを使えば良いのか、わからなくなることが多々あります。 SAS Viyaでは機械学習ユーザに不足ないよう、多種多様なプロシージャを提供していますが、プロシージャが増えるとどの場面でどれを使うんだっけ?と迷ってしまいます。   そこで、SAS Viyaのチートシートを作ってみました。 このチートシートを使えば、用途にあわせて必要なプロシージャを選択していくことができます。 SAS Viyaが提供するプロシージャから重要なものを掲載しています。   SAS ViyaはSAS PROCとActionsetという2種類のプログラミング仕様があります。 チートシートもPROC用とActionset用で2種類作りました。   PDF版は以下にありますので、ぜひご参照ください。 viya_cheat_sheet_20170721_jp  

Analytics | Artificial Intelligence | Machine Learning
Scott Batchelor 0
5 questions about artificial intelligence with Intel's Pat Richards

Artificial intelligence promises to transform society on the scale of the industrial, technical, and digital revolutions before it. Machines that can sense, reason and act will accelerate solutions to large-scale problems in myriad of fields, including science, finance, medicine and education, augmenting human capability and helping us to go further,

Analytics | Data Management | Machine Learning
Andreas Becks 0
Paradies gesucht? Die Daten haben West Perth gefunden

Wollten Sie schon immer mal an einem Ort leben, wo es kostenlosen öffentlichen Nahverkehr gibt, die höchste Dichte an Self-Made-Millionären herrscht, wo jedem Einwohner umgerechnet ca. fünf Golfplätze an Grünflächen zur Verfügung stehen oder es 84.274,6 km Fußgängerwege gibt? Willkommen in West Perth! Zumindest analytisch gesehen ist der kleine Stadtteil

Analytics | Machine Learning
Joanna Gola 0
10 Commandments of Applied Econometrics or how not to sin when working with real data – Part 5

In the fourth post of the 10 Commandments of Applied Econometrics series we discussed the issues of keeping the solutions sensibly simple and applying model validation. Today, I will present another commandment related to data mining techniques. Use data mining reasonably. In the econometric community, data mining is a controversial and highly emotional

Analytics | Machine Learning | Risk Management
Carsten Krah 0
Machine Learning allein reicht nicht, der menschliche Verstand ist weiterhin gefragt

Science-Fiction-Autoren sind seit Langem fasziniert von der Vorstellung, dass Roboter die Weltherrschaft übernehmen könnten. Und sie überlegen, was man tun könnte, um die Welt vor dieser Machtübernahme zu bewahren. Doch diese Vorstellung geht weit an der Realität vorbei. Tatsächlich wissen wir heute: Maschinen – und Machine Learning – funktionieren am

Analytics | Machine Learning
Dariusz Jańczuk 0
Automatyzacja detekcji oszustw na portalach ogłoszeniowych

Lawinowy wzrost popularności handlu w internecie zmienił nawyki zakupowe bardzo wielu osób. Ogromna ilość sprzedawców oraz różnorodność oferowanych produktów i usług umożliwia zdobycie niemalże wszystkiego. Dzięki globalnemu zasięgowi jesteśmy w stanie zamówić produkt z drugiego końca świata i mieć go u siebie w przeciągu kilku dni lub tygodni. Sprzedawcy natomiast

Machine Learning
SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

みなさんは、SAS Viyaを無償で試す方法を知っていますか? 手順は簡単、 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス ② 無償試用版リストから希望の製品を選択 ③ SASプロファイル情報を登録 ④ 登録済みのSASプロファイル情報でサインイン ⑤ SASから届くメール内にある試用版サイトリンクをクリックし、同メール内に記載されたIDとパスワードでサインイン ⑥ SAS Viyaにサインインして試用開始 これだけです。 ※尚、このガイドは、2018年8月時点の内容に基づいて作成されています。利用手順は予告なく変更される場合がありますので、実際に表示される画面や送られてくるメール内容に従っての操作をお願いします。 ブラウザはChrome 64bit版が推奨です。(ブラウザは Chrome 61以上, Firefox 56以上, MS Edge40.1以上を使用してください) では、1ステップずつ詳しくご紹介しましょう。 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス 以下のリンクをクリックして、SAS Viya無償試用開始サイトを表示しよう。 https://www.sas.com/ja_jp/software/viya.html#preview ② 無償試用版リストから希望の製品を選択 この手順では、「SAS Visual Data Mining and Machine Learning」を選択した例で紹介しています。 (以下のリストに表示されていない製品に関しては、チュートリアル等使用をガイドするような資料は提供していませんが、同一環境内で試用することはできます。) ③ SASプロファイル情報を登録 (すでにSASプロファイル登録済みの場合は、このステップは必要ありません。) 以下の画面内で、「Create one」リンクをクリックします。

Analytics | Machine Learning
SAS言語派集まれ!SAS StudioからSASのAIを使ってみよう!

5月23日に開催されたSAS Forum Japan 2017では、通常のセッション枠とは別に、「スーパーデモ」と題して、各種SAS製品やソリューションのデモが紹介されました。通常セッションの休憩時間はもとより、セッション時間中でも多くの方々が「スーパーデモ」エリアに集まり、食い入るようにデモも見られていました。 その中で、私が実施したデモ内容をご紹介します。 SASのAI機能は、SAS言語のみならず、Python, R, Java, Luaなどの汎用プログラミング言語からも活用可能ですが、このデモでは、SAS Studioを使用し、SAS言語でSASのAI機能を活用したモデル作成を行いました。 詳細(スライド版)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS言語派集まれ!SAS StudioからSAS Viyaを使ってみよう! from SAS Institute Japan 詳細(デモ版)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

Machine Learning
Python, Rで使うSAS Viya!

みなさま、SAS Viyaはご存知でしょうか? SAS ViyaはSASが2016年末に出した新データ分析プラットフォームでして、データの探索、整形から機械学習まで、幅広くデータ分析することができる万能品です。 こんな感じのロゴです。 SAS Viyaの特徴にインメモリエンジンによる分散処理とオープンというものがあります。 SAS Viyaでのデータ分析はすべてCASというエンジンで実行されるのですが、このCASはサーバのメモリ上にデータをロードし、分析処理が展開されます。しかも複数サーバ構成でも良い感じにスケールして並列分散処理するので、1台のサーバにデータが乗らないとか、1台だけだと遅いとかいうことはありません。   SAS Viyaの特徴 さらにSAS Viyaはオープンな特徴があります。 どうオープンなのかというと、実は裏表なく嘘のつけない性格・・・というわけではありません。 SAS ViyaはSAS言語のみならずPythonやR、Java、LuaそしてREST APIといったさまざまな言語で操作することができるオープン性を持っています。 従来のSAS製品だとSAS言語を覚えないと使うことができなかったのですが、SAS Viyaでは多くのデータサイエンティストさんが使っているPythonやRでデータ分析ができます。しかも同じプラットフォームでデータ分析するので、言語間で違う結果が出るということはありません。同じ設定で分析すれば、どの言語を使っても同じ結果が返ってきます。 さらにいえばPythonやRでデータ分析するときも、多くの場合は1台のサーバやパソコンで処理すると思います。そのさい、サーバやパソコンはCPUやメモリのすべてをデータ分析に割くということはありません。マルチコアCPUを使っていても、大体はシングルコアで処理されます。 しかしSAS Viyaではリソースを使い切ります。4コアであれば4コア、サーバ3台構成であれば3台を余さず使って、より速く効率的に分析します。 全体像でいうとこんな感じです。 どうやって使うの? PythonやRでSAS Viyaを使いはじめるときは、まずはSWATというOSSを導入する必要があります。 SWATはSpecial Weapon and Tacticsの略・・・ではありません。 SAS Scripting Wrapper for Analytics Transferという、SAS Viyaを操作するためのラッパーです。SASが作って、GitHubで公開しています。 Python SWAT https://sassoftware.github.io/python-swat/index.html R SWAT https://github.com/sassoftware/R-swat これらをpip installやinstall.packagesで入手して使いはじめることができます。 SWATはWindows、Linux、MacOSいずれもサポートしていますので、お好きなプラットフォームに導入できます。 Pythonでのプログラミング例はこんな感じです。たったこれだけで、SAS Viyaを使って決定木モデルを作ることができます。とても簡単です。 #

1 13 14 15 16 17 18

Back to Top