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

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

Kaggleの画像コンペに初心者だけでチーム組んで挑んでみたら銅メダル取れた話

#はじめに
表題そのまんまですが、深層学習を勉強し始めてすぐに無謀にもkaggleの画像コンペに挑戦し、コンペ終了時点で学習期間3か月ちょっとの初心者チームが、銅メダルを取る(116位/1324)に至るまでの記録を書いていきます。
初心者がどうやってコンペに取り組んだかの記録がメインの話で、これからkaggleに参戦してみようかと思ってる人やチームを組もうか迷っている人の背中を後押しすることを目指した記事としています。
手法的な部分で参考になるようなものは少ないと思いますので、予めご了承ください。

#どんなコンペに参加したか
[SIIM-FISABIO-RSNA COVID-19 Detection](https://www.kaggle.com/c/siim-covid19-detection/overview)という画像コンペに参加しました。コンペの開催期間は5月18日から8月10日まででした。
肺のレントゲン画像に対して、新型コロナ感染症の罹患状況を表すnegative、typical、indeterminate、atypicalの4種に分類する分類タスク(Study-l

元記事を表示

【100 numpy exercises】でnumpy力を鍛える!(1〜10問目)

最近、機械学習を学んでいるのですが、numpyを本格的に活用する機会がありそうなので学び直そうと思いました。

練習問題として「100 numpy exercises」というものがありました。

これはGitHub上に公開されており、ローカルにダウンロードすれば問題を解くことができます。

https://github.com/rougier/numpy-100/

上記ページから「Code」というボタンを押し、「Download ZIP」を選択してから好きな場所にダウンロードしてください。

その中の「100_Numpy_exercises.ipynb」というものが問題集なので、Jupyter Notebookで開きます。

開いたら一番初めのセルを見てください。

“`ruby:100_Numpy_exercises.ipynb
%run initialise.py
“`

initialize.pyモジュールを実行すると、各質問に対してhint(n)またはanswer(n)でn個の質問番号の答えやヒントを問い合わせることができます。

準備が整ったら、早速1~10問やっていき

元記事を表示

【Python】seabornでのグラフの書き方まとめ

# はじめに
Kaggleの[Courses](https://www.kaggle.com/learn)にて、`seaborn`を使ったデータの可視化について学びました。[Data Visualization](https://www.kaggle.com/learn/data-visualization)
復習と後から確認できるように各グラフの使い方を一覧にまとめます。

# ライブラリのimport

“`python
import pandas as pd
# pandas+Matplotlibでdatetime型のデータを扱う場合、以下を実行しないと警告が出る。
# 扱うデータにdatetimeが無いのであればいらない。
pd.plotting.register_matplotlib_converters()
# notebook上で出力行にグラフを表示するためのおまじない。
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
“`

# 折れ線グラフ(Line Chart)

元記事を表示

Db2 on CloudのREST APIを使用したデータロード (python & curl)

`「Db2 on Cloudを使ってみる」シリーズ`

Db2 on CloudはREST APIで操作可能です。
APIドキュメントは[こちら](https://cloud.ibm.com/apidocs/db2-on-cloud/db2-on-cloud-v4)。

当記事ではDb2 on CloudのREST APIを使用したデータロードの方法を説明します。RESTなのでcurlコマンドで実行可能ですが、ヘッダーやパラメーターの設定やレスポンスのパースが面倒なので、pythonを使用したコードで説明します。一応curlコマンドでの方法も載せます。

こちらで使用しているpythonのコードはnotebookとして以下でダウンロード可能です:
https://github.com/kyokonishito/Db2onCloud_RESTAPI/blob/main/notebooks/Db2_on_Cloud_API_Load.ipynb

**重要**

– 2021年8月10日現在、ロードするCSVファイルの一行目にヘッダー(項目名)が付いているファイルは、ヘッダーを除いたロード

元記事を表示

Pyspark 文字列置き換え

# 内容
“`
| 1| sample1|sample_1|2021/07/14| A| null| null| null| 11:22:33|
| 2| sample2|sample_2|2021/07/15| B| null| null| null| 11時間22分33秒|
“`
1が正常系、2が異常
11:22:33としたいが11時間22分33秒となってしまっているので置き換えたい

# やること
“`python
from pyspark.sql.types import *
from pyspark.sql import functions as F

def time_format_method(x):
x = x.replace(“時間”, “:”).replace(“分”, “:”).replace(“秒”,””)
return x
time_format = F.udf(lambda z: time_format_method(z), Stri

元記事を表示

こどもの自由研究にGCP AppEngineアプリ作成のススメ

#はじめに
小学校4年生の長男の自由研究でGoogle Cloud PlatformのAppEngineにアプリ(底辺と高さの値を入力すると三角形の面積を求めるアプリ)をデプロイすることに取り組んでみたという記事です。
なお、この取り組みは**Google Cloud Platform GAEソフトウェア開発入門――Google Cloud Authorized Trainerによる実践解説 (Software Design plusシリーズ)**の第6章までを参考(いや、参考というより大部分を写経)して作成しました。
アプリについては百聞は一見に如かず、https://itsk-project.an.r.appspot.com/
をご確認ください。

#GCPがすごい
まず、GCPがすごいです。なぜならCloudShellを使うとサーバー上がローカルのテスト環境となり、
**gcloud app deploy ./**
このコマンドですぐにアプリがデプロイでき、web上でアプリが動くのですから。

#やったこと
##1日目
長男に取り組ませる前に、上記した参考図書を約1日かけて予習し

元記事を表示

LeetCode “42. Trapping Rain Water” のApproach 2をPythonで書いた話

昨日、LeetCode “42. Trapping Rain Water”に挑戦したものの、Timelimit Exceededで解けませんでした。
LeetCodeは一部の問題について無料で解答例の方針とコードを見ることができます。
この問題については、解答例のコードがC++で与えられています。
その方針のうち、Approach 2が私にとって理解しやすかったです。
私はPythonしかできないので、PythonでApproach 2を実装します。

#問題

こちらから挑戦できます。
https://leetcode.com/problems/trapping-rain-water/

>
>n個の非負整数が与えられています。それらの非負整数は、標高の地図を表しています。(各非負整数が表す)バーの幅を1とします。この標高地図は、降雨の後にどれだけの水をためられるでしょうか。計算してください。
>

#昨日の失敗
LeetCode “42. Trapping Rain Water”が再帰関数で解けなかった話
https://qiita.com/Takeshi_Sue/items/ed

元記事を表示

Pythonでオリジナルのドット絵エディタを作る(3) – FFT機能の実装

#はじめに
[前回の記事](https://qiita.com/Hisan_twi/items/d9cb985ef1ca6b660c08)で作成したドット絵エディタにお遊び機能として高速フーリエ変換(FFT)機能を追加します。
搭載する機能の仕様は以下の通りです。

– FFTボタンをクリックするとペイントツールで描いた原画像をFFTしてそのパワースペクトルと位相像を表示する。
– IFFTボタンをクリックするとパワースペクトルと位相像から原画像に逆変換する。
– ライブFFTボタンを有効にするとペイントツールや編集ボタンで描画したしたときに自動で上記の相互変換を行う。
– パワースペクトルおよび位相像のキャンバスにも原画像のキャンバスと同じようにペイントツールでドット絵が描ける。

#環境

前回から使用している環境に加えてmathライブラリを使用します。
mathは標準ライブラリのためインストールは不要です。
円周率(`math.pi`)を使用するだけなので、直接数値を入れるなどして代用する場合は不要です。

#解説
FFT機能の実装方法を解説します。

###キャンバスの準備

元記事を表示

ラズパイ + Google Data Portalで自宅の気温・湿度をグラフ化

# これなに
 ラズパイで自宅周りの気温・湿度を取得して、スマホやPCでサクッと見れるようにしました。

 出来上がりは下記リンクになります。

 [自宅周辺の気温・湿度の推移](https://datastudio.google.com/reporting/b23d3e68-28d9-40bf-9f5f-0016b939e24a/page/2UUXC)

# 動機
 Google DataPortalを使えるようになりたいなーと思っていたので、練習のためにやってみました。
 実際に作ってみると、なんとなく暑いなーと思っていたものが、何時から暑くなり始めて何時頃まで暑いのか、夜は何℃くらいまで下がるのかといったことがわかるようになって、色々面白いです。一家に一台くらいあってもいいかも。

 こだわった点としては、データを見る時にスマホでサクッと見れるという点を一番のポイントとして考えました。

 なお、パソコンは本業ではないので洗練された手順になっていないと思います。もっといい方法やスクリプトの書き方等あれば教えていただけるとありがたいです。

# 概要
![get_temperat

元記事を表示

好きなアイドルの曲に同じ言葉が何回出てくるか調べる

#はじめに
「=LOVE」というアイドルが好きです。

指原莉乃さんが作曲する歌詞が印象に残る曲ばかりなのですが、
特に好きな1曲(『桜が咲く音がした』)に同じ言葉(桜)が何回出てくるか調べました。

#環境
Mac OS 10.15.7
Python 3.8.8

#コード
“`python:test.py 
file = “test.txt” #ファイル名
with open(file) as fileobj: #ファイルオブジェクトを作る
text = fileobj.read() #ファイルを読み込む
t = str(text) # 文字列に変換
print(t.count(“桜”)) #数を数えて表示
“`

#終わりに
3回でした!
意外と少なかった。

#参考文献
https://www.lyrical-nonsense.com/lyrics/equal-love/sakura-no-saku-oto-ga-shita/

元記事を表示

【Python】xonsh で cd した後に ls してくれる関数

# 0. はじめに

初投稿となります。間違っているところや、説明が不十分なところがありましたら、ご指摘いただけると大変嬉しいです。

# 1. きっかけ

私は以前、シェルは zsh を使っていました。その時、[こちら](https://qiita.com/k941226/items/e0b9a4fa06bab275f96b)の記事を参考に「cd した後に ls してくれる関数」を .zshrc に記述し使用していました。
ある時、[こちら](https://qiita.com/yoidea/items/61ac5356b63437963382)の記事などから、Python で動くという非常に魅力的なシェル「xonsh」の存在を知り、すぐに導入しました。(この時同時に Hyper も知り、かっこいいなぁと思い導入しました。)
xonsh では、Python で作成した自作関数をシェルコマンドとして使用できるので、**自分オリジナルの「cd した後に ls してくれる関数」**を作ってみることにしました。

# 2. 「cd した後に ls してくれる関数」で使用するメソッドを作成す

元記事を表示

stylegan2-ada のアニメ画像の学習済みモデルの公開(CPUで動作可能)

## はじめに

– [StyleGAN2 ada](https://arxiv.org/abs/2006.06676) の検証とモデル公開
– CPU でのデモとその手順

## この記事の対象者

ディープラーニングモデルを手軽に実装したい方

# デモ

モデルとコードはよ!
って方のためにこちらの[Github](https://github.com/syu-tan/yomaker)で公開しています。

## 必要な環境

– python環境
– git

## 手順
“`shell
git clone https://github.com/syu-tan/yomaker.git
cd yomaker
pip install -r requirements.txt
“`

学習済みのモデルを Google Drive からダウンロードして `weights/` に配置する

“`
python generate.py –outdir=out –trunc=1 –seeds=1 –network=./weights/00024-256px-animeportr

元記事を表示

Django カスタムユーザーモデル作成時マイグレーションエラー

#カスタムユーザーモデル作成時マイグレーションエラー

“`bash
$ python manage.py makemigrations
“`
カスタムユーザーモデルを作成しマイグレーションを実行したら以下のエラー文が出力された。

“`
$ python manage.py makemigrations
SystemCheckError: System check identified some issues:

ERRORS:
accounts.CustomUser.groups: (fields.E304) Reverse accessor for ‘accounts.CustomUser.groups’ clashes with reverse accessor for ‘auth.User.groups’.
HINT: Add or change a related_name argument to the definition for ‘accounts.CustomUser.groups’ or ‘auth.User.groups’.
account

元記事を表示

bulma とflask_mailを使ってメール送信

https://qiita.com/im02kai/items/4a7f1957f2a2b993d1ea
からのつづき

#前回のファイルを書き換え
“`html

“`

#インストール
pip install flask
pip install flask_mail

#app.pyをつくり

“`python:app.py
from flask import Flask
app = Flask(__name__)

@app.route(“/”)
def hello():
return “Hello World!”

if __name__ == “__main__”:
app.run( port=8000, debug=True)
“`

#flask_mailを定義
sakura internetのSMTPサーバーを使う場合で
sample@sample.sakura.ne.jp から sample@gmail.comに送るとして

“`

元記事を表示

Pygameでコントローラ(JC-U3912T)の制御スクリプト作成してみた

## はじめに

電気屋で見つけたコントローラをPygameで制御するスクリプトを作成します。
購入したのは ELECOM製の `JC-U3912T` というPC用のゲームコントローラです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274270/6dd9ef57-f1eb-dada-e28d-cc680aeb6dd8.png)

## 環境

コントローラ制御スクリプトは、Windows10で実行しました。

“`powershell
PS C:\> python -V
Python 3.9.5
PS C:\> pip list | Select-String -Pattern “pygame”

pygame 2.0.1

PS C:\>
“`

## Pygameのインストール

Pygameのインストールコマンドです。

– windows10
– `pip install pygame`
– Ubuntu
– `sudo

元記事を表示

品質の基礎 資料集(9) 散布図

# python

Pythonでグラフ作成(散布図)
https://qiita.com/tsawa/items/18d8989f477f5cf4198a

pythonで3次元の散布図
https://qiita.com/pegasusBS15/items/3445c5ad1a70f61c85d4

pythonで散布図行列を描く
https://qiita.com/sz_dr/items/4b9fae1052e40122725c

[Python]Matplotlibによる極座標表示の散布図
https://qiita.com/supersaiakujin/items/34659d94fe377d2b0ab5

【Python】複数クラスタの散布図を描くなら
https://qiita.com/yuto16/items/8152393bafe7686eeceb

PyPlot(3) 散布図のProjection色々
https://qiita.com/iwama_takumi/items/231dd03593c79495b866

# R

【R】散布図を描く方法
https:/

元記事を表示

Python 元号(和暦)年を西暦に変換する その2

前回記事と目的は同じだが、ジェネレータ(イテレータ)として使えるように手を加えた。
というかジェネレータで動かせるようにすることが目標だったし一旦備忘録として残しておく。

* Python3.3以上
* ひとつ前の記事に同じ

イテレータで処理できると何がうれしいかというと

## メモリに乗らないような巨大ファイルの変換とか

“`python
with open(“big_wareki.txt”) as f, open(“big_seireki.txt”, “w”) as w:
for word in gengo2date(f):
w.write(w)
“`

## IOネックなデータのストリーミング変換とか

“`python
import urllib.request
with urllib.request.urlopen(‘http://www.example.com’) as response:
dl = (b.decode(‘utf-8’) for b in response)
for word in gengo2date(

元記事を表示

Flask-RESTX でサンプルアプリケーションを作ってみた

![swagger.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/780549/d0e2b8b7-9e10-04f7-7c83-1661a9afe605.png)

python のマイクロフレームワークである [**Flask**](https://flask.palletsprojects.com/en/2.0.x/) と、それを拡張する [**Flask RESTX**](https://flask-restx.readthedocs.io/en/latest/) 、オブジェクトのシリアライズ/デシリアライズで人気の [**Marshmallow**](https://marshmallow.readthedocs.io/en/stable/)(今回はリクエストのバリデーション目的) を使って restful な api を作ってみたいと思います。

## 環境構築

docker を使って開発環境を作ってみます。docker 起動時にカレントディレクトリを docker コンテナにマウントさせて

元記事を表示

UnidentifiedImageError: cannot identify image file の解決方法について

#はじめに

kerasで画像認識をしている中、GoogleColaboratoryからjyupiter labに変更し、実行しようとしたときに発生しました。
調べても具体的な解決方法がなかったので私が解決した際に行ったことを記載しようと思います。

#原因と解決
どうやら学習用に用意した画像をちゃんと認識できていないようなので、pythonの組み込み関数であるopenを使用して一度開いてみればよさそう。
開けない画像は編集するなり削除すれば解決しそう。

#実際に使ったコード
いくつかラベルを用意しているため、各ラベル一気にできるようにしました。
今回は数が少なかったため、コードを実行しエラーが出たら該当ファイルを編集で済みましたが、数が多いならエラー構文を使って読み込めないファイルを全てピックアップすればいいかと。

“`py
import glob

dirs = [“フォルダ名”]

for dir_name in dirs:
for file in glob.glob(dir_name + “/*.jpg”):
file_data = open(fi

元記事を表示

Twitterアカウントがシャドウバンされてないか自動で確認する【TwitterAPI不要】

#要約
Twitterアカウントがシャドウバンされているかを[https://shadowban.eu/](https://shadowban.eu/)を使って定期的に自動で確認し、Discord等に通知する方法を紹介します。

#はじめに
Twitterで、シャドウバン、というものがあります。

シャドウバンはアカウント凍結の一歩手前の状態と言われており、
普通のアカウント凍結とは違い、

* シャドウバンされた当人はシャドウバンされたことが知らされない
* 検索窓からシャドウバンされた垢のツイートを検索しても出てこなくなる
* 他のアカウントへのリプライが表示されなくなる

といった症状になります。
ちなみにTwitter公式はシャドウバンは存在しない、と主張してますが、検索結果に順位付けをしていることは認めているようです。
また、[シャドウバンについて研究した論文](https://arxiv.org/abs/2012.05101)でも、シャドウバンが存在していることを示唆してます。

一言でシャドウバン、といっても4種類あり、

* Search Suggestion Ban

元記事を表示

OTHERカテゴリの最新記事