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

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

ロジスティック回帰(備忘録)

ロジスティック回帰分析ついての備忘録。(個人メモ)

# ロジスティック回帰とロジットリンク関数
確率分布に二項分布(Binomial Distribution)、リンク関数にロジットリンク関数を指定した一般化線形モデル(GLM)が、**ロジスティック回帰**。

二項分布では、事象の発生確率 $p_i$ を指定する必要があり、$p_i$ の値の範囲 0≥$p_i$≥1 (確率なので0~100%の範囲)を表現するために適したリンク関数が、ロジットリンク関数。

## ロジスティック関数
ロジットリンク関数は、ロジスティック関数の逆関数。ロジスティック関数は、以下の式で表現される。
$z_i$ は線形予測子 $z_i=α_1+β_1x_1+β_2x_2…$   ・・・α:切片 $β_i$:係数

$$ p_i=logistic(x_i)=\frac{1}{1+\exp(-z_i)} $$

### ロジスティック関数を描画(シグモイドカーブ)
上記の式の $z$ を ***-10〜10*** で変化させた時の曲線を描画してみる。
$z$ がどのような値になっても 0≥??≥1 に

元記事を表示

Pythonのデコレータってなんですか? と採用面接で聞かれて答えられなかった話

先日、面接の際にわかりますか? って聞かれてなんだっけ? となって結局わかりませんと答えてしまったので、情けなく感じたので復習します。
現役の方のツッコミや実践的な例等ご教授ありましたら是非コメント欄へお願いします。
すごく助かります。

