- 1. spaCy/GiNZAを使って日本語文書のカテゴリ分類を学習する(失敗)
- 2. 1 Clickでエグゼクティブになるボタン
- 3. 日常生活にも役立つ!?コスパ最強の実験計画法をPythonで半自動化
- 4. 【画像で説明】KaggleのNoteBookでpickleをつかい回す
- 5. nfcpyとPaSoRiでNFCタグを読む
- 6. pythonで画像を集めてみただけ
- 7. PythonでMeasurement Protocolを使う
- 8. 【完全版】Jupyter Notebook ショートカット
- 9. 形態素解析ツールインストール(MeCab,Juman++,Janome,GiNZA)
- 10. Python手遊び(mordredでいっぱい計算)
- 11. この2019年12月に初学者がRかPythonを学ぶなら、どっち?
- 12. Qiita APIを使って「いいね」をLINEに通知するアプリをLambdaで構築した
- 13. AtCoder Beginner Contest 147 参戦記
- 14. pip install pyrebase しただけなのに… (UnicodeDecodeError)
- 15. Amazon SageMaker での機械学習モデルのメトリクス監視をさっと良くする方法
- 16. カメラキャリブレーションを視覚的に理解する
- 17. ガウス過程回帰 Numpy実装とGPy
- 18. windowsでvenv環境でVSCodeを使用方法
- 19. Djangoで継承したModelにおいて、継承元Modelにリレーションを貼りレコードを作成する方法
- 20. ElastAlertでカスタムルールを作成する
spaCy/GiNZAを使って日本語文書のカテゴリ分類を学習する(失敗)
この記事は[ユニークビジョン株式会社 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/uniquevision)の9日目の記事です。
# はじめに
本記事は[spaCyのCLIで文書のカテゴリ分類を学習する](https://qiita.com/kyamamoto9120/items/84d62c3b33fb77c03fbe)の続編です。
前回は英語の文書を扱いましたが、本記事では日本語文書を対象に、spaCyのCLIを用いてカテゴリ分類の学習を行います。# 前提条件
前回同様、実行環境にはgoogle ColabのGPUランタイムを使用しており、GPUはTesla P100です。
また、ライブラリのバージョンは* ginza 2.2.1
* spacy 2.2.1です。
GiNZAは以下の手順でインストールしておきます。“`console
$ pip install “https://github.com/megagonlabs/ginza/releases/download/latest
1 Clickでエグゼクティブになるボタン
迫る年の瀬、寒いのは冬のせいか、懐のせいか、・・・
なにかと灰色の心持ちになるこの季節、ほのかなマッチにも似たアプリを作成しました。1 Clickで上場企業の役員になれるアプリです!その名も「エグゼクティブ・ボタン」。↓の画像をクリックすると起動します。**エグゼクティブボタンのここがすごい!**
ボタンを押すだけで上場企業の役員報酬が手に入る!!
**エグゼクティブボタンのここがクソ!**
ほんとには手に入らない!!
実装はこちらです。
https://github.com/icoxfog417/exe
日常生活にも役立つ!?コスパ最強の実験計画法をPythonで半自動化
# 概要
– 実験回数を大幅に効率化する「実験計画法」について(ざっくり)説明します。
– 実験計画法の手続きがやや複雑なため、手続き部分をPythonで自動化します(今回の目的)。# 実験計画法とはなにか(どう役に立つか)
>実験計画法(じっけんけいかくほう、英: Experimental design、Design of experiments)は、効率のよい実験方法を設計(デザイン)し、結果を適切に解析することを目的とする統計学の応用分野である。
> [Wikipediaより](https://ja.wikipedia.org/wiki/%E5%AE%9F%E9%A8
【画像で説明】KaggleのNoteBookでpickleをつかい回す
# やること
1. csvファイルのデータセットをpickle化
2. pickleファイルを別のnotebookで読み込む# pickleってなんなのよ?
pythonオブジェクトをバイナリデータで保存するやつ
https://docs.python.org/ja/3/library/pickle.html# なにがうれしくて?
読み込みが早い
バイナリデータなのでパーズ処理がいらんから早いんですって
学習済みモデルとかもpickle化してつかい回せるこちらの検証記事がすばらしいです
[Python: pandas の永続化フォーマットについて調べた](https://blog.amedama.jp/entry/2018/07/11/081050)# タイタニックのデータでやってみる
ひとまずtrain.csvをpickleにする
コードはこれだけ“`.py
# pickleは標準ライブラリなのでinstall不要
import pickleimport pandas as pd
train = pd.read_csv(‘../input/tita
nfcpyとPaSoRiでNFCタグを読む
# はじめに
ソニーのPaSoRi(RC-S370,[RC-S380](https://www.sony.co.jp/Products/felica/consumer/products/RC-S380.html))でNFCタグを読みたいと思って[nfcpy](https://github.com/nfcpy/nfcpy)を使ってみたところ,特にWindows 10環境でいろいろハマったのでまとめておきます。
詳細は[https://scrapbox.io/saitotetsuya/nfcpy](https://scrapbox.io/saitotetsuya/nfcpy)にまとめていて,適宜更新しています。
# 環境に依存しない話
* nfcpyは[v1.0.0](https://github.com/nfcpy/nfcpy/releases/tag/v1.0.0)以降でPython3に対応している(2019年12月9日現在で最新は[v1.0.3](https://github.com/nfcpy/nfcpy/releases/tag/v1.0.3))。
* デバイス番号はPa
pythonで画像を集めてみただけ
# はじめに
こちらの記事は、 [SLP KBIT Advent Calendar 2019](https://adventar.org/calendars/4214) の9日目の記事です。
pythonを使って画像スクレイピングを行いました。
サイトのURLを貼ったら、そのサイトの画像を全部表示してくれるものを作りました。### 使用環境
-python 3.7.4# 全体のコード
**フォルダの構成**
├── cgi-bin
│ └── image_scraping.py
└── style.css
└── index.html“`python:image_scraping.py
# スクレイピング用
import requests
from bs4 import BeautifulSoup
# フォームデータ受け取り用
import cgi# —検索フォームのボタンを押したときに出力するhtml—
html_body1 = “””
画像スクレイ
PythonでMeasurement Protocolを使う
皆さんこんにちは。@best_not_bestです。
GoogleアナリティクスのMeasurement Protocolを使用することで、HTTPリクエストで生データを Googleアナリティクスサーバに直接送信することが出来ます。
これにより、オンラインとオフラインでの行動を結び付け、Googleアナリティクス上で分析することが可能になります。## Measurement Protocolについて
### 公式ドキュメント
https://developers.google.com/analytics/devguides/collection/protocol/
### データインポートとの違い
Googleアナリティクスには[データインポート](https://support.google.com/analytics/answer/3191589)という似たような機能がありますが、違いは(ざっくりと)以下になります。
| | Measurement Protocol | データインポート |
|:—–:|:—–|:—–|
| **データの送信方
【完全版】Jupyter Notebook ショートカット
# Jupyter Notebook ショートカット
Jupyter Notebookで `h` で出てくるショートカット一覧をWindows,Mac共に全て日本語に訳しました。
探しましたが、日本語でWindowsとMacが全部載っている一覧表がなかったので、もしかしたら需要あるかも?# Windows
## コマンドモード
| ショートカットキー | 説明 |
|————–|———————–|
| F | 検索・置換 |
| Ctrl-Shift-F | コマンドパレットを開く |
| Ctrl-Shift-P | コマンドパレットを開く |
| Enter | 編集モードにする |
| P | コマンドパレットを開く |
| Shift-Enter | セルを実行し、下のセルに移
形態素解析ツールインストール(MeCab,Juman++,Janome,GiNZA)
日本語のテキスト処理には形態素解析ツールが欠かせませんが、都度ツールのインストール方法を調べるのが面倒だったので、以下の4つについてインストールをまとめました
– MeCab
– Juman++
– Janome
– GiNZAインストール環境:Ubuntu 18.04
## MeCab
[公式サイト](https://taku910.github.io/mecab/)より引用
> MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクトを通じて開発されたオープンソース 形態素解析エンジンです。 言語, 辞書,コーパスに依存しない汎用的な設計を 基本方針としています。 パラメータの推定に Conditional Random Fields (CRF) を用 いており, ChaSenが採用している 隠れマルコフモデルに比べ性能が向上しています。また、平均的に ChaSen, Juman, KAKASIより高速に動作します。“`
apt-get install -y mecab libmecab-dev meca
Python手遊び(mordredでいっぱい計算)
#この記事、何?
ケモインフォマティクスのかけらの記事。
記述子計算ライブラリのMordred (1.0.0) を使っていて、計算結果としてのinfをようやく見つけてみた、という話。#背景
最近、記述子計算結果をちょっとだけ扱っているの。
で、「inf」という結果があるらしいと。でも見たことない。
軽く1000件くらい探してみたけど見つからない。
じゃ、開き直って数万件とか計算させて見つけてみようか、と。#方針
普通にMordred計算。
で、エラーが出る都度exceptを追記。
そのうち長時間稼働し続けるでしょ、というくらいの感じでした。#環境
Windows 10 Pro (x64)でAnacondaから作った以下の環境。“`
# Name Version Build Channel
python 3.6.8 h9f7ef89_7
rdkit 2017.09.2.0 py3
この2019年12月に初学者がRかPythonを学ぶなら、どっち?
#RとPythonどっちが良い??
最近はだいぶPythonから入って、Rは別に、、みたいな人も増えましたが、よくある疑問が「RとPythonどちらを覚えるべきか?」ですね!個人的な答えは「両方覚えれば?」です笑
どちらか一つしか選べない、というものでもないですし、求人とか見ても「RやPyhonを用いて分析した経験」のように両方書いてあることも多いので。
何より、どちらかしかわからない人より、両方わかるほうが市場価値は高いんじゃないでしょうか。(もちろん、これだけで市場価値は決まらないですけどね)#とはいうものの初心者が始めるにはどっちが。。。
ただ、初学者がいきなり両方勉強するのはなかなか大変かと思いますので、まずどちらか入るべきか?という視点でいくと下記のようになるかなと。。R
・プログラミングがそもそも初心者
・記述統計寄りのバックグラウンドで、そちら寄りの分析がしたい
Python
・機械学習寄りのことがしたい
・画像認識などをやりたい
#だいたいどちらでも同じことができる
階層ベイズモデルなり、状態空間モデルなり、MCMC推定なり、クラ
Qiita APIを使って「いいね」をLINEに通知するアプリをLambdaで構築した
# 概要
以下のようなQiitaのいいねのLINE通知がほしいなーとふと思い立ち、
関連する記事を発見!
-> [Qiitaでいいねが付くとLINE通知してくれる優しい世界を構築した](https://qiita.com/Sinhalite/items/8fd408071ec7ab9a58e2)構成が簡潔で(記事自体も)すごく参考になります。
今回、Lambdaを始めとしたAWSのサービスを使って、イベント駆動型のアプリケーションを作ってみたかったので少し構成を変えて真似してみました。
# 本記事の流れ
1. 構成の概要
2. 使った技術要素の紹介
3. 実装の説明# 1. 構成の概要
## 構成図
AtCoder Beginner Contest 147 参戦記# AtCoder Beginner Contest 147 参戦記
## A – Blackjack
2分半で突破. 書くだけ.
“`python
A1, A2, A3 = map(int, input().split())if sum([A1, A2, A3]) >= 22:
print(‘bust’)
else:
print(‘win’)
“`## B – Palindrome-philia
2分で突破. 書くだけ.
“`python
S = input()result = 0
for i in range(len(S) // 2):
if S[i] != S[-(i + 1)]:
result += 1
print(result)
“`## D – Xor Sum 4
46分くらい?で突破. Cを提出したら WA3 で諦めてこっちに取り掛かったのでよく分からず. ビットごとに累積 XOR をするだけ. だけって言ってもコーディングは中々大変. Python で書いたら TLE になったので、Go で書き直した. `% 10
pip install pyrebase しただけなのに… (UnicodeDecodeError)
#はじめに
flaskでfirebaseを使おうと思い、便利~~(?)~~なpyrebaseというライブラリを見つけたのが全ての始まりであった。
#chapter: 1 ~予兆~
anaconda プロンプトで pip install“`
(flask_env) C:\Users\ryosu\flask_project\auto_call_app>pip install pyrebase4
Collecting pyrebase4
Using cached https://files.pythonhosted.org/packages/25/17/653e33c0f3d4fb6556570c955b9a298990dd515bbd09b1a2abc99ec7a9fa/Pyrebase4-4.3.0-py3-none-any.whl
Collecting pycryptodome>=3.6.4
Using cached https://files.pythonhosted.org/packages/c8/a9/d65f44cdb4b44e05b494fa0bfed08710
Amazon SageMaker での機械学習モデルのメトリクス監視をさっと良くする方法
この記事は [ミクシィグループ Advent Calendar 2019](https://qiita.com/advent-calendar/2019/mixi) 、9日目の記事です
# 概要
(3行まとめ)* 機械学習のトレーニングジョブの精度モニタリング、モデル比較をいい感じにやりたい
* Amazon SageMaker では CloudWatch メトリクスのチャートが提供されるが、見づらい・・
* SageMaker SDK または 独自コードでメトリクス収集して、メトリクスデータやグラフをモデルと同じ場所(S3)に置くとよかった# 課題 :innocent:
Amazon SageMaker では、トレーニングジョブのメトリクス監視用に [CloudWatch メトリクスをベースとしたチャートが提供](https://aws.amazon.com/jp/blogs/news/easily-monitor-and-visualize-metrics-while-training-models-on-amazon-sagemaker/) され、マネジメントコンソ
カメラキャリブレーションを視覚的に理解する
カメラキャリブレーションはレンズの歪み補正などに使われますが、それぞれの係数がどう影響を及ぼしているのかわかりにくく感じます。
そこで直感的に理解できるようにしてみようと思います。
# カメラキャリブレーションとは
理想的なピンホールカメラモデルでない限り、左図のように画像は歪んでいます。
カメラ固有の歪み係数を求めることで、このように歪んだ画像を補正することができます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404817/5d7f33a9-b595-b007-118e-982c674e7ce5.png)
## カメラキャリブレーションの仕組み
カメラキャリブレーションを行う際は、チェッカーボードと呼ばれるものを印刷します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404817/92b49acc-d19c-0aea-39f2-b4e4dcb4980f.png)パ
ガウス過程回帰 Numpy実装とGPy
# はじめに
こんな回帰直線引いちゃっていいのと疑問に思うようなグラフを見ることがあります。
例えば“`python
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[“font.family”] = “Times New Roman” #全体のフォントを設定
plt.rcParams[“xtick.direction”] = “in” #x軸の目盛線を内向きへ
plt.rcParams[“ytick.direction”] = “in” #y軸の目盛線を内向きへ
plt.rcParams[“xtick.minor.visible”] = True #x軸補助目盛りの追加
plt.rcParams[“ytick.minor.visible”] = True #y軸補助目盛りの追加
plt.rcParams[“xtick.major.width”] = 1.5 #x軸主
windowsでvenv環境でVSCodeを使用方法
# 概要
pythonの開発でvenvを使うことは多いと思いますが、
調べてみてもMacの情報などが多かったので、
windows版での構築手順をまとめてみようかと思います。
ついでにVSCodeを使う方法も併せてまとめます。
pythonのインストール手順などは省いています。以下の記事を参考にさせていただきました。
https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e
https://qiita.com/some-nyan/items/7f20fa5fa0b6e451a42b
https://qiita.com/Avocado/items/3e71870815d6c54c1eea## 準備
1. 作業ディレクトリの作成
* まずどこで作業するかを決めます。
その場所でライブラリのインストールなどを行うことになるため日本語が含まれていない場所が必要です。またVSCodeの作業用のフォルダにもなるのであまり長くないほうが良さそうです。(`C:\pythondev\001` とか作成します)
1.
Djangoで継承したModelにおいて、継承元Modelにリレーションを貼りレコードを作成する方法
# 概要
Djangoで継承したModelにおいて、継承元Modelにリレーションを貼りレコードを作成する方法
継承元Modelにリレーションを貼る際に、継承元Modelが意図しない値に変更される場合があるので
注意・回避方法含め書きます!~~Djangoの挙動に惑わされました~~
Django大好きです# 動作を確認した環境
Python==3.7.4
Django=2.2.3# 結論
Model継承時に暗黙的に定義される `{モデル名}_ptr` フィールドにModelオブジェクトを与えます
このとき、 `Model.save()` や `Model.objects.create()` を行うと継承元のModelが意図しない値に変更される場合があるため `.save_base(raw=True)` を使用します
“`py
# モデルの定義
from django.db import modelsclass Parent(models.Model):
parent_column = models.CharField(max_len
ElastAlertでカスタムルールを作成する
この記事は [MicroAd (マイクロアド) Advent Calendar 2019 ](https://qiita.com/advent-calendar/2019/microad)の9日目の記事です。
# はじめに
みんな大好きElasticsearchですが、
「Elasticsearch上のデータを常時監視して、特定のパターンが発生したらアラートを飛ばしたい」というときに便利なのが、[ElastAlert](https://github.com/Yelp/elastalert)というツールです。ElastAlertには`Rule`と呼ばれる監視パターンがデフォルトで何種類も用意されているのですが、それだけでは自分の要望を満たせないときもあります。
そんなときは、カスタムルールと呼ばれる新しい監視パターンを自分で作成して解決しましょう。# 作り方
カスタムルールを作る際に参考にしたのはこの2つ。とくに後者は実用的なコードが載っていて必見です。* [本家のドキュメント](https://elastalert.readthedocs.io/en/latest/r