kaggleのデータファイルをコマンドでダウンロードする方法。
kaggleでコマンドを使ってデータファイルをダウンロードするまでのメモ。
直接ファイルをダウンロードしてもいいのですが、kaggleのAPIを使ってterminalからダウンロードしたのでやり方を置いておきます。
やり方はここに書いてあります。
まずはkaggleのコマンドが使えるようにをインストールします。
pip install kaggle
するとコマンドでkaggleが使えるようになります。
次にAPIを使えるようにするためにKaggleサイト内のアカウント設定で、Create New API Tokenを押して、kaggle.jsonファイルを発行します。
このJsonファイルを以下のフォルダー作成後に格納します。kaggleの前に"."があるので注意。
users/hogename/.kaggle
あとはデータファイルをダウンロードしたい先に移動して以下で実行です。
今回地震予測プロジェクトのデータフォルダーを落としてので、LANL Earthquake Predictionページ→DataのAPIをコピー。
以下でコマンド実行です。
kaggle competitions download -c LANL-Earthquake-Prediction
pythonのpandasで株価情報を取得してplotlyでローソクチャートを描く方法
pythonを使って株価取得からローソクチャート図作成までのメモ。
超簡単なのですぐにできるはず。
今回はplotlyを使って書いて見た。が、ドキュメントが古いらしく最新の説明が少なかったのであとでmatplotlibで書き直す予定。
plotlyのドキュメント→Python Candlestick Charts | plotly
まずは必要なライブラリーをインポート。
import pandas as pd from pandas import Series, DataFrame import numpy as np %matplotlib inline続きを読む
持ち株会入会資産シミュレーションのpythonコード
持ち株会入会資産シミュレーションを行ったpythonコードをつらつらと書いていきます。
本編こちらです↓
dorei-kaiho.hatenablog.com
必要なライブラリーをインポート。
import numpy as np import pandas as pd import random import matplotlib.pyplot as plt %matplotlib inline続きを読む
知らないと損する福利厚生。pythonで資産シミュレーションして見た結果。
今回は知らないと損する福利厚生、持ち株会について考えてみます。持ち株会に入るべきか否か迷ったことがあると言う人向けに、持ち株に入ることによる資産シミュレーションを行ってみました。
私自身も一時期自社の持ち株会に入るか迷った時期があって、持ち株入会のメリットデメリットを考えたことがありました。
目次
- 持ち株会とは?
- 持ち株入会要否を選ぶポイント
- 持ち株入会時の資産シミュレーション
- まとめ
(※pythonのコードは一番下に貼ってあるリンクからご覧ください。)
続きを読む中国のIT産業は日本よりかなり進んでいると感じた3つのサービス
中国のITサービスがすごいってネットで騒ぐ方々がここ数年多い気がしますが、実際何がすごいのか私自身イメージが湧いていませんでした。
しかし、つい先日仕事で(初めて)中国を訪れる機会があり、中国のITサービスを目の当たりしたので、その時の話を少ししようと思います。
とはいえ、サービスといっても地域によっては行き届いていなかったり、流行っていなかったりするそうなので、一概に'中国'とひとくくりにはできないかもしれません。
私が訪れたのは青島と呼ばれる日本からかなり近いところに位置する都市です。(チンタオビールで有名な都市です。)
続きを読むpythonのscikit-learnを用いた機械学習モデルの作り方
前置き
非エンジニアの方で、AIとか機械学習とかって実際何しているんだ?と疑問に思うことは一度はあったはずです。
あるいは駆け出しエンジニアの方で、python勉強し始めたけど予測モデルとかどのように作られていかイメージできないという方少なからずいるはずです。
本屋で売られている参考書はnumpyのランダム関数使って適当にデータを作っているものが多く生のデータを扱っているものが少ないように感じます。(中上級者向けならあるかもですが。)
そういった疑問解消に少しでも貢献できればと思い生のデータを渡されてから予測モデルを作るまでの一連の流れを整理して見たいと思います。
よって、本記事は非エンジニアと駆け出しエンジニアの方向けです。
非エンジニアの方はコードの上の日本語を追って見てください。コードが分からなくても理解できると思います。
駆け出しエンジニアの方はコードを追って見てください。大して難しいことはしていないのですぐに実践できる技術レベルだと思います。
pythonのnumpyを用いて時系列データの外れ値(outlier)を取り除く方法
時系列データで外れ値を除去する方法についての備忘録。
一般的にデータで外れ値を除去するには、例えば、データ全体の標準偏差を算出し、2σの外側に位置する値を取り除くというやり方があります。分かりやすい例があったので貼っておきます。
pandasのデータフレームから外れ値を含む行を取り除く - Qiita
しかし、時間軸によって値全体が変動する時系列データの場合、データ全体を一括に処理することができないことが多いでしょう。どういうことか、実際にデータを作って見て見ましょう。
続きを読むpandasのDataFrameで分位点で5つに分割しグループ分けするやり方。
分位点については以下で説明しています。
dorei-kaiho.hatenablog.com
今回は分位点による4分割ではなくあえて(深い意味はありません)5分割のグループ分けをしたいと思います。
まずはデータを用意します。
データフレームはインデックス名をa〜uまで振っています。
import numpy as np import pandas as pd from pandas import DataFrame data = np.random.randint(1,100,20) data
output > array([61, 29, 19, 15, 54, 8, 20, 27, 27, 85, 71, 37, 63, 84, 50, 46, 11, 20, 36, 93])
df= DataFrame(data ,index = ['a','b','c','d','e','f','h','i','j','k','l','m','n','o','p','q','r','s','t','u'] ,columns = ['values'] ) df.index.names = ['names'] df.head()
output >
ここからグループ分けの準備します。
続きを読むデータ分析によく出てくる四分位点とは何か。
おそらく名前から想像できる概念そのままです。
データの外れ値などを捉えたい時などに使う基本的な分類手法です。
一言で言うと、「データを値の大きさに沿って等しく四分割する時の境界となる値」のことです。
以下のような数字の羅列があったとしましょう。
import numpy as np import pandas as pd from pandas import DataFrame data = np.random.randint(1,100,20) data
output> array([ 8, 53, 72, 88, 39, 76, 52, 62, 83, 50, 85, 60, 92, 88, 35, 92, 41, 75, 57, 19])
小さい順に並べると
data = np.sort(data) data
output> array([ 8, 19, 35, 39, 41, 50, 52, 53, 57, 60, 62, 72, 75, 76, 83, 85, 88, 88, 92, 92])
データが並べられている時に3番目に大きい値は何か?5番目に大きい値は何か?などと調べて行くと、四分位点は以下のように求められます。(簡単なのでコード使わずに手で数えます。)
一番小さい値〜全体の25% [8, 19, 35, 39, 41]
四分位点→47.75 (41*0.25 + 50*0.75)
全体の25%〜全体の50% [50, 52, 53, 57, 60]
四分位点→61 (60*0.5 + 62*0.5)
全体の50%〜全体の75% [62, 72, 75, 76, 83]
四分位点→83.5 (83*0.75 + 85*0.25)
全体の75%〜一番大きい値 [85, 88, 88, 92, 92]
pandasのDataFrameでgroupbyを使って項目ごとの合計値を比較する方法。
購買の記録などを分析するときに購買されたモノ別のデータを比較したい時があると思います。
今回は、モノ別の売り上げ個数合計値を比較します。
まずはデータフレームを作成。 今回はフルーツの名前と、それぞれの売れた個数を表示させてます。
import pandas as pd import numpy as np df = pd.DataFrame(np.array([['apple','orange','grape','apple','peach','apple','peach','orange','grape','apple'], [11,23,12,13,47,23,53,36,70,93]]).T,columns = ['fruits','numbers'])続きを読む