Python関連のことを調べてみた2022年04月05日

Python関連のことを調べてみた2022年04月05日
目次

python+opencvで画像処理の勉強9 パターン認識

pythonとopencvを使って画像処理を勉強していきます。
今回はほとんど機械学習がメインとなります。細かい理論などはここでは説明しません。

説明が不十分であったりコードが見づらい部分もあると思いますがご了承ください。
誤字や間違いは気づけば修正しますが、お気づきの点があればご指摘ください。

前回
python+opencvで画像処理の勉強8 パターン・図形・特徴の検出とマッチング

https://qiita.com/tanaka_benkyo/items/f65ffabc32538020ba20

まず、画像を読み込む関数と円形度とRGB各色の平均値を計算する関数を定義しておきます。

“`python
import numpy as np
import matplotlib.pyplot as plt
import cv2

def read_img(path, s, gray=False):
img_bgr = cv2.imread(path + ‘/’ + s)
img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_

元記事を表示

Pythonのf文字列(フォーマット済み文字列リテラル)の使い方

前回[Pythonでドラクエ風対戦ゲームを作ってみた](https://qiita.com/TP-faure/items/4c48fa919522aec0ae6d)という記事を書いたところ、早速アドバイスを頂き、分からないことだらけだったので皆様と共有したいと思います。まずはf文字列から!

# f文字列とは

Python3.6から追加された、文字列の中に書式を指定して数値などの値を埋め込めるようにしたもの。f'{値:書式}’という具合に、文頭に「f」をつけてクウォートで文字列を囲み、その文字列の中に波括弧で変数名や式を入れられるようになった。

以前は
“`python
name = ‘太郎’
print(‘私の名前は’ + name + ‘です’)
“`

あるいはformat()メソッドを使って
“`python
name = ‘太郎’
print(‘私の名前は{}です’.format(name))
“`

としていたところをf文字列を使うと
“`python
name = ‘太郎’
print(f’私の名前は{name}です’)
“`
こんな感じ!スマートに書けま

元記事を表示

【機械学習】コンペまとめ

備忘録。随時追記予定。

順位尺度
https://www.kaggle.com/c/prudential-life-insurance-assessment
https://www.kaggle.com/c/crowdflower-search-relevance

元記事を表示

【Python】Split data into Train data and Test data for Cross-validation

# Environment

* Python3
* Anaconda
* Jupyter Notebook

# Packages

“`
$ pip install flicker
“`

“`
$ pip install pillow
“`

“`
$ pip install sklearn
“`

# Assumption

**You have data by here**

↓↓↓

https://www.deep-recommend.com/lab/d3dd44750f33cdd8dc26

# Coding

gen_data.ipynb

“`py
from PIL import Image
import os, glob
import numpy as np
from sklearn import model_selection

classes = [“apple”, “banana”, “grape”]
num_classes = len(classes)
image_size = 50

X = []
Y = []
for i, classla

元記事を表示

【VisibleDeprecationWarning】Why is it deprecated to generate ndarray objects from jug arrays?

“`
[
[1,4],
[1,2],
[5,6]
]
“`

If you are trying to create an array of arrays that are dimensionally aligned (in both of the above examples, one dimension is two elements), such as
You can make a clean two-dimensional array, so it can be put into ndarray straightforwardly.

“`
[
[1],
[1,2],
[‘one’]
]
“`

“`
[
[1], // No second element in the first dimension!
[1,2],
[‘one’] // No second element in the first dimension!
]
“`

It does not become an array with data as neat

元記事を表示

機械学習が独学できる日本語Youtube難易度別まとめ

こんにちは。

在宅の機会が増えて以来Youtubeを見る機会が増え、機械学習などが勉強できるチャンネルをいくつか探しては見ていました。探した中でよかったと思ったものをメモしていたのですが、せっかくなので公開したいと思います。**日本語のソースがあるもののみ**対象にしており、『これ無料でいいのか?』と思ったチャンネルを紹介したいと思います。**主観で以下のレベルに分けましたがあくまで参考程度にお願いいたします**。

– 基本:Pythonを触ってみた人
– Pythonの説明・動かし方などを解説していて、動画によっては踏み込んだ内容になる
– 応用:アルゴリズムを使いこなしたい人
– 「model.fit(X, y)して動かしてみた」よりも踏みこみ、Python自体の説明は少ない
– 発展:研究開発もしたい人
– 最新の手法の仕組みの理解などが主眼であり、Pythonの解説はほぼ無い

