Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

モデル選定まで自動でやってくれるならもうこれでいいじゃん・・・ というわけでauto-sklearnなるものを使ってみようとしたら意外とはまった話 auto-sklearnの公式はこちら 元々の環境:以下のコマンドで作ったdocker上に構築したjupyter環境 $ docker pull jupyter/tensorflow-notebook 上記環境ではデフォルトでauto-sklearnが入っていないが以下のcommandでpython環境にauto-sklearnが導入できる $ pip install auto-sklearn 早速実行してみたが、pip installerのバージョンが古くて対応していないとのことなので、以下のコマンドを打つこと要求された $ pip install upgrade pip コマンドを実施してみるとpipのアップグレードに成功。 改めてauto
はじめに 先日、「サザエさんじゃんけん研究所」1様の「サザエさんじゃんけん白書」が話題になりました。 過去のサザエさんの手を分析し、傾向と対策を見出すという企画?です。 じゃんけんで何を出せば勝てるか人間が推測できるなら、コンピュータ(プログラム)でもできるに違いない、ということで勝手にシリーズ化してしまったネタです。 これまでのあらすじ 機械学習でサザエさんとじゃんけん勝負(ニューラルネットワーク編) - Qiita 機械学習でサザエさんとじゃんけん勝負(SVM編) - Qiita 問題設定 くどいからもういいか。。。 あらすじのどちらかの記事をご覧ください。 今回は回帰分析 今までの2回はサザエさんの手を直接予想するプログラムだったのですが、今回は「ある手を自分が出したときの利益」を考えてみます。言ってみれば、サッカーの試合などでいう「勝ち点」のようなものですね。 もちろん同じ状況と戦
sklearn-pandas とは? pandasのDataFlameからsklearnのモデルやpiplineを使う際に若干の煩わしさが残っていたが、最近はsklearn-pandasというパッケージが開発されており扱い易くなっているようだ。 このパッケージを使うと、例えば次のようなことができるようだ。 pandasのDataFlameをそのまま入力できて、なおかつ、出力もDataFlameで取り出せる。 特定のコラム(特徴量)のみへの処理をsklearnのmodelと同様の形式で定義できる。 従来より柔軟なpipelineを作成できる。 従来、pandasのDataFlameをsklearnの適当なmodelで学習する場合、DataFlameの特定のコラムのみを抽出し、エンコーディング、欠損補完、スケーリング等を行った後、np.arrayとして、sklearnのmodel(piplin
FeatureHasher# class sklearn.feature_extraction.FeatureHasher(n_features=1048576, *, input_type='dict', dtype=<class 'numpy.float64'>, alternate_sign=True)[source]# Implements feature hashing, aka the hashing trick. This class turns sequences of symbolic feature names (strings) into scipy.sparse matrices, using a hash function to compute the matrix column corresponding to a name. The hash function
alpha:float, optional -> スムージングparameter(defaultは1.0) fit_prior:boolean -> class prior probabilitiesを使うかどうか class_prior:array-like, size=[n_classes] -> Prior probabilities of the classes import numpy as np # 0~5の間の乱数、サイズは6*100のarray([[1番目の100こ],…,[6番目の100こ]]) X = np.random.randint(5, size=(6, 100)) # 教師データ Y = np.array([1,2,3,4,5,6]) # クラス -> X[0]はクラス1, X[2]がクラス3のような from sklearn.naive_bayes impor
はじめに 機械学習を使った分析業務といっても、データの取り込み、モデリング、プロダクト化といった様々なステージに分けられ、それぞれのステージ特有のボトルネックがあるかと思います。私はその全てに対する処方箋を提示できるわけではありませんが、今回は特に、Pythonを使った機械学習モデリングのステージについてご意見しようという魂胆です。 Python は scikit-learn など機械学習用のモジュールが充実しているので、予測モデルの作成によく使われていると思いますが、予測モデルの作成というのは試行錯誤の繰り返しで、頻繁に出戻りが発生します。あるいはモデル作成のパートを分業せず、一人で試行錯誤という場面も多いと思いますが、多くの人は Jupyter notebook のような対話型エディタで作業していると思います。これも、作業が長引くにつれて、相当見づらいコードが出来上がってしまうことが予
fnc-1の優勝モデルでは、TF-IDFやword2vecをはじめ、5種類の特徴量が結合されています(さらに、deep learningとのアンサンブルモデルを構築している)。これを参考に、TF-IDFとword2vecを結合したら文書分類の精度が上がるのかを検証します。(ただし、ここではword2vecというより、nnlm-ja-dim128を使います) 事前準備 データはスクレイピングによって取得しましたが、著作権などもあるので、ここでは公開しません。しかし、手順だけ示しておきます: 二値分類モデルとして定義し、カテゴリー1とカテゴリー2を定義する。 カテゴリー1を提供しているニュースサイト数種から記事数千に対するタイトルと本文を抽出。 カテゴリー2を提供しているニュースサイト数種から記事数千に対するタイトルと本文を抽出。 Jupyter notebookで実行 データのロード。 In
はじめに データの分析を依頼されたのですが、秘匿情報が含まれるということから全然情報を頂けないままファイルを受け取り、初期診断をすることとなったので、その手順をまとめてみました。 前提条件として、これからこのような依頼が継続しそうなので、他のツールを使って確認するというのではなく、初期診断用のスクリプトを作成することを目的とします。 ファイルのエンコーディングを確認 まずはファイルを開くためにエンコーディングを確認します。 ここでは、日本語圏を対象としているので、日本語を扱うエンコーディングのみを試します。 f = lambda d, e: d.decode(e) and e encs = ["utf-8", "shift-jis", "euc-jp", "iso2022-jp"] datfile = open("sample.csv", "br") data = datfile.read
イントロ 文系・初心者の私が機械学習について少し学んだのでざっくりとまとめてみました。 初心者向けにざっくりとイメージだけ掴む感じで書いたのと独学なのとで間違っていることがあればご指摘ください。 この記事では下記について書きます。 ・機械学習ができるライブラリ ・scikit-learnでできること ・scilit-learnの使い方 そもそも機械学習とは 機械学習については下記のサイトが参考になりました。 https://qiita.com/taki_tflare/items/42a40119d3d8e622edd2 人工知能を形成している一部分という感じでしょうか。 機械学習の一部にニューラルネットワークというものがあります。ニューラルネットワークはざっくりいうと「人間の脳の機能を真似して作られた計算処理」という感じらしいです。ニューラルネットワークには入ってきたデータの特徴を絞り込ん
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? intro 分類タスクなどで、クラスごとのサンプル数が極端に偏っていることがあります。 そういった場合、一つの方法としてresamplingを行うことがあります。 どちらかといえばoversamplingを使うことのケースが多いかと思うのですが、 以下のようにundersamplingを使いたいケースがありました。 全部を使ってトレーニングするには、データが多すぎる。 偏りが非常に大きいため、Majority classを大幅に減らしたい 線形で分けにくいケースがある Majority classのうち明らかに識別できそうなものを除いて
from sklearn.datasets import make_regression X, Y, coef = make_regression(random_state=12, n_samples=100, n_features=4, n_informative=2, noise=10.0, bias=-0.0, coef=True) print("X =", X[:5]) print("Y =", Y[:5]) print("coef =", coef) plt.figure(figsize=(20, 4)) plt.subplot(1, 4, 1) plt.title("Feature 1") plt.plot(X[:, 0], Y, "bo") plt.subplot(1, 4, 2) plt.title("Feature 2") plt.plot(X[:, 1], Y, "ro
イントロ 今回のレッスンはscikit-learnという機械学習用のライブラリについての概要の説明と実際の使い方を簡単に紹介したいと思います。 準備 コンソールやターミナルから下記のコマンドを実行して、ライブラリを取得するだけです。 公式サイト 一般的な評価 下記の記事にもある通り、機械学習のライブラリの中ではやはり随一の知名度を誇り、アルゴリズムのバラエティにも富んでいます。 また、使い方も非常に簡単で、理論を勉強しながら実際にそれを現実的な問題に適用してみるということを簡単に行えるようにしてくれるライブラリです。 https://www.quora.com/What-are-the-best-open-source-machine-learning-libraries-written-in-Python 機械学習のモデル構築プロセス 画像引用:https://www.cloudpuls
1. はじめに これまでもQiitaには株価を機械学習/ディープラーニングで予想する、という記事が投稿されてきました (例えば参考文献の1)。果たしてそれに付け加えることがあるのか、という気もしますが考え方の整理も兼ねて投稿したいと思います。主な方針としては 日経平均(N225)がその日上がるか、下がるかを予測する N225を含む指標の、始値 (Open)、高値 (High)、安値 (Low)、終値 (Close)のみを使う 機械学習のライブラリとしてはscikit-learnを使う です。1については今日の終値が昨日の終値より安いか高いか正確に予測できたとしても、それで利益を出すのは難しそうだからです。ただし予測の難易度は上がります(70%の精度は夢のまた夢です)。2はデータの入手性によります。3はディープラーニング系のライブラリ(tensorflowなど)は使わないということです。これ
はじめに 先日、「サザエさんじゃんけん研究所」1様の「サザエさんじゃんけん白書」が話題になりました。 日曜夕方の代表的なアニメ「サザエさん」の次回予告で行われる「じゃんけん」を記録し、傾向と対策をまとめているという恐ろしい資料です。 1991年11月の開始から現在に至るまで、26年以上のじゃんけんの手が毎週分(執筆時点で1349回!)全て記録されているというから驚きです。2 さらに「サザエさんじゃんけん研究所」様では、傾向と対策を基にサザエさんと毎週じゃんけん勝負をしていて、1996年1月~2018年8月19日までの22年以上で、通算勝率70.4%を挙げているのです。3 前回、ニューラルネットワークを使ってサザエさんの手を予測する試み4を行ったところ、1996年1月~2018年8月12日の期間で通算勝率71.51%が得られました。 ある回の予測時には、それ以前の回の結果のみ使えるという(現
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く