- 1. Python2から3に変更されなかった
- 2. OpenCVで勉強中にスマホをいじったら警告するアプリをつくった
- 3. 気象データをもとに「天気図っぽい前線」を機械学習で描いてみる(3)
- 4. np.newaxisで次元を上げてブロードキャスト演算
- 5. 言語処理100本ノック-20(pandas使用):JSONデータの読み込み
- 6. いらすとやの画像をドット絵にしたった。(part2)
- 7. PythonのPipelineパッケージ比較:Airflow, Luigi, Gokart, Metaflow, Kedro, PipelineX
- 8. 「世界で闘うプログラミング力を鍛える本」Pythonコード解答例 – 2.8 ループの検出
- 9. 【特許分析】Pythonでお金を掛けずにパテントマップを作ってみた
- 10. webスクレイピング(試作品)
- 11. Pythonでwebエンジニアになるために必要なスキルを探ってみた
- 12. データサイエンティスト育成講座 Chapter4 1日目
- 13. くまンティック・セグメンテーション2
- 14. 母比率の差の95%信頼区間をPythonで求めたいだけ
- 15. 画像に様々な形のモザイクをかける(Python, OpenCV)
- 16. SQLAlchemyの使い方(テーブル定義)
- 17. pythonで暴落直後の上海総合株価指数を予測する
- 18. 新しい描画ライブラリ「HiPlot」が結構いい感じだった話
- 19. [Python3 入門 22日目]11章 並行処理とネットワーク(11.1〜11.3)
- 20. 節分だから鬼で遊ぶ
Python2から3に変更されなかった
# python2から3に変更されない…
“`bash
$ python –version
Python 2.7.15$ brew install python3
$ python3 –version
-bash: python3: command not found
“`
あれ、python3がインストールされてない…# 解決?
“`bash
# python3をインストール
$ brew install python3
Ignoring bindex-0.5.0 because its extensions are not built. Try: gem pristine bindex –version 0.5.0
Ignoring bootsnap-1.3.1 because its extensions are not built. Try: gem pristine bootsnap –version 1.3.1
Ignoring byebug-10.0.2 because its extensions are not built. Tr
OpenCVで勉強中にスマホをいじったら警告するアプリをつくった
# はじめに
PythonとOpenCVの勉強を始めました.
その際,Qiitaの情報にはとてもお世話になったので勉強したことの整理も兼ねて投稿します.
投稿するのも初めてなので拙いところがあると思いますが,これを読んだ方の参考になれば幸いです.# できたもの
![k2d6r-vmxjj.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570879/c1a8d678-6fee-1f7b-2f39-3501510fc817.gif)机の上に置いてあるスマホをテンプレートマッチングにより認識して,中央付近の明度から電源が入っているかを判定し,一定時間電源がついていたら警告するアプリです.
# 使ったもの
– WEBカメラ UCAM-C520FEBK
– Python 3.7.5
– pip 20.0.1
– numpy 1.18.1
– opencv-python 4.1.2.30
– PyInstaller 3.6各モジュールはpipを用いて簡単にインストールできます.
気象データをもとに「天気図っぽい前線」を機械学習で描いてみる(3)
# 気象データをもとに「天気図っぽい前線」を機械学習で描いてみる(3)
前回、[気象データをもとに「天気図っぽい前線」を機械学習で描いてみる(2)](https://qiita.com/m-taque/items/988b08185097dca5f5b5 “気象データをもとに「天気図っぽい前線」を機械学習で描いてみる (2)”)として、GPV形式の数値データを可視化するまでの話をまとめました。
今回は、教師データとして前線データを抽出するまでの話を纏めます。## 学習戦略
### 前線の位置に前線画像を生成させる前回可視化した、複数種類の気象データ画像を認識して、速報天気図の前線と同じ場所に、前線画像を生成することを目指します。
具体的には、ある時刻の気象データ画像(6種類 各256×256サイズ)を入力とし、出力として256×256サイズの画像を生成させるニューラルネットワークを作ります。
この出力画像は、速報天気図から作った前線画像を教師画像とします。
教師画像は、速報天気図から、寒冷前線要素を「青」、温暖前線と閉塞前線を「赤」、それ以外は「白」という3値に変換した
np.newaxisで次元を上げてブロードキャスト演算
3次元のnp.arrayのイメージがつかん、np.newaxisとは何ぞや、という疑問から自分なりの理解を書き留めた記事です。np.arrayのイメージやnp.newaxisの基本的なところを書いた前半の記事は[こちら](https://qiita.com/yoshi_san/items/4cbe3abb7d46c5252fdd)。
この記事では、np.newaxisの使いどころについて。具体的には、前半の記事で最初に述べた、2次元ベクトルを複数並べた2次元配列が2つあったときに両者に含まれるベクトル間の距離の二乗を総当たりで求める計算をやってみます。## STEP 3. ブロードキャスト
本題に入る前に、ブロードキャストについておさらい。形が違う配列同士の演算を忖度してやってくれるやつです。“`python
>>> x = np.array([1, 2]) # よこ2たて1のベクトル
>>> A = np.array([[1, 2],
[3, 4],
[5, 6]]) # よこ2たて3の行列
>>>
言語処理100本ノック-20(pandas使用):JSONデータの読み込み
[言語処理100本ノック 2015](http://www.cl.ecei.tohoku.ac.jp/nlp100/)[「第3章: 正規表現」](http://www.cl.ecei.tohoku.ac.jp/nlp100/#ch3)の[20本目「JSONデータの読み込み」](http://www.cl.ecei.tohoku.ac.jp/nlp100/#sec20)記録です。
1年以上前にやった内容の復習なのですが、ほとんど覚えていなかったです。正規表現は、必要な時に毎回ググりながらやっていたのですが、少なくても記事などにアウトプットしないと私には意味が小さいと痛感しました。
20本目は正規表現課題の準備としてJSONファイル読込で、非常に簡単です。`pandas`を使って読み込んでいますが、改めて`pandas`の便利さを実感します。# 参考リンク
|リンク|備考|
|:–|:–|
|[020.JSONデータの読み込み.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/03.%E6%AD%A3%E8%A6
いらすとやの画像をドット絵にしたった。(part2)
# Background
直接的なドット絵の改善についてではないですが、[いらすとやの画像をドット絵にしたった。(part1)](https://qiita.com/satsukiya/items/8a1753a0085e94d0f1bf)で周辺の画像がドットに変換しきれなかったので解決方法について説明します。![neko16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/288206/36fa2f4b-7afc-1d89-79ed-a55183546da1.png)
# Method
方法としては、元画像の幅高さサイズの2倍ある画像を用意します。イメージとしてはラップの上にサンドイッチを置くイメージです:hamburger:
“`Python
def wrapMat(height, width):
dst = np.zeros((height, width, 4), np.uint8)
dst[:] = tuple((0,255,0,128))
return dstif __
PythonのPipelineパッケージ比較:Airflow, Luigi, Gokart, Metaflow, Kedro, PipelineX
この記事では、Open-sourceのPipeline/Workflow開発用PythonパッケージのAirflow, Luigi, Gokart, Metaflow, Kedro, PipelineXを比較します。
この記事では、”Pipeline”、”Workflow”、”DAG”の単語はほぼ同じ意味で使用しています。
## 要約
– ?: 良い
– ??: より良い![Pipeline_Packages.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/323445/c5cbc5e6-1b8c-4d73-d9f6-75d9622ba608.png)
## Airflow
https://github.com/apache/airflow
2015年にAirbnb社からリリースされました。
Airflowは、Pythonコード(独立したPythonモジュール)でDAGを定義します。
(オプションとして、非公式の [dag-factory](https://github.com/a
「世界で闘うプログラミング力を鍛える本」Pythonコード解答例 – 2.8 ループの検出
「世界で闘うプログラミング力を鍛える本」Pythonコード解答例 – 2.8 ループの検出
###CHAP2. 連結リスト
1. [重複要素の削除](https://qiita.com/YusukeEngineer/items/93173df02de4ae72f1de)
2. [後ろからK番目を返す](https://qiita.com/YusukeEngineer/items/b9643dcdb76a32219df0)
3. [間の要素を削除](https://qiita.com/YusukeEngineer/items/6e7961201861475359a4)
4. [リストの分割](https://qiita.com/YusukeEngineer/items/030ad252bd779bd479bf)
5. [リストで表された2数の和](https://qiita.com/YusukeEngineer/items/3c7c0fa76ca77e41d0fd)
6. [回文](https://qiita.com/YusukeEngineer/items/9db977dfa8f6
【特許分析】Pythonでお金を掛けずにパテントマップを作ってみた
#はじめに
いっちょ特許分析でもやってみっかと思ったので、やってみることにしました。
具体的に特許分析というと、例えば下のようなプロットがあります。
![patentmap_search_bubblechart.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/203101/2c0c5dd7-4e0c-e95f-8126-e9846e792722.gif)
(図は[J-STOREマニュアル](https://jstore.jst.go.jp/manual.html)より引用)
縦軸が特許出願者を、横軸が特許が出た年を、円の大きさが特許の数を示しており、バブルチャートと呼ばれています。
世の中には有料でこのようなプロットを作ってくれるなにかが存在します。今回は、無料で使える特許データベースの[J-PlatPat](https://www.j-platpat.inpit.go.jp/)を使って特許文献を検索し、その結果をPythonで処理することでこんな感じのプロットを作っていきたいと思います。
#J-P
webスクレイピング(試作品)
#はじめに
今回は、pythonでスクレイピングを作成してみました。
キレイにcsvへ書き込みたかったのですが、技術不足でとりあえず書き込んだだけになってしまったので表のようにして見やすくできるようにしたいです。
手探り状態で作成していたので動きはするものの、変えた方がいい所などがあればコメント頂けると幸いです。
#環境
windows 10
python 3.8.0
__ライブラリ__
urllib.request #URLにアクセスするために必要。
csv #csvファイルを操作する際に必要。
BeautifulSoup #HTMLやXMLドキュメントを解析するために必要、スクレイピングに特化したモジュール。
datetime #日付の取得に必要。
※いつとってきたものなのかが、一目でわかりやすいと思ったので今回入れてみました。
– – –
##コード
“`scraping.py
import urllib.request
import csv
from bs4 import BeautifulSoup
import datetime#サイトのURL
url = “スクレイ
Pythonでwebエンジニアになるために必要なスキルを探ってみた
#はじめに
Pythonで転職サイトをスクレイピングして「必要なスキル」について簡単に調査してみました。
当方がエンジニアを目指しているので、実際に転職サイトではどういった要件が掲げられているのか気になったというのが事の発端です。アイデアや実装はスクレイピングを勉強したので、未経験者がWEBディレクターになる方法をデータドリブンで考察してみたの記事を思いっきり参考にさせて頂いてます。
間違い、細かいミスなどもじゃんじゃん指摘して下さい!
#必要スキル結論
結果だけちゃちゃっと見たい方へ– 共通
– チームでの開発・コミュニケーション能力
– Git・GitHub– フロントエンド
– html・css・javascript は必修
– vue・Reactのどちらかが出来ると良い、次いでAngular
– デザインスキル UI/UXの知見
データサイエンティスト育成講座 Chapter4 1日目
少し油断をすると一気に間が開いてしまう。
なんとか、通常運行に戻さなければ!ということで、Chapter4に突入です。
Chapter3の演習問題で頭を抱えてしまった部分があったため、時間がかかりました。※問題の答えに自信がもてない時に答え合わせが出来ないのは少々辛いであります。いい方法を知っている人は教えてくださいませ・・・
## 確率のお勉強
確率や集合に関する知識が問われるわけだが、正直全くと言って自信がない。
A ∩ B や A ∪ B
なんて、なんだったっけ。。って感じだった。Uみたいなやつが”または”だね。Unionと覚えればわかりそうだ。尤度とか全く覚えていないけれど。### 練習問題1
コインの確率を求める問題。
これ自体は、先に出て来ている内容とほぼほぼ同じなので特に問題なし“`
coin = np.array([0, 1])
random.seed(0)
tos_count = 1000
coin_result = random.choice(coin, tos_count)
print(“0が出る確率”, len(coin_result[coin
くまンティック・セグメンテーション2
深層学習(ディープラーニング)の手法のうち、画像の中から注目する部分を切り取るセマンティック・セグメンテーションについて勉強しています。今回は、クマの足跡を切り出してみたいと思います。[クマ…じゃなくて セマンティック・セグメンテーション](https://qiita.com/maskot1977/items/8646a3ee2bc5c21434a4)の続編です。
前回との大きな違いは、前回は「目的のクマさんは1画像あたり1匹だけ」と決まっていたのに対し、今回は「クマさんの足跡は1画像あたり3つ」になっています。
# クマの足跡画像を自動生成する
まず重要な注意事項として、作者は、本当のクマの足跡がどんなのか知りません。画像はイメージです。
“`python
import random
def draw_footprints(): # ランダムにクマの足跡画像を生成する
r = g = b = 250
im = Image.new(‘RGB’, (400, 400), (r, g, b))
draw = ImageDra
母比率の差の95%信頼区間をPythonで求めたいだけ
母比率の信頼区間ではなく、**母比率の差**の信頼区間。
# 母比率の差とは
ここでは詳しい説明は省略。
下記サイトがわかりやすい。[母比率の差の信頼区間](https://bellcurve.jp/statistics/course/18452.html)
# なぜ求めたいのか
業務で「カイ二乗検定」や「母比率の差の検定」を行うことがしばしば。
**有意差があるか**という結論に注目するのはもちろん大事だけども、それに着目しているだけだと、**効果量やバラツキ等が捉えづらい**。
もう少し直感的にわかるようにしよう!という流れ。母比率の信頼区間はライブラリで求められるようだけど、母比率の差の信頼区間はどうやらないみたい(1分調べ)。
[Pythonで母比率の95%信頼区間を区間推定し、妥当なサンプルサイズを決定する方法](https://tanuhack.com/estimate-pop-rate/)計算式も複雑ではないので、さくっと実装する。
# 計算式
“`math
(\hat{p_1} – \hat{p_2}) – z_\frac{\alpha}{2} \t
画像に様々な形のモザイクをかける(Python, OpenCV)
# 画像の好きな場所にモザイクをかける(Python, OpenCV)
## はじめに
[サーバーレスWebアプリ Mosaic](https://mosaic.w2or3w.com “Mosaic”)を開発して得た知見を振り返り定着させるための[ハンズオン記事](https://qiita.com/w2or3w/items/87b57dfdbcf218de91e2)セットとは別記事にしてますが、画像にモザイクをかける実装についてです。最初、検出できるのは顔だけだったのですが、[この記事](https://qiita.com/w2or3w/items/c7288e8ce62d061ff6d2)でも書きましたが、文言も検出できるようにしまして。
モザイク処理、顔だけの時は検出領域が長方形といいますか画像に対して並行だったのですが、文言の場合は検出領域が斜めってたりしてまして。長方形ではない、斜めってる領域に対して(多角形もイケるかと)モザイクをかけるという実装をしましたので、忘れないうちに備忘録として記事を書いておきます。
## やりたいこと
これがオリジナル画像。
![ph
SQLAlchemyの使い方(テーブル定義)
#はじめに
ここでは,SQLAlchemyを用いてテーブル定義を行うときの方法についてまとめる.
**以下,dialect(DBの種類)はmysqlとする.**
#Charset指定
` __table_args__ `の`mysql_charset`で指定することができる.
例えば,charsetをutf8mb4に指定したければ,“`python
class User(Base):
__table_args__=({“mysql_charset”: “utf8mb4”})
“`
とすればよい.
ちなみに,utf8と指定すると,以下のようにWarningが吐かれる.“`python
Warning: (3719, “‘utf8’ is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.”)
“`
pythonで暴落直後の上海総合株価指数を予測する
# はじめに。
新型コロナウイルスの影響で、上海総合株価指数が7%引きの大バーゲンセール。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409544/ce550a39-e595-0dfe-b72f-46cc6b6293a6.png)
ここまで無茶苦茶下がると政府がたぶんお金を入れてくるので、このあと短期的に多少戻りそうな気がしますよね。(外してたら…残念でした)
バーゲンセールを愛してやまない私の妻(中国人)が全力で買いを推奨しているので、ちょっとquantitativeに分析してみましょう。
知りたいのは、「大暴落した翌日~翌月の反動で儲かるかどうか」。# 定量モデルのフレームワーク
ということで、まずは日々のリターンをzscore化し、-2σ超えてる日だけを取り出します。“`math
t\in\{t~|~{\rm zscore}(r_t)\leq -2\},~{\rm zscore}(r_t)=\frac{r_t – \mu}{\sigma}
“`そして、その日の翌
新しい描画ライブラリ「HiPlot」が結構いい感じだった話
# はじめに
数日前、facebook researchからHiPlotという、
新しいデータ描画ライブラリが発表されました。https://github.com/facebookresearch/hiplot
gitのReadMeが簡素だったので、どうかな?と思ったのですが、
実際に使ってみると将来性を感じたので共有します。# 特徴
HiPlotはデータの相関やパターンを発見することに特化した描画ツールです。
よくわからないと思うので、次の動画を見てください。![titanic_hiplot2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131499/6733f53f-225d-d09b-244d-d5f49e75f614.gif)
このように、データを描画するだけでなく、
インタラクティブにデータの選択、フィルタリング、除外をすることができます。公式ドキュメントに動かせるサンプルがあるので触ってみてください。
[公式doc](https://facebookresearch
[Python3 入門 22日目]11章 並行処理とネットワーク(11.1〜11.3)
#11.1 並行処理
コンピュータで何かを待っているときは、以下の二つの理由である。
– I/Oバウンド:I/O処理待ち
– CPUバウンド:CPU待ち並行処理に関する用語。
– 同期的:葬式の行列のように順番に処理すること。
– 非動的:タスクが独立して処理されること。##11.1.1 キュー
– キューの要素は片方の端に追加され、反対側の端から取り出される。
##11.1.2 プロセス
“`py:dishes.py
import multiprocessing as mp
def washer(dishes, output):
for dish in dishes:
print(“Washing”,dish, “dish”)
output.put(dish)#get()はキューからアイテムを取り除きそれを返す。
#task_doneはget()の後に呼び出されると処理が完了した事をキューに伝える。
#join()はキューにある全てのアイテムが取り出されるまでブロックする。
def dryer(input):
節分だから鬼で遊ぶ
#はじめに
鬼が怖いので、スクリプトで撃退します。#やったこと
怖そうな鬼(下の画像)を無力化していきます。![setsubun_oni_kowai.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/537831/7bb07c3b-0a78-0473-5417-a5954d35db4a.png)
(出典: いらすとや「 https://www.irasutoya.com/2020/01/blog-post_891.html 」)怖そうな鬼ですね。
![grayscale.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/537831/b904ecaf-9a7d-bea3-1ace-b51b5bf83728.png)
まずはグレースケール化します。一層怖くなったかも。
#![otsu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0