タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

pythonとPythonとstatisticsに関するteddy-gのブックマーク (24)

  • (Python編) 時系列データをサクッとSTLでトレンド・季節性に分解

    幸か不幸か、ビジネス系のデータの多くは時系列データです。売上データもホームーページのアクセスログもセンサーデータも時系列データです。 時系列データを手にしたとき、どのようなデータなのか見てみたい、ということは多々あります。 多くの場合、折れ線グラフを描き傾向を掴む、ということをやります。 折れ線グラフを眺めると、トレンド(上昇傾向や下降傾向)や季節性などが見て取れるケースがあります。 そこで、サクッとトレンドや季節性などを掴む手法がSTL分解(Seasonal Decomposition Of Time Series By Loess)です。 STL分解(Seasonal Decomposition Of Time Series By Loess)を実施することで、元データをトレンド、季節性、残差に分解することができます。 元データ = トレンド + 季節性 + 残差 STL分解(Seas

    (Python編) 時系列データをサクッとSTLでトレンド・季節性に分解
    teddy-g
    teddy-g 2023/06/20
    STL分解すれば時系列のトレンドをざっくり捉えることができる。ビジネスデータの場合、Seasonal Factorは12ヶ月と思っておけば大体OK。
  • Cyberpunk Style with Matplotlib

    teddy-g
    teddy-g 2020/10/21
    Matplotlibを使って黒背景・ネオン効果ありのクールなグラフを作る方法。小ネタ。
  • Bubble map with Python and Basemap

    teddy-g
    teddy-g 2020/10/08
    とにかくBasemapのことは忘れるんだ!MapBoxを思い出せ!
  • Basemapをインストールしようとしたらつまづいたので忘備録 - Qiita

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

    Basemapをインストールしようとしたらつまづいたので忘備録 - Qiita
    teddy-g
    teddy-g 2020/10/08
    地図可視化ではBasemapは諦めてMapBoxでやりなはれ、と将来の自分に警告を送るべく残しておく。
  • Pythonで地名から住所と座標を割り出すジオコーディングを試してみる

    2020年新年最初の投稿です 色々とPython製のライブラリについて調べていたら、仕事でも使えそうなライブラリを見つけたので、今回はそれを試してみます。 地名から座標を割り出す今回はジオコーディングの一種でもある地名や住所から座標を割り出してくれるPython Geocoderというのを使っていきます。Geocoderというものは、多言語にもあるライブラリだそうです。 Geocoderの特徴は、複数のマップサービスのAPIを統一されたスキーマや文法などで代わりに呼び出してくれます。 約30個近くのマップサービスに対応しており、GeocoderからGoogleMap、OpenStreetMapとあらゆるマップサービスからマップの情報を引き出してくれます。 ちなみにGoogleMapなどはAPI Keyが必要ですが、API Keyを設定していなくても、API Key不要なOpenStreet

    Pythonで地名から住所と座標を割り出すジオコーディングを試してみる
    teddy-g
    teddy-g 2020/10/08
    地名だけじゃなくランドマークとかMountain View, CAみたいな表現からもGeocodingできるスグレモノ。毎度取りに行かずGeocoding結果をcsvにして再利用すれば良い。Excelの地図可視化がヘボくなったのでこっち推奨。
  • Pandasでヒストグラムの作成や頻度を出力する方法

    ヒストグラムを作成するhist関数 基数の数を変更する (bins) ラベルを元にヒストグラムを作成する by 非数値データの頻度をヒストグラムで表示する まとめ 参考 Pandasにもヒストグラムを作成する関数hist()が存在します。この関数は値を表示するのではなく、ヒストグラムをmatplotlibを使ってプロットします。単純に頻度の数値データが欲しい場合はvalues_counts関数が便利な関数です。 記事では ヒストグラムの作成の仕方 value_counts関数を使った非数値データの頻度の出力方法 について解説します。 今回扱うサンプルデータはKaggleのチュートリアルからとってきたものです。 Titanic - Kaggle ここのtrain.csvという名前のファイルを使います。 (ダウンロードするためにはユーザー登録が必要ですが簡単なものなのでしておくことをお勧めし

    Pandasでヒストグラムの作成や頻度を出力する方法
    teddy-g
    teddy-g 2020/10/08
    Pandasでヒストグラムを書くときのポイントをいくつか。備忘まで。
  • 主成分分析を Python で理解する - Qiita

    主成分分析(principal component analysis)とは多変量解析手法のうち次元削減手法としてよく用いられる手法の一種で、相関のある多変数から、相関のない少数で全体のばらつきを最もよく表す変数を合成します。 主成分分析を行う便利なツールとして、Pythonで利用可能なScikit-learnなどがありますが、ここではScikit-learnでのPCAの使い方を概観したあと、Scikit-learnを使わずにpandasとnumpyだけでPCAをしてみることで、Pythonの勉強とPCAの勉強を同時に行いたいと思います。 プログラミングにおいて大事なのは「コピペ・タブ補完・ヒストリー機能を極力使うこと」、「一字一句を理解できないと先に進めないのではなく、まずは全部を理解できなくてもいいからゴールまで辿り着き、中身の理解はその後ですること」、「出来上がっているコードの中で、ど

    主成分分析を Python で理解する - Qiita
    teddy-g
    teddy-g 2020/10/03
    PCAをPythonでやるときの参考に。
  • Pandasでピボットテーブルを手軽に作成するpivot_table関数の使い方

    pivot_table関数 APIドキュメント params: returns: ピボットテーブルを作成する 複数要素を元に多層化させる データの個数をカウントする 列ごとと行ごとの合計を表示 複数の統計量を表示させる 関数を使って統計処理を指定する 欠損値を補完 欠損値があるデータも表示させる まとめ 参考 ピボットテーブルとはエクセルで有名な機能の1つで馴染みの方も多いかもしれません。 複雑なデータ構造を一目で分かりやすくする目的でよく使われるもので、クロス集計したものをまとめたものとなります。 2つの要素間の相関が分かりやすく現れるので使いこなせると重宝するでしょう。例えば男女間での科目ごとの平均点といったものをひと目で把握することができます。 Pandasでも手軽にピボットテーブルを作成できるpivot_table関数が実装されています。 そこで記事ではpivot_table関数

    Pandasでピボットテーブルを手軽に作成するpivot_table関数の使い方
    teddy-g
    teddy-g 2020/08/17
    PandasでEXCELのピボットと同じことができる。インデックスがmulti-indexになるのでその辺の値の操作は注意する必要がある。関数を柔軟に適用できるのでEXCELより凝った集計・統計を作りたいときは便利。
  • 階層的クラスタリングと、任意の数のクラスタへの分割 - Qiita

    2016年に作った資料を公開します。もう既にいろいろ古くなってる可能性が高いです。 (追記:新しい記事は 階層的クラスタリングとシルエット係数 をご覧ください。) 実習では教師なし学習の一種である階層的クラスタリングを行ないます。 * 階層的クラスタリング とは何か、知らない人は下記リンク参照↓ * 階層的クラスタリングとは * クラスタリング (クラスター分析) まずはサンプルデータの取得から # URL によるリソースへのアクセスを提供するライブラリをインポートする。 import urllib # ウェブ上のリソースを指定する url = 'https://raw.githubusercontent.com/maskot1977/ipython_notebook/master/toydata/iris.txt' # 指定したURLからリソースをダウンロードし、名前をつける。 url

    階層的クラスタリングと、任意の数のクラスタへの分割 - Qiita
    teddy-g
    teddy-g 2020/07/06
    Pythonで階層的クラスタリングをやる方法について。距離行列を作った後のステップも説明されていて丁寧。
  • scipyのlinkage関数の結果について | 分析ノート

    前回の記事の続きです。 参考:scipyで階層的クラスタリング 前回の記事で階層的クラスタリングを実行し可視化するところまで紹介しましたが、 今回は一歩戻ってlinkage関数の戻り値の中身を見てみます。 とりあえず、 linkage matrix をprintして結果を見てみましょう。 from sklearn.datasets import load_iris from scipy.cluster.hierarchy import linkage X = load_iris().data[::10, 2:4] print(X.shape) # (15, 2) # ユークリッド距離とウォード法を使用してクラスタリング z = linkage(X, metric='euclidean', method='ward') print(z.shape) # (14, 4) print(z) #

    teddy-g
    teddy-g 2020/07/06
    scipyのlinkage関数を使って得た結果は、ノード1、ノード2、距離、ノード数となっている。ポイントはこうしてペアが作られる度に新しいノードIDが追加されていること。
  • Random Forestで計算できる特徴量の重要度 - なにメモ

    (pixabay.comより) 1.背景とか Random Forest[1]とは、ランダムさがもつ利点を活用し、大量に作った決定木を効率よく学習させるという機械学習手法の一種です。SVMなどの既存の手法に比べて、特徴量の重要度が学習とともに計算できること、学習が早いこと、過学習が起きにくいこと(追記注釈1)などの利点が挙げられます。Kinectの姿勢推定に使われているらしいです。 最近、Random Forestをカジュアルに使う例が多く(特にうちの研究室)、一部パラメータやら出力やらがわからない人も多いと思います。使い方はTJOさんの資料[2]を読んでもらえれば理解できると思うし、詳細は波部先生の資料[3]をよんでもらえればわかると思います。 それで、いろいろな日語の資料をいくら読んでも、Random Forestがもつ特徴の1つである、特徴量の重要度の詳細に関してはほとんどノータッ

    Random Forestで計算できる特徴量の重要度 - なにメモ
    teddy-g
    teddy-g 2017/03/26
    Random Forestの「寄与率」についてのざっくりとした説明。出来上がった森の内容を直接見るのではなく、森を使ってvalidationする感じ。
  • 開発者がビッグデータ分析にPythonを使う時によくやる間違い | POSTD

    システムの構築、新しい技術の習得、PythonやDevOpsなどに情熱を注ぐソフトウェア開発者です。現在はチューリッヒを拠点とするビッグデータのスタートアップで働いており、データ分析およびデータ管理ソリューションのためのPython技術を磨いています。 1 はじめに Python は開発時間を短縮できるという点で一般的に評価の高い言語です。しかし、Pythonを使って効率よくデータ分析をするには、思わぬ落とし穴があります。動的かつオープンソースのシステムであるという特徴は、初めは開発を容易にしてくれますが、大規模システムの破綻の原因になり得ます。ライブラリが複雑で実行時間が遅く、データの完全性を考慮した設計になっていないので、開発時間の短縮どころか、すぐに時間を使い果たしてしまう可能性があるのです。 この記事ではPythonやビッグデータで作業をする時に、最も時間を無駄にしがちな事柄につ

    開発者がビッグデータ分析にPythonを使う時によくやる間違い | POSTD
    teddy-g
    teddy-g 2016/03/04
    Python使うとまだまだ楽できそうだなあ。
  • 【統計学】Q-Qプロットの仕組みをアニメーションで理解する。 - Qiita

    <tr> <th>185</th> <td>11</td> <td>B</td> <td>8600</td> <td>1K</td> <td>20.79</td> <td>北東</td> <td>0</td> </tr> <tr> <th>186</th> <td>8</td> <td>B</td> <td>7100</td> <td>1K</td> <td>22</td> <td>西</td> <td>17</td> </tr> <tr> <th>187</th> <td>9</td> <td>B</td> <td>18400</td> <td>1LDK</td> <td>54.68</td> <td>西</td> <td>10</td> </tr> このデータのダウンロードはこちらの統計学検定2級の公式教科書のページ中程にある「ダウンロード用データ」のリンクより行えます。ダウンロードし

    【統計学】Q-Qプロットの仕組みをアニメーションで理解する。 - Qiita
    teddy-g
    teddy-g 2016/03/01
    正規累積分布関数と計測データを比較してプロットしたのがQ-Qプロット。一緒だったらリニアになる。
  • matplotlib入門 - りんごがでている

    matplotlibはPythonでグラフを描画するときなどに使われる標準的なライブラリです。 画像ファイルを作るばかりでなく、簡単なアニメーションやインタラクティブなグラフを作ることも可能です。 実際の例はmatplotlibサイトのギャラリーで見ることができます。 matplotlib/gallery matplotlibは家のサイトやどこかのブログにあるチュートリアルや例を描画してみるぶんには簡単なのですが、 実際に自分でプロットするとなると基礎的な概念を理解していないと使いにくいライブラリでもあります。 また、基礎的な概念を理解していないとドキュメントを参照する際にもどこを見て、どう実用すればいいのかわかりません。 そこで、この記事ではそのあたりのmatplotlibの基礎を解説していきます。 なお、Python自体の知識はある程度仮定していますが、matplotlib自体の実装

    matplotlib入門 - りんごがでている
    teddy-g
    teddy-g 2016/02/27
    matplotlibでグラフ書くときのいろはから応用まで。まとまってて便利。
  • matplotlibで、グラフにテキストを入れる。 - ぱたへね

    グラフをに追加できるテキスト関連のまとめ。 サンプル画像 ソースファイル # -*- coding: utf-8 -*- from pylab import * I = arange(0, 2*pi+0.1, 0.01) figure() plot(I, sin(I), label='sin(x)') # labelは凡例で表示する文字列 title('Function y = sin(x)') # グラフのタイトル xlabel('x [rad]') # x軸のラベル ylabel('y = sin(x)') # y軸のラベル text(pi/2, 1, 'Max value', ha = 'center', va = 'bottom') # 指定した座標の上にテキストを追加 text(3*pi/2, -1, 'Min value', ha = 'center', va = 'top')

    matplotlibで、グラフにテキストを入れる。 - ぱたへね
    teddy-g
    teddy-g 2016/02/27
    matplotlibで文字入れるときのまとめ。
  • TruncatedSVD

    TruncatedSVD# class sklearn.decomposition.TruncatedSVD(n_components=2, *, algorithm='randomized', n_iter=5, n_oversamples=10, power_iteration_normalizer='auto', random_state=None, tol=0.0)[source]# Dimensionality reduction using truncated SVD (aka LSA). This transformer performs linear dimensionality reduction by means of truncated singular value decomposition (SVD). Contrary to PCA, this estimato

    teddy-g
    teddy-g 2016/02/27
    scikit-learnを使って特異値分解(SVD)。UとVはいいとして、Σはどうやって得るんだろ。
  • NMF

    NMF# class sklearn.decomposition.NMF(n_components='auto', *, init=None, solver='cd', beta_loss='frobenius', tol=0.0001, max_iter=200, random_state=None, alpha_W=0.0, alpha_H='same', l1_ratio=0.0, verbose=0, shuffle=False)[source]# Non-Negative Matrix Factorization (NMF). Find two non-negative matrices, i.e. matrices with all non-negative elements, (W, H) whose product approximates the non-negative

    teddy-g
    teddy-g 2016/02/27
    Scikit-LearnのNMFの使い方説明公式ページ。Initial処理にランダム以外にNNDSVDも指定できる。fit_transformで次元削減した行列が得られて、components_に削減したFeatureが格納される。便利。
  • NMF for Topic Modeling | Derek Greene's Home

    Topic modeling is a key tool for the discovery of hidden structure in large collections of documents. Probabilistic methods, such as Latent Dirichlet allocationTopic modeling is a key tool for the discovery of hidden structure in large collections of documents. Probabilistic methods, such as Latent Dirichlet allocation (LDA), are often employed by using tools such as the Java MALLET library. Howev

    NMF for Topic Modeling | Derek Greene's Home
    teddy-g
    teddy-g 2016/02/25
    Scikit LearnでBBCのニュース(テキスト)をNMFで分析する話、の解説記事のほう。ふむふむなるほど。
  • Jupyter Notebook Viewer

    teddy-g
    teddy-g 2016/02/25
    Scikit LearnでBBCのニュース(テキスト)をNMFで分析する話。この通りにipythonで走らせたらちゃんと結果が出てくる。なるほど。
  • 非負値行列因子分解 - sonoshouのまじめなブログ

    このエントリーは、集合知プログラミング第8章を参照にしています。 非負値行列因子分解は、データマイニングの手法の一つである。 データの重要な特徴を抽出するために用いられる。 非負値行列因子分解は、non-negative matrix factorizationの日語訳であり、 よくNMFと省略されるので、こちらの省略形も覚えておきたい。 非負値行列因子分解の基的なアイディア非負値行列因子分解は、その名の通り、行列を正の数(非負値)で因子分解することで、 特徴の抽出を行う。 因子分解とは、掛け合わせることで再び分解前の行列を構築できるような 2つの小さな行列を探し出すということである。 非負値行列因子分解の例以下、具体例を交えながら解説する。 文書の記事と記事内に存在する単語との対応付けがあるとき、 これらに対してNMFで特徴を抽出する。 対応付けの表は以下のようになっているとする。

    非負値行列因子分解 - sonoshouのまじめなブログ
    teddy-g
    teddy-g 2016/02/25
    Collective IntelligenceのNMFの説明そのままといってよい。備忘。