Python関連のことを調べてみた2020年08月02日

Python関連のことを調べてみた2020年08月02日
目次

ITエンジニアにおすすめの20年7月書籍(私の今月のtwitterから書籍関連まとめ)

本記事では、私が20年7月に読んでTwitterに投稿した書籍紹介をまとめ、解説します。

## はじめに

私のtwitter投稿から、20年7月に読んだ投稿に関する内容のまとめです。

小川雄太郎@ISID_AI_team

書籍紹介以外にもたくさんつぶやいているので、興味がある方はぜひフォローしてください。

## 本のジャンル

ITやデータサイエンティストのスキルセットとして、
・ビジネス
・ITインフラ
・データサイエンスアルゴリズム
の3分野が挙げられますが、

読む本は、ビジネス系が多いです。
IT関連はネットで調べたり、一気にがっつり調べることが多いので。

## 20年7月に読んだ書籍

### ビジネス関連

【おすすめ・第1位】

元記事を表示

複数のヒストグラムを重ねて表示する時に、bin幅を統一する方法(matplotlib)

## 背景
forループを使って複数のヒストグラムを重ね合わせて表示する場合、bin幅を指定しないとデータごとに幅が異なり比較しづらかったので、bin幅を統一して表示する方法を調べました。
※自分用のメモなので読みづらかったらすみません

## import・使ったデータセット
“`python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine

wine = load_wine()
df_wine = pd.DataFrame(data=wine.data, columns=wine.feature_names)
df_wine[‘target’] = wine.target
“`
scikit-learnのワインデータセットを使います。
targetという列にはワインの種類を表すラベルを入れました。

## 方法
`plt.hist()`の引数の`bins`にリストを渡すと、リストで指定された値を区間の区切

元記事を表示

2. Pythonで綴る多変量解析 6-3. リッジ回帰・ラッソ回帰(scikit-learn)[正則化の効き方]

* リッジ回帰・ラッソ回帰それぞれの正則化の効き方の違いを、もう少し詳しく見ていきたいと思います。
* 正則化パラメータ$λ$を50通り生成して、それぞれの回帰モデルについて$λ$を入れ替えながら推定を50回くり返します。
* その過程で、変数ごとに推定される係数がどのように変化していくかを観察します。

###⑴ ライブラリのインポート
“`python
# データ加工・計算・分析ライブラリ
import numpy as np
import pandas as pd

# グラフ描画ライブラリ
import matplotlib.pyplot as plt
%matplotlib inline

# 機械学習ライブラリ
import sklearn
from sklearn.linear_model import Ridge, Lasso # 回帰モデル生成のためのクラス
“`

“`python
# matplotlibを日本語表示に対応させるモジュール
!pip install japanize-matplotlib
import japanize_matpl

元記事を表示

Pythonでマージソートをなるべく少ない行数で実装してみた

友人がときどきアルゴリズムの実装の勉強していて、マージソートの実装に取り組んでいると聞いて俺もやるか〜ってなるのは多分きっと自然な流れ。
せっかくだからなんか勝負しようぜってことでなるべく少ない行数で実装したほうが勝ちみたいな謎勝負が行われました。
言語は友人がPythonでやろうと思ってたとのことだったのでPythonでやることになりました。負けないぞぉ

## ルール
– データ配列は1〜10までの数字がランダムに並んだものを使う
– データ配列の生成、出力部分のコードは共通として、いじらないようにする
– とにかく“[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]“が出力されれば良い

共通部分のコードは以下の通り

“`Python
from data import generate_data

data = generate_data() # 1〜10の数値がバラバラに並んでる
print(data)

# この下に実装
“`

別ファイルに“data.py“があり、そこの“generate_data“関数でデータを生成します。
データは“[5

元記事を表示

カリー化チートシート

拙作『[不動点コンビネータを用いた無名再帰関数の実行まとめ](https://qiita.com/ytaki0801/items/596efbbcb07d38630bc9)』の補足説明として書き始めたところ,カリー化関数を記述・利用するための独立したチートシートとした方が少なくとも約1名(自分自身)には役立ちそうだったので,新しく記事にした.なお,カリー化してくれる関数の定義ではないことに注意.複数言語に渡っている都合上,各言語に精通している方々のツッコミ歓迎.

#Haskell(GHC)
Haskellでは,複数引数で定義しても自動的にカリー化される.カリー化関数の引数指定は`(・・・(関数 引数) 引数)・・・引数`である.

“`haskell
Prelude> func x y z = if x > 0 then y else z
Prelude> func (-100) 0 (-1)
-1
Prelude> ((func (-100)) 0) (-1)
-1
“`

`\`および`->`を用いた無名関数を戻り値にして実現する方法は次の通り.ただし,この場合でも引数の複数

元記事を表示

Google Analytics APIを使用してデータベースを作った話

# はじめに
Google Analyticsとは,googleが提供するWedアクセス解析ツールです。
Wedサイトへの訪問者のアクセス地域,時間,使用デバイス,ブラウザなど様々な情報を取得できます。
GUIも充実しているのでそれだけでも十分といえば十分ですが,無料でAPIも提供されているので試しにAPI接続してデータベースを作ってみました。

#API接続しMySQLへ保存

### 1.アナリティクス API を有効にする
Google API コンソールからAPIを有効にしておきます.
### 2.Google クライアント ライブラリをインストールする 
“`terminal
sudo pip install –upgrade google-api-python-client
“`

### 3.実際に接続してみる
main関数に日付と取得したい情報を入力として,そのDataFrameを返す。

“`python
”’fetch_analytics_data.py”’

