Python関連のことを調べてみた2021年03月17日

Python関連のことを調べてみた2021年03月17日
目次

機械学習エンジニアがAidemyのコース受講してみた。

#はじめに
今回はAidemyの`AIアプリ開発コース`を受講する機会を頂いたので、ある程度機械学習に経験がある身として、これから機械学習分野に踏み込もうかお考えになっている方、また実際にAidemyで機械学習を学ぼうか悩んでいるかたに向けて、コースの感想などをお伝えできればと思っています。
`企業案件ではありません。`

#簡単な自己紹介
私はカナダで機械学習エンジニアをしております。現在(2021/3)は新型コロナウィルスの影響で日本に一時帰国していますが、今後またカナダに戻る予定です。私が機械学習に興味を持ち始めたのは2017年の年末で、当時は今ほどオンラインコースは目立っていませんでしたが、基本的には`Coursera`で理論的なところから独学で勉強しました。その後カナダで、Bootcampと呼ばれるプログラミングスクールに通いましたが、その時にはすでにある程度機械学習の知識はあったと思います。その後はカナダの音声処理を行うスタートアップで機械学習エンジニアとして働いていました。

#Aidemyとは
Aidemyは日本語で機械学習を勉強できるオンラインのプログラミングコースを

元記事を表示

辞書の値を取得する方法、2通り思いつきますか (Python)?

この記事ではPython3.7を使用しています。またIDE(統合開発環境)はPyCharm2020.3です。

##1. はじめに
 **タイトル通り辞書の値を取得する取得方法、2通り思いつきますか?**
今回は

“`python:question.py
# 今回の記事で使用する辞書
d = {‘apple’: ‘リンゴ’, ‘orange’: ‘オレンジ’, ‘cantaloupe’: ‘メロン’}
“`

 まず1つも思いつかなかった方、大丈夫です。記事執筆5分前の自分もそうだったのでwww。この記事を読み終わる頃には脱初心者です!
 次に1つは思いついた方、素晴らしいです。そしてこの記事を読んで思いつかなかったもう1つの方法を学んで違いを理解しましょう!!
 その次に2つとも思いついた方、すごいです。違いがあやふやな人はこの記事を読んでしっかり理解しましょう!違いも分かる人は「mitsu4310」と検索して自分の他の記事を読んでください!!!
 最後に3つ以上方法が思いついた方、私のような初心者が出る幕はありません。そして別解をコメントで教えて下さい!!!!

##2. 方

元記事を表示

Django チーム開発で同番のmigrationファイルが被った場合

#問題

“`
$ python3 manage.py showmigrations

stores
[X] 0001_initial
[X] 0002_auto_20210305_1132
[X] 0003_businesshour
[ ] 0003_brandgroup
[ ] 0004_equipmentgroup
“`
masterをpullした際に0003が被ってmigrate出来ない。
0003_businesshourを削除して、新しく0005_businesshourを作成する。

※ 私自身はpostgresqlとvscodeの組み合わせのため、sql文を直記入しています。テーブルの削除などはご自身の方法で適宜対応してください。

 参考までに