もしおすすめのチャンネルございましたらぜひコメント欄で教えていただけるとたいへんありがたいです。

# 対象としている読者
– 機械学習を学びたい
– 日本語で公開されているものを知りた

元記事を表示

tkinter.filedialogで取得したパスのセパレータを信用してはいけない

Windowsでのお話です。
tkinter.filedialog.asksaveasfilename()で指定したファイルがあるフォルダを開きたいとします。
直感的に以下のコードを書きます。

“`py
from subprocess import Popen
from tkinter.filedialog import asksaveasfilename

file_path = asksaveasfilename() # D:\github\sample.json を選択する
Popen([‘explorer’, ‘/select,’+file_path])
“`
“`
#=> PCが開く
“`
なんで???

“`py
print(file_path)
print(folder_path)
“`
“`
D:/github/sample.json
“`
セパレータがバックスラッシュではなくスラッシュになっている。
“`py
from os.path import sep
from subprocess import Popen
from tkinter.f

元記事を表示

ambientへ送る、questへ送るpython

# 実行手順

1.switchbot温度計とCO2(mh-z19b)をambientに送る

2.quest2にCO2とT265を送る
a) co2
ls -l /dev/hi*をすると,
“`
pi@raspberrypi:~ $ pi@raspberrypi:~ $ ls -l /dev/hi*
crw-rw—- 1 root plugdev 244, 0 Mar 9 01:19 /dev/hidraw0
crw——- 1 root root 244, 1 Mar 9 01:19 /dev/hidraw1
crw——- 1 root root 244, 2 Mar 9 01:19 /dev/hidraw2
crw——- 1 root root 244, 3 Mar 9 01:19 /dev/hidraw3
crw——- 1 root root 244, 4 Mar 9 01:19 /dev/hidraw4
crw——- 1 root root 244, 5 Mar 9 01:19 /de

元記事を表示

ABC246 A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ABC246(AtCoder Beginner Contest 246) A~D問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

https://qiita.com/sano192/items/54accd04df62242b70f0

# A – Four Points

https://atcoder.jp/contests/abc246/tasks/abc246_a

答えの座標を(x4,y4)とします。

まずは図を描いてみましょう。
![ABC246_A_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700383/22e70368-e358-870d-90da-c1c320a84e50.png)

この図の場合だと
x4=x1
y4=y3
となります。
このときx2=x3、y1=y2となっていることがわかります。

長方形ではx座標、y座標について、2つの組が必ず同じになるわけですから、答えは以下のように計算できます。
x1=

元記事を表示

ウィンドウの情報を調べる(Python,Windows)

# この前
Kindle for PCのスクショを撮るPythonプログラムの記事を書きました。

https://qiita.com/dengax/items/d2f64d462715a640184b

スクショ自体はちゃんと撮れているようなのですが、本当に突貫で作ったので、幾つか気に入らない所がありました。

#### コミックなどの画像のみの電子書籍の左右に巨大な黒余白が出来る
 一番の問題はこれなんですが、これに関しては別プログラムでそのうち対応出来ればいいと思っています。というか、一応出来てはいます。

#### 白黒画像をカラーとして保存するのでサイズが大きくなる
 これも別プログラム対応したいと思っています。

#### タイトル入力時にキャンセルを押すとエラー終了する
 まあ、エラーチェックくらいしとけよって事ですね。

#### たまにフルスクリーン化に失敗する。
 この原因は恐らくマウスを動かすと起こります。Kindle for PCを最前面に持ってきた後、一度タイトルバー上で左クリックをしているので、そのときにマウスが変な所に移動しているとフルスクリーン化に失敗し

元記事を表示

heroku + tweepyを使ってbotを作る際に大変だったところ(備忘録)

# Botを作りてぇ!!(唐突)
題名のまんまです。
TwitterでBotアカウントを初心者ながら作ってみたくいろいろ調べながら作成していく上で大変だったところをいくつかピックアップしていきたいと思います。(備忘録として)

今回作成したBotは以下のアカウントになります。

そうです。
ツイート内容を見たらわかるのですが一日づつ栗饅頭が二倍になっていくというだけのbotになっています。
英語があまり読めない私にとってこれだけの内容でもかなりてこずってしまったので、今回はその中でも大変だった部分をまとめていきたいと思います。