from googleapiclient.discovery import build
fr

元記事を表示

テストアプリを作って理解するUbuntu18.04+Nginx+Flask+Let’s lencriptでHTTPSさせるまでの流れ

#環境
さくらのVPS
お名前ドットコム
ubuntu18.04
ubuntuのユーザー名:ubuntu(自分のユーザー名に合わせてください)
SSH接続ソフト:Teraterm(コピペ使える、えらい)
python3.6.9
nginx/1.14.0

参考:
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uswgi-and-nginx-on-ubuntu-18-04

#とりあえず最初の呪文。とりあえずインストールするgit

“`
sudo apt update
sudo apt upgrade
sudo apt install git
“`

#python環境を整える
pythonのインストール

“`
sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools

#確認
python3.6 -V
“`

p

元記事を表示

【Python】データサイエンス100本ノック(構造化データ加工編) 018 解説

##Youtube
[動画解説](https://youtu.be/7ceMjih3vOs)もしています。

##問題
P-018: 顧客データフレーム(df_customer)を生年月日(birth_day)で若い順にソートし、先頭10件を全項目表示せよ。

##解答
“`:コード
df_customer.sort_values(‘birth_day’, ascending=False).head(10)
“`

“`:出力
customer_id customer_name gender_cd gender birth_day age postal_cd address application_store_cd application_date status_cd
15639 CS035114000004 大村 美里 1 女性 2007-11-25 11 156-0053 東京都世田谷区桜********** S13035 20150619 6-20091205-6
7468 CS022103000002 福山 はじめ 9 不明 2007-10-02 11 249-0006

元記事を表示

Google Spread Sheets に Pythonを用いてアクセスしてみた

# はじめに
人は生まれながらにGoogle Spread Sheetsにpythonでアクセスしてみたいはず。
そんな欲望を簡単に満たせる記事です。

# 目次
– 1. Google Spread SheetsにPythonを用いてアクセスするための下準備
– 1-1. 新規プロジェクトを作成する
– 1-2. Google Drive APIを有効にする
– 1-3. Google Spread Sheets APIを有効にする
– 1-4. 認証情報を設定する
– 1-5. 秘密鍵を生成する
– 2. Google Spread SheetsにPythonを用いてアクセスする
– 2-1. Google Spread Sheetの共有設定をする
– 2-2. Google Spread Sheetのkeyを取得
– 2-3. プログラム実行!

## 1. Google Spread SheetsにPythonからアクセスするための下準備
これが一番めんどくさい。

Google Spread Sheetsに外部か

元記事を表示

CadQueryを使って、3Dプリンタデータ(STLファイル)を作成する

# はじめに

本記事は、CadQueryを使って、3Dプリンタデータ(STLファイル)を作成する方法について紹介します。
CadQueryとは、3Dモデルを作れるpythonのライブラリです。

![image0.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559938/decc7dd9-ca55-d506-2290-5e3154d67d46.jpeg)

# きっかけ

電子工作の幅を広げるために、3Dプリンタを購入しました。
3D CADツール自体は使ったことはなかったので、いろいろと調べたところ、
自分にはCadQueryとFreeCadが使いやすかったです。
(今回は、CadQueryのみ)

# CadQueryについて

以下が公式の情報となります。
日本語の記事が極端に少ないです。

## 情報

– CadQuery / cadquery
– https://github.com/CadQuery/cadquery
– CadQuery 2.0 Documentation

元記事を表示

【機械学習】カーネル密度推定を使った教師あり学習 その2

# カーネル密度推定を使った教師あり学習

この記事は機械学習の初心者が書いています。
予めご了承ください。

## カーネル密度推定と教師あり学習の関連性

私が勝手に関連付けました。
詳しいことは(あまり詳しくありませんが)[前回の記事](https://qiita.com/sorax/items/8663906fae41798a00b8)をご参照ください。
簡単にまとめると「カーネル密度推定を教師あり学習の分類器に使ってみた!」です。

## オブジェクト指向

[前回の記事](https://qiita.com/sorax/items/8663906fae41798a00b8)でまとめたスクリプトを改造して、オブジェクト指向にしてみました。
名前は「Gaussian kernel-density estimate classifier(ガウスカーネル密度推定分類器)」、略して「GKDEClassifier」です。いま勝手に名付けました。

↓スクリプト↓

~~~python
import numpy as np

class GKDEClassifier(object):

元記事を表示

[PyTorch]セグメンテーションのためのDataAugmentation

# 0.この記事の対象者
1. **PyTorch**を使って画像**セグメンテーション**を実装する方
2. **DataAugmentation**でデータの水増しをしたい方
3. 対応するオリジナル画像とマスク画像に**全く同じ処理**を施したい方
4. 特に**自前のデータセット** (`torchvision.datasets`にないデータ)を使用する方

# 1 概要
主に, 教師ありまたは半教師ありでのセグメンテーション用データセットを想定

+ 自作データセットクラスの中にDataAugmentation処理を記述
+ **対応するオリジナル画像とマスク画像の両方に全く同じ処理を実行**
* 「クロップする位置」, 「角度」, 「反転するか否か」を一致させる
+ **画像ペア(=オリジナル画像+マスク画像)毎にランダム性のある処理を実行**
* ただし, 上述の通り画像ペア内の処理は一致

# 2 問題点
問題のケースをみる前に, まずは問題ないケースを考えてみます

## 2.1 問題ないケース(物体クラス認識など)
PyTorchでDataAugmentat

元記事を表示

zsh環境でpoetryのインストール(エラー対処)方法

# 前提
MacOSがCatalinaからターミナルのデフォルトがzshになり、poetryを追加するだけではエラーになってしまいます。
~/.zshrcにパス追記することで対応できましたので参考にしてください。

# poetryのインストール
“`zsh
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
“`

zsh環境ではこの状態でpoetryコマンドを実行するとエラーになります

“`zsh
poetry –version
> zsh: command not found: poetry
“`

# .zshrcにパスを追記

“`zsh
vim ~/.zshrc
“`

“`vim
export PATH=”$HOME/.poetry/bin:$PATH”
“`

ターミナルを再起動

“`zsh
poetry –version
> Poetry version 1.0.10
poetry self update
> Y

元記事を表示

初めてのPython スクスタのMVを連続再生させる

# 初めてのPython
これまでPCの自動化作業には専らUWSCを使ってたため、興味はあれど中々学習の機会がなかったPythonですが、UWSCの現状もありどこかで始めないとと思っていたところ、先日始めたスクスタ(ラブライブの音ソシャゲー)のおかげで同ゲームのMVを自動再生したいという動機が生まれたのでこの機会にPythonを始めてみました。

内容の都合上、ほぼNoxやBluestacksといったAndroidエミュを使ったソシャゲの自動化マクロの話になります。
#環境
Windows10 64bit
Python3.8 64bit
Bluestacks4

AndroidエミュはNoxと迷ったのですが、Noxはリップシンクが10フレほどズレるのでBluestacksを利用しました。
##pyautoguiのインストール
~~~powershell
pip install pyautogui
~~~

Pythonでの自動化には外せないらしい。
##設計
動作はシンプルに下の画面でMVボタンを押し、
![名称未設定.jpg](https://qiita-image-store.s3

元記事を表示

❤️ブロガーの皆さん❤️”愛されBI”❤️はじめましょ❤️(Pythonで図表作れる人向け)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486863/acc489d9-88da-7812-7583-b6e5d4b0ab5d.png)

ブロガーの皆様、「**ブログのアクセス情報をGoogle Analyticsよりもいい感じに、自分のブログページでウォッチしたい!**」、「**自分だけのダッシュボードが欲しい!**」と思ったことはないでしょうか?

**実はレンタルサーバーを使って簡単に実現できます。**
→トップ画像の実物はこちら(https://napinavi.com/?page_id=821)

この記事は、

– **データ分析に興味を持っていて**、
– **レンタルサーバーでブログ運営されている方**、
– レンタルサーバーでブログ運営しようか**迷っている方**

に向けて、レンタルサーバーで**ダッシュボードを作る方法**をお届けするべく書いております。
**該当しない方、ごめんなさいm(_ _)m**

なお、私のブログ環境は、以下の通りです。

– ブロ

元記事を表示

ベランダの写真から植物が写っている部分を抽出するために深層学習を使ってみようと思ったらうまくいかなったので、試行錯誤してみた内容をまとめてみる。後編

# 前回のあらすじ

ちょっとした出来心で始めた株。しかし、新型コロナウイルス感染症が流行するなんて想像もしておらず、ご多分から漏れることなく投資に失敗し、マイホーム購入のためにこれまで一生懸命貯めた貯金がすっからかんになり、自暴自棄になって宍道湖大橋をトボトボと歩いていたら、後ろから「久しぶり。元気か?!」と声をかけられ…

…というのは冗談で、写真から対象を抽出するというテーマの取り組みについて記事の続きを書きます!

[ベランダの写真から植物が写っている部分を抽出するために深層学習を使ってみようと思ったらうまくいかなったので、試行錯誤してみた内容をまとめてみる。前編](https://qiita.com/drafts/9d1b619928c37a9b9e72/)

# 検討

前編の後、パラメータをいくつか変えてみるも全く効果なく、虚しい時間が流れるばかり…

そんな中、ふと思いついたのが「転移学習」。
学習済モデルの出力を使って、少ないデータから高精度の識別を実現する手法とのこと…

やり方は全然わかんないけど、とりあえずにわか知識で試してみることに!

# 学

元記事を表示

Ren’Pyで2D RPGを作る(3)―アイテムと道具屋

# 概要
こんにちは、最近ゲーム制作にかまけてエロゲができていないエロゲーマー蟹丸です。Ren’Pyを使った2D RPG制作第三回です。
今回はアイテムと道具屋を作っていきます。

前回:[Ren’Pyで2D RPGを作る(2)―パーティーとステータス](https://qiita.com/salt_crab/items/6d9db298f9bd457ed412)

**本記事の範囲**
アイテムを実装し、メニュー画面からの使用、道具屋での売買を可能にする

# 背景
RPGにどうしてアイテムが必要なんだ!という思いを抱く人はいないと思います。
バトルを作る前にアイテムを作っておけば戦闘中も回復できるようになるので、先にアイテムを作ってしまいます。

# 1. アイテムを作る
まずはアイテムを作る~メニュー画面から使用する部分を実装していきます。

## システム実装
前回と同様こちらはRen’PyではなくただのPythonなので、Pythonがわかる人は自分の好きなようにやってしまえると思います。

※この部分はitem.rpyというファイルのinit pythonステートメント内に

元記事を表示

【PyMC3】Compilation Failedエラーを解決する

# はじめに
この記事は[Pythonで体験するベイズ推論](https://www.morikita.co.jp/books/book/3155)で使用するPyMC2の構文をPyMC3に記載し直したときに起きたCompilation Failedエラーについて、
私の症状に当たるものがあまり見つからなかったのでここに共有しておこうと思います。

Pythonで体験するベイズ推論のコードをPyMC3で書き直したものは[Githubに上がっています。](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers)

# 環境

– Windows 10 Home 64bit
– Anaconda 4.8.3
– Python(conda) 3.8.3
– theano(pip) 1.0.5
– pymc3(pip) 3.9.3
– numpy(conda) 1.18.5

# エラー内容

[PyMC3で書き直したChapter1](https://gith

元記事を表示

状態とふるまいを持つモデルを実装する (3) – デコレータによる実装例

前回 ([状態とふるまいを持つモデルを実装する (2)](https://qiita.com/torajiro1220/items/5d6ee04dc1b2815bfa78))は、3つの状態を持つ `StopWatch` を、二つの方法で実装した。今回は `StopWatch` を *decorator* を利用して実装する。

まずは、状態遷移を *decorator* で記述する。状態遷移するメソッドかわかりやすくなる。

“`python
from enum import auto

def transit(state):
def decorator(func):
def inner(self, *args, **kwargs):
self.start_stop, self.reset = self._TRANSIT[state]
func(self, *args, **kwargs)
return inner
return decorator

class StopWatch

元記事を表示

【Pytorch】Dataset/DataLoaderについてメモ

#概要
Pytorchでデータセット作成時に使用するDataset/DataLoaderあたりをメモ

参考:

– [Pytorch TORCH.UTILS.DATA](https://pytorch.org/docs/stable/data.html#torch.utils.data.Dataset)
– [PyTorch transforms/Dataset/DataLoaderの基本動作を確認する](https://qiita.com/Takayoshi_Makabe/items/79c8a5ba692aa94043f7)

##データの前処理
データの前処理については`torchvision.transforms`または`albumentations`あたりのライブラリがある。
どちらも基本的な動作は同じ。
前処理のクラスインスタンスをリストに詰め込んで、`Compose()`の引数にしてインスタンス作成。
`Compose`は、`__call__(self, img)`メソッドを持つので、作成したインスタンスの引数に画像を入れれば前処理される。

– [TORCHVISIO

元記事を表示

OTHERカテゴリの最新記事