[参考:Pythonのデコレータを理解するための12Step](https://qiita.com/_rdtr/items/d3bc1a8d4b7eb375c368)

## 結論

デコレータは関数を引数にとって、さらに新たな関数を返すcallable()(指定した引数が呼び出し可能かどうかを判定する関数)のようなものである。
ここから転じて引数の関数の中身を変えずに、実行結果を修飾(語弊があるが感覚としては編集)することができる。
似たようなのにOverrideがあるけれど、こちらは親クラスのメソッドを上書きして子クラス等で使うもので、デコレータを使うのとではその違いが見れる。
以下参考記事の例を参照したものです。

“`python

# まず基本のクラス
# 初期値としてx,yの座標を受け取って座標を返すというメソッドを持つ
class C

元記事を表示

定期的にネットワーク速度を計測してスプレッドシートにまとめる part2

## できたもの

こんな感じで1時間ごとに自宅のネットワーク速度を計測してGoogleスプレッドシートにまとめてくれるようになりました。

![スクリーンショット 2021-03-25 0.03.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/354517/73a31ee9-0875-28fd-d05a-00b3497462ee.png)

ネットワーク計測とGASにPOSTをリクエストするスクリプトの作成とGASでウェブアプリの作成が主な作業内容です。

下記を参考に作成しました。

https://qiita.com/tomatosum/items/40cc34015b1aa96bfc63

part1でネットワーク速度の計測までできたので、
スプレッドシートにまとめられるようにウェブアプリケーションを作成します。

## GASでウェブアプリケーション作成

スプレッドシートをひらいて 拡張機能 -> App Script を選択します。
開いた先で、下記のコード記述します。

“`jav

元記事を表示

定期的にネットワーク速度を計測してスプレッドシートにまとめる part1

## できたもの
こんな感じで1時間ごとに自宅のネットワーク速度を計測してGoogleスプレッドシートにまとめてくれるようになりました。

![スクリーンショット 2021-03-25 0.03.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/354517/ea45b82d-9bc4-a01d-6592-440d1ff7fa6a.png)

ネットワーク計測とGASにPOSTをリクエストするスクリプトの作成とGASでウェブアプリの作成が主な作業内容です。

下記を参考に作成しました。

https://qiita.com/tomatosum/items/40cc34015b1aa96bfc63

## ネットワーク速度の計測
pythonのツールであるspeedtestを使用して計測します。

https://github.com/sivel/speedtest-cli

まずはインストールします。

“`bash
$ pip install speedtest-cli
“`

これで計測できる

元記事を表示

Pythonでシグナルをもっと簡単に

# はじめに
本記事は、「手間いらずにPythonでシグナルをExceptionっぽく簡単に扱えるようにしたい」という方向けです。
バリバリ本気でシグナルを使いこなしたい方は[公式ドキュメント(signal)][signal]を参考にしてください。

# TL;DR
[ここ](#理想の使い方を追い求め)に使い方が書いてます。
ソースコードは[ここ](#作ったソースコード)に記載の内容をコピペしてください。

# モチベーション
「シグナルで割り込みかけられる処理を、例外処理っぽく書けたらめっちゃ楽なのになぁ」という考えから、シグナル処理を例外っぽく書けるモジュールを作りました。
通常シグナルは使わないことの方が圧倒的に多いですが、使いたいときになって調べて、Pythonっぽくない書き方を要求されるので、使うのに少し困惑します。
対して、自前でプロセスを立ち上げて協調的な処理をしたりしたり、他言語で作ったプロセスと協調的に処理をしたい場合、シグナルは比較的便利だったりします。例えば、CとPythonで協調的に処理をしたい場合に、プロセス間通信は[POSIX IPC]や[socket]を使

元記事を表示

Google Blocklyを使って、ブロックの組立てた後、プログラミング言語(JavaScript,PHP, Python.. etc)を自動生成してみた

#### Google Blocklyとは?
– 2013年にgoogleにて、公開されたビジュアルプログラミングツールです。
– 様々なコンテンツがありますが、その一部を紹介します。ブロック組み立て後は、プログラミング言語(javascript, PHP, Python.. etc)を自動出力できるページです。
– 今回の利用したページ: [Blockly > Demo > Code Editor](https://blockly-demo.appspot.com/static/demos/code/index.html)

#### 今回のお題
4桁の入力チェック

#### 今回の処理のイメージ
![20210319182052.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/778930/a7d5a7bb-e71b-90bf-06c2-1e8d6f2a350f.png)

#### 今回のブロック
1. 入力ウィンドウ
2. 三項演算子
3. 文字列の出力

#### 今回組み立てたブロック

元記事を表示

Pythonで学ぶ制御工学 第20弾:開ループ系の設計仕様

# #Pythonで学ぶ制御工学< 開ループ系の設計仕様 >

##はじめに
基本的な制御工学をPythonで実装し,復習も兼ねて制御工学への理解をより深めることが目的である.
その第20弾として「開ループ系の設計仕様」を扱う.

##開ループ系の設計仕様
制御設計において,閉ループ系の設計仕様は重要な概念であるが,今回は,それらについて問題点を解決する開ループ系の設計仕様について学習する.まず,閉ループ系の問題点にまとめたものを示す.
![image](https://user-images.githubusercontent.com/61382602/112303088-3c2b5300-8cdf-11eb-896a-0a280c8c2e6d.png)

したがって,以下では**安定性・速応性・減衰性・定常偏差**について,開ループ系の設計仕様がどのようになるのかを見ていくこととする.

##安定性
![image](https://user-images.githubusercontent.com/61382602/112303544-bc51b880-8cdf-11eb-93f

元記事を表示

グラフ内の文字化け回避(備忘録)

matplotlibでグラフのタイトルや凡例が文字化けをよく起こすのでその回避方法

“`
# グラフの文字化け回避
from matplotlib import rcParams
rcParams[‘font.family’] = ‘MS Gothic’
rcParams[‘font.sans-serif’] = [‘Hiragino Maru Gothic Pro’, ‘Yu Gothic’, ‘Meirio’, ‘Takao’, ‘IPAexGothic’, ‘IPAPGothic’, ‘VL PGothic’, ‘Noto Sans CJK JP’]
“`

おしまい

元記事を表示

顔認識して「行ってきます」「お帰りなさい」出来るLINEBOTを作ろう

一人暮らしの私は、当然ながら家に帰っても誰も居ません。
「お帰り」の一言が恋しくなる時だってあります。

**彼女作るか(物理)**

### LineBot×OpenCVで作ってみよう
コミュニケーション系アプリといえばLineですよね。というわけでLineBotをベースに機能を追加しましょう。
赤外線センサでも使うかと考えましたが、「私」であることは考慮せずに「お帰り」が発動します。
折角なら私だけに「お帰りなさい」って言ってほしい・・・
そうだ、**顔認識**な機能を実装しよう。
## 実現したいこと
– 「行ってきます」のメッセージを送ると顔認識カメラが起動する
– 「私を認識」したら「お帰りなさい」メッセージを送信して顔認識カメラを停止する

## 材料

– [RaspBerry Pi 4B](https://www.amazon.co.jp/%E3%83%A9%E3%82%BA%E3%83%99%E3%83%AA%E3%83%BC%E3%83%91%E3%82%A44-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82

元記事を表示

コラッツの問題

[Longest Collatz sequence](https://projecteuler.net/problem=14)を解いたので、忘備録

#pythonによる回数計算

“`python:collatz.py
def collatz(n, c = 1):
if n == 1 :
return c
else:
c += 1
return collatz(n // 2, c) if n % 2 == 0 else collatz(3 * n + 1, c)
“`
10からスタートすると
10 → 5 → 16 → 8 → 4 → 2 → 1
と変化して、1になるまでの回数を計算する関数_collaz_

`collatz(10)`の結果は、`7`となる。
再帰を使っている割には動きはよくて、あとで1000000回くりかえしてもなんとか動いた。

#100000までのうち一番多い回数を調べる。

##単純にやってみる
“`python:bruteforce.py
def collatz(n, c = 1):

元記事を表示

H – 1-9 Grid, C – 高橋君の給料, G – Longest Path

##[H – 1-9 Grid](https://atcoder.jp/contests/past202004-open/tasks/past202004_h)

O(N^2*11)
漸化式は、

“`
i,j 現在の座標
i2,j2 前の座標
cost[i][j] = min(cost[i][j], cost[i2][j2] + abs(i-i2) + abs(j-j2))
“`

“`python:python
import sys
import math
import heapq
import itertools
from collections import deque
from functools import reduce

# main
def main():
N, M = list(map(int, input().split()))
A = []

for i in range(0, N):
row = str(input())
A.append(row)

graph = []
for i

元記事を表示

Jupyter Notebookでモジュールをデバッグする(Visual Studio Code)

Visual Studio Codeを使って、ローカルのJupyter ServerにアタッチしてPythonモジュール(.pyファイル)をデバッグする方法を説明します。前半は[VS Codeからリモートサーバー上のJupyterLabにアタッチしてデバッグを行う手順](https://qiita.com/nognog/items/3b9215509c065fb82e2a)を参考にさせていただきました。

# 1. アタッチって?
Visual Studio Codeのデバッグには2種類があります:

– **起動(Launch)**: デバッガーがプロセスを起動し、その上でデバッグを行う
– **接続(Attach)**: 既に実行しているプロセスにアタッチし、その上でデバッグを行う

今回は先にJupyter Notebookを開き、そのサーバーにアタッチしてデバッグしますので、後者になります。アタッチによるデバッグの詳細は[こちら](https://daeudaeu.com/opencv_debug/#launchjson)や[こちら](https://qiita.com/nog

元記事を表示

PCAUMAP: 次元削減手法PCAとUMAPを直列につなげた解析を簡単に

次元削減手法として有名なものに主成分分析(PCA, Principal Component Analysis)、そして最近注目を浴びているものにUMAP(Uniform Manifold Approximation and Projection for Dimension Reduction)というものがあります。

今回は、その2つを直列に繋げてデータ構造をチョイ見するためのツール PCAUmap を作りました。

# インストール

PCAUmap を github レポジトリからインストールします。コードは https://github.com/maskot1977/PCAUMAP.git から見られます。

“`Python
!pip install git+https://github.com/maskot1977/PCAUMAP.git
“`

Collecting git+https://github.com/maskot1977/PCAUMAP.git
Cloning https://github.com/maskot1977/PCAUMAP.

元記事を表示

SPSS Modelerの拡張ノードでPythonを利用する conda編

SPSS Modelerの拡張ノードでPythonを使ってみます。
@1000aki さんが[SPSS Modelerの拡張ノードでPythonを利用する ①セットアップと可視化](https://qiita.com/1000aki/items/72c3c9ea0fe00edd6d19)
の記事を書いていらっしゃいて、ここではPython+pipで環境を準備されています。この組み合わせの方がミニマムでパッケージの管理ができますし、PATH設定の面倒もなく手堅いのですが、Condaによるパッケージ管理を使いたいケースもあります。

この記事ではconda環境でSPSS Modelerの拡張ノードを使いたいと思います。

■テスト環境
SPSS Modeler 18.2.2
Windows 2019
Python 3.7.7

#1. miniconda の導入
condaはAnaconda Individual Edition(Anaconda Distribution)で導入することが多いと思いますが、今回はミニマムな環境作成を行いたいので、minicondaで導入したいと思います。

元記事を表示

PythonでTCPソケット通信サンプル

#サーバー側

“`python:server.py
import socket
import numpy as np
import time

PORT = 12345

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
host = (socket.gethostbyname(socket.gethostname()))
print(f”{host = }”)
s.bind((host, PORT))

while True:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.listen(1)
print(“listen”)
conn, addr = s.accept()
print(“accept”)
i = 0

while True:
try:

元記事を表示

これからPycharmを使い始める人におすすめのプラグイン3選

Pythonのコードを書くにはIDE(統合開発環境)やテキストエディタが使えますが、選択肢の1つとしてJetBrainsの[Pycharm](https://www.jetbrains.com/ja-jp/pycharm/)というIDEがあります。

無料のCommunity版と有料のProfessional版がありますが、機能的には無料版でも十分です。ただしより快適に開発を進めるために使えるプラグイン3つを紹介したいと思います。

# おすすめプラグイン一覧
* Japanese language Pack / 日本語言語パック
* Database Navigator
* File watchers

## Japanese language Pack / 日本語言語パック
これは名前の通り、Pycharmの言語設定を日本語に変えるためのものです。
以前は[ここ](https://mergedoc.osdn.jp)からPleiadesプラグインをダウンロードしてインストールするのが主流だったようですが、現在はJetBrains公式より提供されているこちらのプラグインを使用するのが良

元記事を表示

~ 文字列 ~ チートシート

#目次
[1-文字列と配列の変換](#1-文字列と配列の変換)
 1.1-文字列を配列にする `list()`
 1.2-配列を文字列にする `””.join()`
[2-切り抜き](#2-切り抜き) `[:]`
[3-置換](#3-置換) `.replace(”,”)`
[4-位置を検索する](#4-位置を検索する) `.find(”)`
[5-個数を数える](#5-個数を数える) `.count(”)`

[-1-連結_繰り返し](#-1-連結_繰り返し) `+` `*`

#0-はじめに

チートシートの扱いついては[ここ](https://qiita.com/ysys_Ba/items/d27282b888abbd1f43e7#%E3%83%81%E3%83%BC%E3%83%88%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)を読んでください

#1-文字列と配列の変換

##1.1-文字列を配列にする

“`python:string_1.1.py
str = “Hello, worl

元記事を表示

サプライチェーンの需要予測を改善する新たな手法

[New Methods for Improving Supply Chain Demand Forecasting](https://databricks.com/blog/2020/03/26/new-methods-for-improving-supply-chain-demand-forecasting.html)の翻訳です。

前回の記事の日本語版は[こちら](https://qiita.com/taka_yayoi/items/82fa2f0c36a355ffa901)となります。

**原因因子による高精度の需要予測(fine-grain demand forecasting)**

# 多くの組織が精度の高い需要予測を急速に採用しています

多くの小売製造業の人たちが、オムニチャネルのイノベーションの土台を作り、運転資本を削減し、コストを削減するために、サプライチェーンマネジメントを改善しようとしています。顧客の購買行動の変化が、サプライチェーンに対する新たな圧力となっています。製品、サービスに対する需要は、人件費、在庫管理、供給・生産計画、貨物、物流など多くのエリアに

元記事を表示

澪田唯吹にあずにゃんがいないのが納得できないため、いい感じの名前に改名させる

ダンガンロンパ2の「澪田唯吹」
彼女は、けいおんの

* 秋山**澪**
* **田**井中律
* 平沢**唯**
* 琴**吹**紬

から名前が作られているのは有名な話
(澪田唯吹は超高校級の軽音楽部)
  
しかし、彼女の名前に「中野梓」がいない
たしかに、4人とは学年が違うが、主要キャラ中の主要キャラをハブるのは良くない。
という事であずにゃんを織り交ぜていい感じの名前が作れるか試行錯誤してみる

“`sample.py
import random

names_list = [“平沢唯”,
“秋山澪”,
“田井中律”,
“琴吹紬”,
“中野梓”,]

def shuffle_names(names):
result = “”
for name in random.sample(names,len(names)):
result += random.choice(name)
return result

if __

元記事を表示

Python3エンジニア認定データ分析試験で900点とった話

##**この記事を読むことをおすすめする方**
・Pythonを少しでも触ったことのある方
・Python関連で資格を取りたい方
・Pythonに興味のある方
・データ分析に興味のある方
・機械学習に興味のある方

##**はじめに**
 これは生命科学を専攻する大学院生(Python初心者)が、2週間でPython3エンジニア認定データ分析試験に1000点満点中900点で合格したお話です。興味のある方はぜひ最後まで読んでいただけると嬉しいです!

##**目次**
1、Python3エンジニア認定データ分析試験ってなに?
2、なぜPython初心者でも取得できるのか?
3、2週間の勉強で受かった方法とは?
4、試験本番ってどんな感じ?
5、まとめ
6、参考文献

##**Python3エンジニア認定データ分析試験ってなに?**
 「Python3エンジニア認定データ分析試験」は、[一般社団法人Pythonエンジニア育成推進協会](https://www.pythonic-exam.com/)が提供する民間資格です。名前の通り、Pythonを用いたデータ分析関連の問題が出題され、合格す

元記事を表示

OTHERカテゴリの最新記事