# 環境

– Windows 11
– python 3.8.12

pythonプログラムをheroku上で動かす場合、pythonのバージョンに注意してください。

対応バージョン
https://devcenter.heroku.com/ja/articles/python-support

# ファイル構成

ファイル構成は以下のようになります。

“`
app/
 ┣ src/
 

元記事を表示

pipenvで”Error: the command get_cpu.py could not be found …”

シェルでpipenvを動かそうとしたら……
“`
$ pipenv run get_cpu.py
“`

こんなエラーが出ちゃった!
“`
Error: the command get_cpu.py could not be found within PATH or Pipfile’s [scripts].
“`

解決方法→
単に’python3’をつけて実行指示出すの忘れてただけでした(下正解)。

“`
$ pipenv run python3 get_cpu.py
“`

# あとがき

こんなエラー五秒で直してやったぜ!

元記事を表示

( ^ω^)は突貫スクレイピングを強いられてるようです

※[こちらの続きです](https://qiita.com/oneseekyes/items/bfbb3120f9770312b877)
※ここに書かれている内容は( ^ω^)が初心者以外実際の企業・人物・団体には関連ございません。
※相変わらず初心者がPythonに翻弄されているだけで1ミリも為にならないと思います。

~簡単な前回のあらすじ~

( ^ω^)は上司から転職初日に1行1時間かかるという伝説のExcel表埋めを強いられた。
( ^ω^)は合計で2500行以上もある事に発狂しかけ、夜中に雄叫びをあげながらスクレイピングに逃げたのだった・・・

いんとろだくしょん

(´・ω・`)「おー!? なにこれ!?!?」

( ^ω^)「日曜日暇だったから作ったお、長岡賃貸サイトからこういう風にとれたお。1件ずつcsvになっちゃったけどExcel使えば一括で取り込み出来るし横持ちも出来るんじゃないかお(適当)」