[・VScodeのPostgreSQL拡張が便利](https://od10z.wordpress.com/2019/12/17/vscode-extensions-for-postgresql/)

#手順
####1. python3 manage.py showmigrationsで削除対象のファイル確認

元記事を表示

Classiをdiscordから操作できるようにする。

#自己紹介
名前:Hyugo
年齢:15歳(中学3年)

#classiとは(概要)
https://classi.jp/

classiは学校からの連絡事項や、先生とのやりとりをオンラインで行うプラットフォームである。

コロナ禍で急激にアクセス数が増え、サーバーが不安定になっていて、通知が来ないことも多く、困ることが多いのでdiscordと連携させようと思った。

なお、classiは動的サイトなので、requestsではなくseleniumを使った実装を行う。

データの格納にはjsonを使い、discord.pyモジュールを使い、discord上と連携させる。

#バージョン情報
Python 3.9
selenium 3.141.0
discord.py1.6.0

#開発に至った経緯

##不便に感じた部分
LINEや、discordなどはメッセージのやりとりを目的に作られているため、開いてすぐにメッセージUIが出てくるが、classiの場合
`アプリを開く` > `“その他”` > `“メッセージ”`
とメイン部分から大分離れた場所にある。

よって、メッセージUIにたど

元記事を表示

MacでDocker-Selenium(Python)を使って印刷プレビューを介してのPDF保存をやってみた

## 概要
会社で利用している監視サービスで一々Webブラウザを使って監視対象分のサーバーの監視レポートを毎月ダウンロードして顧客に提出ということをしてたので、今まで興味はあったけど手が出せてなかったPythonとSeleniumに入門してついでにこの課題を解決してみた。

## 画面遷移(手動の場合のフローでこれを今回自動化)
1. ログイン画面
– id, passを入力してログインする
2. ダッシュボード画面
– 監視対象のサーバーの一覧が表示されている
– サーバー名をクリックして詳細画面に遷移する
3. 詳細画面
– 月毎の監視レポートのリンクの一覧が降順表示されている
– 一覧上の最新の月のリンクをクリックして監視レポート画面に遷移する
4. 監視レポート画面
– 印刷ボタンがあるので、それをクリックして印刷プレビューを介してPDFを保存
5. 2〜4をサーバーの数だけ繰り返す

## ファイル構成

“`text:ディレクト構成
workspace
└─ dev
└─

元記事を表示

Pythonで学ぶ 一般化線形モデルへのベイズ的アプローチ ~MCMCでベイズロジスティック回帰~

## はじめに
– [pythonによるベイズ統計モデリング入門](https://qiita.com/takubb/items/a2e02fe61aad80f8f2f3#pymc%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%89%8B%E9%A0%86)ではベイズ統計学の基本的な考え方とpythonによるベイズ線形回帰の例を紹介しました
– 本記事では、解釈性も高く実務上もよく利用される**一般化線形モデル**について、引き続き**ベイズ統計学的な観点**から紹介をしてみようと思います
– また、pythonの実装例では、**ロジスティック回帰分析**をベイズ統計学のアプローチでパラメータ推定を行います
– アウトプットイメージからscikit-leanやstatsmodelsとの違い、**ベイズアプローチの特徴**を掴んで頂ければと思います
– また、前回記事と同様に分かりやすさ・イメージを中心に紹介しておりますので、厳密な各種理論の定義や解説は書籍をご覧ください

## 一般化線形モデルとは
### 線形モデルとは
– 「線形モデル」とは、目的変数yと説明変数

元記事を表示

Django モデルを管理者ツールに登録する

Friendモデルを管理者ツールで管理したい場合

admin.pyに以下のように編集する

“`admin.py
from django.contrib import admin # 元からあるやつ
from .models import Friend

admin.site.register(Friend)

“`

元記事を表示

PythonでNamedTupleのようにDictを使えるようにする

# はじめに
pythonによる開発での問題点を3点あげる.
1. 似たような変数名の辞書が何度も利用されるがどのような変数を含んでいるかわからない
2. 何が格納されているかわかったとしても変数の定義がわからない
3. keyの打ち間違いが多発する

このような問題が発生するときにNamedTupleのような構造体を使いたいが,NamedTupleはImmutableな使い方をすべきであり,dictのような使い方をすべきではない.

したがって,今回はdictをNamedTupleのように使うためのコードを紹介する.(改善点はぜひコメントによろしくお願いいたします.)

# コード

“`python
class BaseDict(dict):
def __init__(self, **kwargs):
var_dict = {var_name: getattr(self, var_name)
if hasattr(self, var_name) else None
for va

元記事を表示

CNN&mnistで自ら書いた数字を予測してみた

#はじめに
機械学習界の”Hello World!”であるmnistですが、交差検証法を行うまででとどめる本がちらほらあります。
推論を行うことが機械学習の醍醐味だと思うので、今回は自ら書いた数字を予測してみたいと思います。
CNNを用いて99%を超えることができましたので、モデル構成の参考にもなればと思います。

#mnistとは
MNIST(Mixed National Institute of Standards and Technology database)とは訓練データ60000枚、検証データ10000枚からなる数字のデータセットです。
0~9までの数字を28×28ピクセル、0~255の濃淡で表現しています。
scikit-learnやkerasから直接ダウンロードすることもできます。

#実践
使用するライブラリをインストールしておきます。

“`python:必要なライブラリのインストール
import glob
import re

import cv2
import matplotlib.pyplot as plt
import numpy as np
from

元記事を表示

FIFA21FUTで各能力それぞれ日本人Top3出してみた

技育祭参加したら、outputしたくなったから、久々に投稿する

はじめに

皆さんFIFA21のultimate teamやってますか?
難しいけど、面白いですよね。
(PS4買うお金ないから、switchのレガシーverでやってるけどw)

ultimate team面白いけど、僕には課金するお金も廃人レベルにやるプレイ時間もなく、ヨーロッパの主要リーグの高い選手を買うお金はありません。

なので、コスパがいいJリーグの選手と海外日本人選手で主に日本人で揃えて、FUTをやっています。

そこで、思いました。

**総合パラメータではなく、ペース、シュート、パス、ドリブル、ディフェンス、フィジカルそれぞれで見たら、誰が一番高いのだろうか**

というわけで日本人選手の中でそれぞれ誰が一番パラメータ高いのか見てみようと思います。

[コードはこちら](https://github.com/pinguksk109/fifa21_fut_ranking)

分析

まずは

使用データは、[kaggle](https://www.kaggl

元記事を表示

zipfileを使って複数のzipファイルをまとめて解凍し、それぞれのフォルダに保存するためのpythonコード

大量にダウンロードしたzipファイルを一気に解凍するという場面が時々あったので、メモとして保存します。

“`python3
import zipfile
import os

path = ‘zipファイルが格納されているフォルダのパス’
output = ‘解凍したデータ保存先のパス’

#ファイル名を取得
files = os.listdir(path)

#ひとつずつ解凍
for i in files:
#zipファイル名のフォルダがなければ新しく作る
if not os.path.isdir(output + i):
os.mkdir(output + i)
#解凍
zf = zipfile.ZipFile(path + i)
zf.extractall(output + i)
“`

これで保存先にそれぞれのファイル名のフォルダができ、解凍したデータが保存されました。

最初にやってしまったミスとして、zipファイルを格納しているディレクトリにファイルでないもの(保存先にしようとしていた空のフォルダ)を置いてしま

元記事を表示

Pythonで、小数点以下の表示桁数を固定した上で右寄せにしたい場合

 以下のようなプログラムを書いたとする。

“`python
import numpy as np

for i in np.arange(8,12,0.25):
print(f’ただいまの気温は {i} 度です’)
“`

 結果は以下の通り。

“`
ただいまの気温は 9.0 度です
ただいまの気温は 9.25 度です
ただいまの気温は 9.5 度です
ただいまの気温は 9.75 度です
ただいまの気温は 10.0 度です
ただいまの気温は 10.25 度です
ただいまの気温は 10.5 度です
ただいまの気温は 10.75 度です
“`

 数字の位置が不揃いでぱっと見の大小関係が比較しづらい。これを直したい。

# rjust

 Pythonにはこのような要望に答えるために`rjust`というメソッドがある。自動的に数字を右寄せにしてくれるのだ。しかし、これだけでは上手くいかない。

“`python
for i in np.arange(9,11,0.25):
print(f’ただいまの気温は {str(i).rjust(5)} 度です’)
“`

元記事を表示

Codeforces Round #707 Div1A. Going Home 畳み込みを使った作れる和の数

https://codeforces.com/contest/1500/problem/A

畳み込みを使って解きます。

畳み込みで、和を求めるという演算をどうすればいいかわかりませんでしたが、考えてみるとシンプルでした。ただし、自分自身を畳み込みんでいることや、重複を排除して演算するときの配慮が必要です。

# 題意
– n個の数字が与えられる。 ($n \leq 2 \cdot 10^{5}$)
– 要素は$1 \leq a_i \leq 2500000 $である
– すべて異なるインデックス$i, j, k, l$に対して、$a_i + a_j = a_k + a_l$が存在するか?存在するなら1つ例を挙げよ

# 例
– パターン1: [1,2,2,4,5,7]のとき、例えば $1+5 = 2+4$を作れます(すべて別の数字)ほかに$2+7 = 4+5$でもよいです。
– パターン2: [1,2,2,3]のとき、$1+3 = 2+2$です。これはパターン2に似ていますが少し異なります。
– パターン3: [1,1,2,2,10,100]のとき、$1+2 = 1+2$を作れます

元記事を表示

Python実践データ分析100本ノック作業記録【第一章その1】

# 目的
買ったばかりで使っていなかった本を実践し、データ分析への知見を深める。
特に現在製造業におけるデータ分析を行っているため、得るものは大きそうだと感じた。

# 環境

## 開発環境
IDE: PyCharm Community Edition
Jupyter notebookの出力は本に書いてあるため、コンソールで実行したときにどのような差分が出るかが気になったためあえて素のPyCharmを使った。

## 使用書籍

# ノック内容

## 1本目
本と同じだから割愛……したかったのだが、この時点で色々変わってきた。
大きな差分は次の通り。

・コンソールだとDataFrame.head()単体だと表示されず、きちんとprintで出力する必要がある。
・横幅の問題か、print文では全部表示されなかった。

横幅を全部表示したい場合は次のリンクの通り、設定を触ってあげる必要がある。

https://me

元記事を表示

pandas と matplot で期間をレンジにしたグラフを描きたい。

COVID-19の厚生労働省の公開データ(厚生省のが2020/2/14からの集計)を使ってグラフを描こうとしたところ NHK 発表データ(NHKのが2020/1/16からの集計)と重ね合わせたいと思った。

https://www3.nhk.or.jp/news/special/coronavirus/data-all/?fbclid=IwAR2UQ36PYoP2Kqwv88b-NERAN8PvG9uLUuWEY9VlspBqYZeKI4XJ3fjSpJw

全くグラフの描き方は知らないが、できた。
![395日間死亡数 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225786/603b26a9-a3fc-6d7a-ccbb-ab8bef533453.png)

参考にしたのは、この方の公開されているもの。
https://oku.edu.mie-u.ac.jp/~okumura/python/COVID-19.html

できたが、おかしいところがあるので、その部分をよく見たいと思った。

元記事を表示

実写版ウマ娘攻略(pythonで競馬予測モデルを作成してバックテストする方法~3章バックテスト編~)

前回作成した予測モデルを使ってバックテストをしていきます。
前回記事はこちらです。
https://qiita.com/umaining/items/769fea8d5fb414d249ab
#全体の流れ
今回の記事では「3.バックテスト」を説明します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1186688/da1cfa06-52dd-851b-aada-5dedf195ff68.png)

#バックテスト
予測モデルでは各馬ごとに1着になる確率を計算します。
バックテストでは、予測モデルの確立を元にして馬券を購入するかどうかを決めます。
下記のソースコードでは予測モデルの確率が30%以上(1位になる確率が30%)の時に馬券を購入するということをしています。
バックテストを実行するときは前回作成したモデルと同じディレクトリで実行してください。
(もし別ディレクトリで実行したい場合はfilenameの箇所を変更してください)

“`python:fit_ai_lgb.py
imp

元記事を表示

ROSの勉強 第25弾:ステートマシン(巡回)

# #プログラミング ROS< ステートマシン(巡回) >

##はじめに
1つの参考書に沿って,ROS(Robot Operating System)を難なく扱えるようになることが目的である.その第25弾として,「ステートマシン(巡回)」を扱う.

##環境
#####仮想環境
|||
|:-:|:–|
|ソフト|VMware Workstation 15|
|実装RAM|2 GB|
|OS|Ubuntu 64 ビット|
|isoファイル|ubuntu-mate-20.04.1-desktop-amd64.iso|

#####コンピュータ
|||
|:-:|:–|
|デバイス|MSI|
|プロセッサ|Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50GHz|
|実装RAM|8.00 GB (7.89 GB 使用可能)|
|OS|Windows (Windows 10 Home, バージョン:20H2)|

#####ROS
|||
|:-:|:–|
|Distribution|noetic|
|プログラミング言語|Python 3.8

元記事を表示

実写版ウマ娘攻略(pythonで競馬予測モデルを作成してバックテストする方法~2章予測モデル作成編~)

今回は前回取得した競馬データを使って予測モデルの作成を行います。

前回記事は下記です。
https://qiita.com/umaining/items/be323c1a5e42e0f48987
#全体の流れ
今回の記事では「2.予測モデル作成」を説明します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1186688/da1cfa06-52dd-851b-aada-5dedf195ff68.png)

#モデル作成のイメージ
競馬データを使ってモデル作成をします。
モデル作成する際は、「学習データ」と「予測対象データ」をそれぞれ用意します。
競馬の場合では、「学習データ」に前回人気や前回オッズなどのデータを使用します。
モデルの性能は学習データの質に掛かっているので、ここでどのようなデータを入れるかが一番の肝となります。
予測対象データは着順やタイムなどを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

実写版ウマ娘攻略(pythonで競馬予測モデルを作成してバックテストする方法~1章データ準備編~)

ウマ娘のブームにあやかって、競馬予測に興味を持ってくれる人がたくさん増えてくれると嬉しいです。
python3を使って競馬の予測を行い、予測結果に基づいて購入した結果(バックテスト)を処理するまで記載します。
今回は予測に使用するためのデータを準備するところまで説明します。
(正直、下準備するところまでが一番大変でした。本記事がご参考になれば嬉しいです)

#全体の流れ
今回の記事では「1.データ準備」を説明します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1186688/36aa44f6-9a69-6b9a-90e2-781bee28a137.png)

#競馬DBの準備
まず、競馬予測するためにはレース情報のデータが必要となります。
今回はJRAVANという有料の情報を使って予測していきます。
https://jra-van.jp/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0

元記事を表示

衛星から得られた夜間光データ画像から主要都市を特定してみた

#はじめに
1. Google earth engineから衛星データ(夜間光)をダウンロード
2. numpyやOpenCVで扱える形に加工
3. 得られたデータからmeanshiftを用いて、光が集中している部分を特定

といったことをやりました。

#Google Earth Engineとは
色々な方が解説している内容ではありますが、
GEE(Google Earth Engine)とは、フリー(少なくとも商用でなければ)で
衛星画像のアクセスできるプラットフォームです。

javascriptもしくはpythonによるプラットフォームが提供されているようですが、
各種データの取扱いを楽に行いたいため、ここではpythonを用いました。
なお、先例に倣い、各種コードをGoogle Colab上で動かしています。

#実装
## 事前準備
[Google Earth Engine 公式サイト](https://earthengine.google.com/)の右上にあるSign upから登録を済ませておきましょう.
団体(Institution)を入力する部分があるのですが、

元記事を表示

OTHERカテゴリの最新記事