プログラミング-Python
「Face Recognition」というPythonの顔認識ライブラリを使い、顔検出を行いました。 中身は「dlib」なので、顔検出の精度は「dlib」と変わりませんが、顔認識に用途を絞ってより使いやすく作られています。 Face Recognition — Face Recognition 1.4.0 docum…
前回紹介した「dlib」の顔検出のうち、CNN版で顔検出を行いました。 前回、dlibで顔検出を行いOpenCVよりも精度は向上しました。しかしながら、横顔の検出などには課題が残りました。 https://predora005.hatenablog.com/entry/2021/08/30/190000predora005.…
dlibで顔検出を行いました。dlibは機械学習を始め様々な機能が含まれたライブラリです。 dlib C++ Library 検出精度はOpenCVよりも若干良く、横向きの顔もある程度検出できています。 [1] dlibのインストール [2] ソースコード [3] 顔検出の結果 [3-1] OpenC…
OpenCVはインストールも簡単で、ひとまず顔検出を試すにはもってこいです。 正面以外の検出精度は微妙ですが、正面の顔を検出するなら十分です。短時間かつ低精度で構わないの場面で用いるのが良いでしょう。 [1] OpenCVのインストール [2] ソースコード [3]…
「ImportError: libGL.so.1: cannot open shared object file: No such file or directory」が出たときの対応策です。 環境によって対応策は異なります。紹介するのはAmazon Linux2の対応策です。 環境 Amazon Linux2 Python 3.7 事象発生時の状況 import cv…
以前に「pandas-datareader」と「mplfinance」を用いて、テクニカル分析チャートを作成しました。その際に「MACD」や「RSI」などのテクニカル分析指標を算出しました。 predora005.hatenablog.com 今回は、これらの指標から売買のタイミングを計算します。 1…
pythonのプログラムからS3を操作する手順をまとめました。ファイルのアップロード/ダウンロードなど、基本的な手順を書いています。 [1] 前提条件 [2] 準備 [2-1] boto3のインストール [2-2] EC2にIAMロールを付与する [3] Boto3を使った操作の概略 [4] Boto…
AutoGluonの「物体検出」のクイックスタートについて紹介・解説します。YOLOv3モデルを使って画像からバイクを検出するという内容です。 Object Detection - Quick Start — AutoGluon Documentation 0.2.0 documentation 表形式データや画像認識については別…
AutoGluonの「画像認識」のクイックスタートについて紹介・解説します。 各画像に描かれた衣類のカテゴリーを分類するという内容です。カテゴリはBabyPants, BabyShirt, womencasualshoes, womenchiffontopの4種類です。 Image Prediction - Quick Start — A…
「AutoGluon」の使い方を、公式のクイックスタートを解説する形で紹介します。 AutoGluonは、AutoML(Auto Machine Learning)を実現するライブラリです。特徴量の設計など機械学習で大変な部分を自動化してくれます。 AutoGluonは数あるAutoMLライブラリの一…
AWS LambdaでPillowを使おうと思ったら次のエラーが表示されました。 [ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'PIL' Traceback (most recent call last): Lambdaのデフォルト環境にはPillowが入っ…
AWS公式のハンズオン「AWS で基本的なウェブアプリケーションを構築する」を見て、簡単なウェブアプリケーションを構築しました。 aws.amazon.com 構築方法はハンズオンを見れば、ほとんど分かります。ところどころハンズオン通りに行かないところがあったの…
API Gatewayのチュートリアルの中に「Lambda と DynamoDB を使用した CRUD API の構築」があったのでやってみました。HTTP APIを使用するチュートリアルです。 docs.aws.amazon.com [1] DynamoDBテーブルの作成 [2] Lambda関数の作成 [3] HTTP APIを作成 [4]…
「AWS Lambda」はAWSのサーバーレスコンピューティングサービスです。 定期的に実行する処理や、イベントで起動する処理を作りたいと思い、使ってみることにしました。例えば、1日に1回株価のチャート分析をしたり、Webアプリからの入力があったらデータベー…
Pythonで株価を取得してローソク足チャートを作ったところ、驚くほど簡単に書けました。「pandas-datareader」と「mplfinance」を使用しましたが、ソースコードの行数は60行でした。以下のようなグラフが簡単に作れます。 [1] 株価の取得 [2] ローソク足チャ…
<pandas-datareaderでTOPIX500銘柄の株価上昇率を算出>*1 前回はpandas-datareaderで米国株の株価を取得しました。 predora005.hatenablog.com 今回は、東証一部上場銘柄の株価を取得し、業種ごとの株価変動を可視化しました。 [1] 東証上場銘柄を取得する [1-1] JPX(日本取引所グループ)から取得 [1-2] CSVに変</pandas-datareaderでtopix500銘柄の株価上昇率を算出>…
<pandas-datareaderで米国株の株価取得>*1 「pandas-datareader」で株価を取得します。以前、日本株の株価をスクレイピングで取得しましたが、「pandas-datareader」の方がより簡単に取得できました。 バンガード S&P500 ETF (VOO)の株価を取得し、グラフ表示するまでの手順を紹介します。 [1] イ</pandas-datareaderで米国株の株価取得>…
*1 「政府統計の総合窓口(e-Stat)」の統計データは、APIで取得可能です。ユーザ登録(無料)を行えば、誰でもAPIを利用できます。 Pythonを使って、API経由で人口動態のデータを取得し、matplotlibでグラフ表示しました。 [1] ユーザ登録 [2] アプリケーション…
AWSのArmベースインスタンスのt4g.micro、2021年3月31日まで無料トライアル中です。無料で使えるやったと思っていたら思わぬところで引っかかりました。 [0] 前提条件 [1] numpyのインストールに失敗する [2] numpyのインストールに時間がかかる [3] pandas…
前回の続きです。前回は単一銘柄の株価をスクレイピングで取得しmatplotlibで可視化しました。今回は複数銘柄の株価を取得し比較していきます。 predora005.hatenablog.com [1] 複数銘柄の株価取得 [2] 可視化 [2-1] 2020年以降のデータを抽出 [2-2] 株価の…
過去数年分の株価をスクレイピングで取得して可視化する手順を紹介します。最終的に以下のようなグラフを作成します。 各銘柄の時価総額や決算情報を取得する手順や、ライブラリ(pandas-datareader)を用いて株価を取得する手順も別の記事にまとめています。 …
*1 前回の続きです。前回は、複数銘柄の決算情報と財務情報をスクレイピングで取得しました。今回は前回取得した情報を可視化します。 predora005.hatenablog.com [1] 基本的な指標の可視化 [1-1] matplotlibをインストール [1-2] PERの可視化 [1-3] PSRとPB…
*1 前回の続きです。前回は複数銘柄のPERや配当利回り等をスクレイピングで取得しました。今回は決算情報をスクレイピングで取得します。 predora005.hatenablog.com [1] 取得する情報 [1-1] 決算情報と財務情報 [1-2] HTMLの中身 [2] スクレイピング [2-1] …
*1 前回の続きです。前回は「みんなの株式」から、単一銘柄のPERや配当利回りをスクレイピングで取得しました。今回は複数銘柄の情報を統合してみます。 predora005.hatenablog.com [1] DataFrameにまとめる [1-1] pandasのインストール [1-2] DataFrameの作…
*1 本記事では、日本株の基礎指標をスクレイピングで取得する手順を紹介しています。また、スクレイピング先のサイトがスクレイピングを禁止していないか確認する方法にも触れています。 [1] きっかけ [2] 時価総額やPERなどの指標を取得 [3] スクレピング可…
※ 2020/08/16にQrunchで書いた記事を移行しました。 気象庁の数値予報データをPythonで扱いました。 pygribというライブラリでデータを読み込み、数値予報データの中身を確認する方法を紹介します。 [1] 数値予報GPVデータ [1-1] 数値予報とは [1-2] 数値予…
<pygribのインストール方法:Amazon Linux2>*1 ※ 2020/06/09にQrunchで書いた記事を移行しました。 Amazon Linux2で、pygribのインストールに、かなり手間取りました。 自分や他の方が、再び同じ所で躓かないように、備忘録として解決法をまとめました。 何が起きるのか 色々インストールすることにな</pygribのインストール方法:amazon>…
※ 2020/05/20にQrunchで書いた記事を移行しました。 matplotlibの文字化け対策は多くの情報がありますが、Amazon Linux2向けの情報はありませんでした。他のOSと基本的な対策方針は同様です。日本語フォントをインストールし、キャッシュを削除します。 対策…
<xgboostでグリッドサーチ(GridSearchCV)>*1 ※ 2020/04/09にQrunchで書いた記事を移行しました。 scikit-learnのGridSearchCVを利用して、グリッドサーチを行いました。 xgboostにはscikit-learnのWrapperが用意されているため、scikit-learnを使ったことがある人であれば、違和感なく使うことが出来</xgboostでグリッドサーチ(gridsearchcv)>…
<pandasで複数行の列を持つDataFrameを作成する方法>*1 ※ 2020/04/04にQrunchで書いた記事を移行しました。 列が複数行となっているDataFrameを作成する方法の覚書です。 結論は「pd.MultiIndexを使う」です。 例えば、次のようなDataFrameを作成したいとします。 # One Two Three # Four Five Six # 0 1.11 2.</pandasで複数行の列を持つdataframeを作成する方法>…