(´・ω・`)「すごいね!! じゃあ他のも取れる? この検索サイトからできればとってきてほしいなあ! ここ老舗だから情報多いんだよね!」(PCチラッ)

元記事を表示

Kaggleの臨床検査データセットを使ってみた⑤ ~不均衡データの取り扱い~

## 概要
Kaggleの血液検査データセットを使ってデータ分析をしてみた。
いろいろ試してみた結果、量が多くなったので分割します。
今回はその⑤ (全5回)

**他の回はこちらから**
[①~モデルの性能比較をしてみた~](https://qiita.com/tuk19/items/b0df794d4d827511adf1)
[②~特徴選択をして、重要度を可視化してみた~](https://qiita.com/tuk19/items/dd759caded18d0aeeb20)
[③~アンサンブル学習をしてみた~](https://qiita.com/tuk19/items/b2d26c47ee51b5bad0b9)
[④~外れ値の取り扱い~](https://qiita.com/tuk19/items/7c1f8090a3c93aa8ff49)

使用したデータセット:[Patient Treatment Classification (Electronic Health Record Dataset)](https://www.kaggle.com/datasets/saurab

元記事を表示

PPAPを拒否するMilterを作ってみました

# PPAPを拒否するMilterを作ってみました

## はじめに

PPAPなメール、つまり、暗号化されたパスワード付きzipが添付ファイルに含まれているメールを拒否するMilterを作ってみました。

https://github.com/hirachan/no-ppap-milter

今回は、使い方を簡単に説明します。
環境は、手元にあったCentOS7ですが、どの環境でも大して変わらないと思います。

## 事前準備

使用しているライブラリ`pymilter`がCのmilterとリンクしますので、gccとpython, sendmailそれぞれの開発用ライブラリが必要です。

“`console
yum install -y python3-devel gcc sendmail-devel
“`

Ubuntuの場合は、

“`
apt-get install -y gcc python3-dev python3-pip libmilter-dev
“`
です。

## No-PPAP-Milterのインストール

“`console
pip3 install

元記事を表示

【備忘録】PythonでPDF出力してみよう reportlab編

# 経緯
DjangoでPDF出力を行いたい。PC環境にインストールなどは行いたくなく、pipでインストールできるreportlabを採用。
恐らくまた使用する機会があると思うので、備忘録として残しておく。
始点終点を指定する方法よりめちゃ楽なのでオススメ。

# 参考にさせて頂いたサイト
https://qiita.com/kokardy/items/92e8f3b65c965e20de34
タイトル笑いました。
ただ、確かに少しぐぐったところこのやり方で行うサイトは少ない。
(ほかのサイトは始点、終点を全て指定して記載する方法)

https://www.reportlab.com/docs/reportlab-userguide.pdf
reportlab ユーザーガイド(英語)

# reportlabインストール
pythonはインストールしている前提です。
ここでは3.9.7を使ってます。

~~~cmd
python -m pip install reportlab

Collecting reportlab
Downloading reportlab-3.6.9-c

元記事を表示

mcrconを利用してpythonからminecraftサーバにコマンドを出力する

mcrconについての記事が少なくて困ったので備忘録。

mcrconの導入

任意のコンソール(本記事ではgitbashを使う)で次のどちらかを行う。

“`ruby:gitbash
pip install mcrcon
python -m pip install mcrcon
“`

まず初めに準備

サーバ側のserver.propertiesを次のように書き換える

“`ruby:server.properties
:
rcon.port=任意のポート番号  #約24行目 初期設定:rcon.port=25575
:
rcon.password=任意のパスワード #約34行目 初期設定:rcon.password=minecraft
:
enable-rcon=true         #約40行目 初期設定:enable-rcon=false
:
“`
‣`rcon.port=`ではポート番号の指定ができるが特に特別な理由がない限り`25575`にするのが無

元記事を表示

Kaggleの臨床検査データセットを使ってみた④ ~外れ値の取り扱い~

## 概要
Kaggleの血液検査データセットを使ってデータ分析をしてみた。
いろいろ試してみた結果、量が多くなったので分割します。
今回はその④ (全5回)

**他の回はこちらから**
[①~モデルの性能比較をしてみた~](https://qiita.com/tuk19/items/b0df794d4d827511adf1)
[②~特徴選択をして、重要度を可視化してみた~](https://qiita.com/tuk19/items/dd759caded18d0aeeb20)
[③~アンサンブル学習をしてみた~](https://qiita.com/tuk19/items/b2d26c47ee51b5bad0b9)
[⑤~不均衡データの取り扱い~](https://qiita.com/tuk19/items/ade9a23ce80988aa6a30)

使用したデータセット:[Patient Treatment Classification (Electronic Health Record Dataset)](https://www.kaggle.com/datasets/sau

元記事を表示

BoWモデルをPyTorchで実装する

深層学習を用いた自然言語処理の入門として、BoW (Bag-of-Words) モデルをPyTorch で実装します。

# 練習用データ

UCI の Machine-Learning Repository の SMS Spam Collection データセットを使います。与えられた文章から、それがスパムかどうかを判定する問題です。

“`python
import os
import requests
from zipfile import ZipFile
import io
import csv

save_file_name = os.path.join(“temp”, “temp_spam_data.csv”)

# もしも元データがなければダウンロードする
if not os.path.exists(“temp”):
os.makedirs(“temp”)

if not os.path.isfile(save_file_name):
zip_url = “http://archive.ics.uci.edu/ml/machine-learning-d

元記事を表示

Rで書かれた異常検知に関する本のコードをpythonに移植する(今のところ第2章のみ)

# やったこと
– タイトルの通り、以下の本のコードを一部`R`から`python`へ移植した。
– https://www.coronasha.co.jp/np/isbn/9784339024913/
– 現在は2章のみ。今月中にある程度カタをつけたいなの気持ち。
– `python`のみでなく、`Julia`にも移していければいいなの気持ち。
– 移植できた部分は、`RPubs`で公開した。
– https://rpubs.com/yaminabeworks/ideodpyjl

# なぜやったのか
– 今筆者は`R`のコードを読める必要と`python`などのコードを書ける必要がある。
– `R`で書かれた実装を移植することで経験値にしていきたいという気持ち。
– 異常検知分野だといまだに話題に上がる本なので取り組んでみることに。
– まだやってないけど、第3章と第4章は結構いい感じがするのでこの機会に精読したいという気持ち。

# 参考文献

1.は参考としている書籍となります。2.は、この記事よりもよほど詳しく丁寧に同じことをやられている記事となってい

元記事を表示

OTHERカテゴリの最新記事