- 0.0.1. Python で Covid-19 のコロプレス図を作成する
- 0.0.2. 服をセグメンテーションする cloth segmentation
- 0.0.3. AtCoder Beginner Contest 240 参戦記
- 0.0.4. エクセル帳票からのデータ取得は辛いよ その1~pandasによる抽出~
- 0.0.5. Tkinterで画像ビューワを作る 続き
- 0.0.6. 【pyenv+poetry】Pythonにてconda以外の仮想環境を作成しよう
- 0.0.7. 【Python】selfを分かりやすく説明する
- 0.0.8. オンラインでペアプロできるエディタを作った話
- 0.0.9. 【令和最新版】google-images-downloadで画像をダウンロードする
- 0.0.10. novoc studio 面白そう
- 0.0.11. Python リスト内包表記
- 0.0.12. MQTT通信トリガーにしてRaspberry Pi 3 ModelBでカメラ撮影をする
- 0.0.13. 「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#14
- 0.0.14. XAI(説明可能なAI)備忘録
- 0.0.15. PyCaretのLassoとLightGBMで特徴量選択
- 0.0.16. 【AtCoder解説】PythonでABC239のA,B,C,D,E問題を制する!
- 0.0.17. 『ソフィーのアトリエ』の調合をグラフ理論で考察してみる
- 0.0.18. python ルーティング まとめ
- 1. 環境
- 2. ルーティングについて
- 3. 事前準備
Python で Covid-19 のコロプレス図を作成する
# はじめに
簡単なコロプレス図を作りたいと思ったときに、いろいろと調べたので備忘録代わりに記録しておく。コロプレス図のカラーバーをつけるのに少し工夫が必要だった。もしもっと簡単にできる方法をご存じの方が居ましたら是非コメント下さい。以下、参考サイト。– cartopy の使い方
– [cartopy official document](https://scitools.org.uk/cartopy/docs/latest/index.html)
– [Cartopyで地理データを可視化する1](https://metpost.hatenablog.com/entry/2015/11/05/180006)
– コロプレス図の作成方法について
– [14.6. Manipulating geospatial data with Cartopy](https://ipython-books.github.io/146-manipulating-geospatial-data-with-cartopy/)
– カラーバーの作成方法について
– [matplotlibでカラーバー
服をセグメンテーションする cloth segmentation
#画像の中の服の領域だけを検出・分離する方法です
![]()
#衣服用のアプリケーションが作りたい
ファッションEC、試着アプリなど、服のセグメンテーションを行うことで、さまざまなアプリケーションが作れます。#機械学習で服の領域を検出
セマンティック・セグメンテーションを用いれば、自動で服の領域を検出できます。
以下のモデルを用いて、Pythonで手軽に実行できます。
https://github.com/ternaus/cloths_segmentation
また、
AtCoder Beginner Contest 240 参戦記
# AtCoder Beginner Contest 240 参戦記
## [ABC240A – Edge Checker](https://atcoder.jp/contests/abc240/tasks/abc240_a)
4分で突破. 書くだけ.
“`python
a, b = map(int, input().split())if (a + 1 == b) or (a == 1 and b == 10):
print(‘Yes’)
else:
print(‘No’)
“`## [ABC240B – Count Distinct Integers](https://atcoder.jp/contests/abc240/tasks/abc240_b)
1分半で突破. 書くだけ. というか、種類数を数える問題何度目だ. 頻出にもほどがある.
“`python
N, *a = map(int, open(0).read().split())print(len(set(a)))
“`## [ABC240C – Jumping Takaha
エクセル帳票からのデータ取得は辛いよ その1~pandasによる抽出~
# はじめに
pythonによるエクセル帳票からのデータ抽出について書いていこうと思います。
何番煎じだ!って感じですが、日々苦しんでいることについて、これからエクセル帳票からデータを抜かなければいけない人たちへ、少しでも何か残せられれば幸いです。
「自分だったらこう書いてもらえたらわかりやすい」という事を念頭に、初学者向けになるべく丁寧に記事を書いていこうと思います。## 自己紹介
とあるメーカーでデータサイエンス職として働いています。データ分析に必要なデータの準備工程を担当することが多いです。
ちなみにこの職について2年、python歴3年の若輩者です。
もし見ていただけた熟練者の方がいたら、「こんな風に書いたらもっとスマートだぜ!」というのがあれば教えてください。## この記事の対象者
皆さんの貴重な時間を奪うのも申し訳ないので、予め宣言しておきます。
- 対象者
- これからエクセルからデータ抽出したい人。
- 非対象者
- エクセルからのデータ抽出に辟易している人。(たぶんイライラを思い出させ
Tkinterで画像ビューワを作る 続き
前回作成した画像ビューワをもうちょっと改善していきます
今回は方向キーで次の画像を表示するようにします
この機能を実現するためには
・キーイベントを取得する
・フォルダ内のファイル一覧を取得する
が出来ればとりあえず動きそうですでは早速力尽くでコーディングしていきます
キー入力の取得は以下の一文でとれます。
何かキーが押されたときにkey_funcが呼ばれます“`python
self.root.bind(““, self.key_func)
“`フォルダ内のファイル一覧取得は調べるといくつか方法があります
今回はos.listdirで取得して拡張子をos.path.splitext()で調べることにします
フォルダ内の画像ファイルを配列に格納して今表示されている画像の配列添え字を
別に保持しておき、キーを押したときにその番号を足したり引いたりして次に表示するファイルを決定します“`python
def __init__(self):
self.file_no = 0 # 表示している画像の配列添え字
self
【pyenv+poetry】Pythonにてconda以外の仮想環境を作成しよう
# はじめに
今まで私はAnaconda/minicondaで仮想環境を作成してきましたが、企業利用においては昨年からどちらも有償化してしまいました。バリバリPythonを書くのでその費用払ってでもライセンス契約可能ならそれでもいいですが、それ以外の場合や今個人でAnacondaを使用しててもいずれ会社でいきなりPythonで解析やれ!ってなった場合にAnaconda使えない・・とならないように今回はpyenv+poetryでの環境構築を書いていきます。
* 動作環境
・OS : Windows10 pro
・pyenv 2.2.4
・poetry 1.1.13# 1.導入
## 1-1.pyenv-winの導入
pyenv自体はwindowsに対応してないため、pyenv-winの導入が必要になる。[公式](https://github.com/pyenv-win/pyenv-win)ではpipでのインストールも書かれているが、後でややこしくなる(うまくバージョンが切り替えられない等)あるので以下ではpip以外の2方法をお勧めしておく。
### 1-1-1.git
【Python】selfを分かりやすく説明する
# selfとは?そして、インスタンス変数とは?
“`sample.py
def __init__(self, word):
self.word = word
“`selfは、**インスタンス自身**を指します
“`sample.py
self.word = word # self.インスタンス変数 = 値
“`そして、上記のコードでは**インスタンス自身(self)の“`word“`という変数へ、引数として与えられた“`word“`という変数を代入**しています。
## インスタンス変数について
インスタンス変数の特徴としては、
| | 特徴 |
|—|—|
| 1 | 生成されたインスタンスごとに別の値を持つ変数 |
| 2 | クラス内の全メソッドで使用できる |
| 3 | クラスの外からインスタンス変数へアクセスしたい場合、インスタンスを作成しなければならない |以上のものがあります。詳しく記載します。
以下のコードは、“`Dog“`クラスから、犬種のインスタンスを作成してます
“`sample.py
clas
オンラインでペアプロできるエディタを作った話
おはようございます、Tlapesiumです。
今回の記事では自身が制作した
– オンラインで共同編集可能
– 環境構築無しで即座に実行可能
– チャット機能付きなテキストエディタについて紹介したいと思います。
もしよろしければ、この記事を LGTM 、[GitHubリポジトリ](https://github.com/Tlapesium/CodingChat) の Star よろしくお願いします!
# 制作物
以下のリンクからアクセス可能です!
[CodingChat](http://www.codingchat.net/)
のリポジトリ)だったりgoogle_images_download([pypi](https://pypi.org/project/google_images_download/)上の表記)だったりと表記が安定しないのが残念なところだが、それ以上に残念がことがある。Google画像検索の仕様が変わってから更新されていないため**現時点ではこれで画像をダウンロードすることができない**のだ。# gitを使ってパッチ版をインストールする
現在のGoogle画像検索に対応したバージョンが存在するのだが、こちらはpipでインストールすることができない。
多くのサイトで紹介されているが
novoc studio 面白そう
https://edu.watch.impress.co.jp/docs/news/1389352.html
ということで、面白そうだったのでサインアップしてみました。>novoc studioでは、Web上のプログラミング環境上で、マルチプレイのゲームをプレイするPythonプログラムを作って、実行できる。Pythonの基本を理解していれば、プログラミング初学者でもチュートリアルに沿ってすぐにプログラミングゲームに参加できる。また、スキルの高いユーザーは、コンテストのような感覚で手軽にプログラミングスキルを競い合うことができる。
https://blockly.games/
や
のような、プログラミング初学者向けかと思ってましたが、結構骨太。
チュートリアルに従って
– 止まらずに1,000ステップ走り続けましょう
– 障害物にぶつからずに1,000ステップ走り続けましょう
– ハンターに捕まらないように5,000ステップ逃げ続けましょうは運よくクリアできましたが、実戦を考えるとなかなか難しい。
– フィールド外に出
Python リスト内包表記
今年の目標でPythonを学び、案件獲得を挙げているので、そのための学習をおこなっているので、コードベースになるが経過を残していこうと思う。
## リスト内包表記
今回は、リスト内包表記を載せようと思います。以下のように計算式とfor句を用いて記述します。
“`python
variable = [計算式 for 要素 in イテレータ if 条件式]
“`使用例
“`python
list_a = (1, 2, 3, ‘a’, 4, ‘b’)
list_b = [x*2 for x in list_a if type(x) == int]
list_c = [x for x in range(100) if x % 7 == 0]
“`また関数を用いて記述していくことも可能です。
“`python
def demo_func(n):
for x in range(2, n):
if n % x == 0:
return True
return Falselist_a = [demo_func(x
MQTT通信トリガーにしてRaspberry Pi 3 ModelBでカメラ撮影をする
## 目的
[M5StickCを使った玄関の鍵かけ忘れ防止システム(運用編)](https://qiita.com/marumen/items/5e435dc85e2b5e639d73) で作ったシステムに監視カメラ的な要素を追加するため、M5StickCからのMQTT通信をトリガーにラズパイでカメラ撮影ができる仕組みを構築する## 環境
全体像
詳細
– Raspberry Pi 3 ModelB
– カメラモジュール:Raspberry Pi Camera Module V2(https://www.amazon.co.jp/Raspberry-Pi-Camera-%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC
「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#14
【出典】[「新・明解Pythonで学ぶアルゴリズムとデータ構造」](https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0-%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%9F%B4%E7%94%B0%E6%9C%9B%E6%B4%8B/dp/4815603197/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1BG3JS7CKMZA0&keywords=Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%
XAI(説明可能なAI)備忘録
## 背景
AI活用の広がりに伴い、精度に加えて以下の**3つの価値**が求められるようになりました。
– 公平性(Fairness)
– **説明責任**(Accountability)
– 透明性(Transparency)#### 公平性(Fairness)
> 利用者の属性の違いによらず、AIが公平なサービスを提供できるよう、不公平を生じるバイアスを排除すること。#### **説明責任**(Accountability)
> 誤りの原因がどこにあり、その責任は誰・何にあるのかを明確にすること。#### 透明性(Transparency)
> 利用者が理解できる形で、 AIシステムの情報を提示できること。## XAIとは
> 内部に複雑な構造を持つAIについて、予測の判断理由を人間が理解できるように説明する技術(または特性)を指しています。## 代表的な手法
– **大域的な説明**
– Born Again Trees
– Making Tree Ensembles Interpretable: A Bayesian Model Select
PyCaretのLassoとLightGBMで特徴量選択
# 概要
PyCaretのLassoとLightGBMで学習したモデルの重みを用いて、特徴量選択を実施した。
# 実装
実行環境は以下の通り
– Python 3.9.0
– PyCaret 2.3.0## 前準備
データは、pycaretに用意されているサンプルデータの`insuarance`を利用する。
[Build and deploy your first machine learning web app – PyCaret Official](https://pycaret.gitbook.io/docs/learn-pycaret/official-blog/build-and-deploy-your-first-machine-learning-web-app#business-problem)
このデータは、保険会社が顧客の保険料を決める際に、貸し倒れしないような保険料を設定すべく、患者がWebに入力したたフォームの内容から、将来の疾患や起こりうる健康リスクを予測し、患者ごとの適切な料金を設定するというタスクを解くために用意されたもの。
データの中
【AtCoder解説】PythonでABC239のA,B,C,D,E問題を制する!
**ABC239**の**A,B,C,D,E問題**を、**Python3**でなるべく丁寧に解説していきます。
ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。
– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増えるご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!
**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM**
『ソフィーのアトリエ』の調合をグラフ理論で考察してみる
#はじめに
アトリエシリーズとは、コーエーテクモゲームスのガストブランド(旧・株式会社ガスト)から発売されている「錬金術」を題材としたRPGシリーズです。
ほとんどの作品のタイトルが『<主人公の名前>のアトリエ』で構成されているため、アトリエシリーズと呼ばれています。今回はこのアトリエシリーズのうち、近日(2022/2/24・25)に発売する『[ソフィーのアトリエ2](https://www.gamecity.ne.jp/atelier/sophie2/)』に乗っかって、その時系列上の前作にあたる『[ソフィーのアトリエ](https://social.gust.co.jp/sophie/)』の調合システムを、グラフ理論を使って考察してみます。
#アトリエシリーズにおける「錬金術」
錬金術とは科学の元となった試みであり、卑金属から貴金属(特に金)を精錬することを目標としている……(by wikipedia)
これではないです。とはいえこれに影響を受けて作られたゲームであることは間違いないため、錬金術における終着点であった「賢者の石」、すなわち卑金属を貴金属へ変え、人間を
python ルーティング まとめ
環境
・windows10
・python3.8.2
・docker version 20.10.12
・linux(debian11)
・flaskフレームワークルーティングについて
ユーザーからのリクエストに対して、webサーバーがどんな動きをするのかというのをルーティングと言います。
事前準備
作業を始める前に、python仮想環境を実行して、開発サーバーをデバックモードで起動しておく必要があります。
まずはpythonプロジェクトを作成したディレクトリまで移動して、そこで“`source .venv/bin/activate“`で仮想環境を実行します。(私の場合はroot/Flask-Project内の階層に作成しましたので、ここに移動します。)
“`terminal
$ cd root/python-project
$ source .venv/bin/activate
“`仮想環境が立ち上がったら、開発用サーバーをデバックモードで起動します。
“`terminal
$ export FLASK_
pythonのdebパッケージを作る
覚書です
# 手順
1. requirements.txtを作る
1. requirementsで依存関係のwhlファイルを取得する
1. setup.pyを作る
1. whlを作成する
1. debを作るためのファイルを用意する
1. debパッケージを作る## 1.requirements.txtを作る
– 依存関係にあるpipパッケージを記載する
– 要求するバージョンも記載する“`text:requirements.txt
coloredlogs>=9.0
websocket-client==1.1.0
“`## 2.requirementsで依存関係のwhlファイルを取得する
– 以下のコマンドで依存関係のwhlファイルを取得する
– `wheelhose/`配下にダウンロードされる“`bash
python3 -m pip wheel -r requirements.txt -w wheelhouse –no-build-isolation
“`## 3.setup.pyを作る
– whlを作るための`setup.py`を作る
– `pac
AIによる自動応答機能付き「名言Bot」
# はじめに
AIによる自動応答機能付きの名言Botを作ってみました。
設定した時刻での名言の自動配信とお気に入り登録、お気に入りに登録した名言の通知機能もあります。**■AIによる自動応答**

**■名言の自動配信とお気に入り登録**

**■お気に入りに登録した名言の通知**
