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

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

教師あり学習3

[Aidemy](https:// aidemy.net) 2020/9/27
#はじめに
 こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
 今回は、教師あり学習の3つめの投稿になります。どうぞよろしくお願いします。

*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。

今回学ぶこと
・決定木、ランダムフォレスト、k-NNのハイパーパラメータ
・チューニング(パラメータ調整)の自動化

#決定木のハイパーパラメータ
##パラメータ max_depth
・__max_depth__は__モデルが学習する木の深さ__を示す。この値を設定しなかったり値が大きすぎたりすると、教師データに寄り添いすぎてしまい汎化されないので、max_depthを制

元記事を表示

networkXでUnionFind

atcoderで頻出なunionfindを、自前ライブラリ実装ではなく、networkXで実装する方法の紹介です。
networkXについて調べていたら、unionfindを発見したが、networkXのunionfindの日本語記事が見つからなかったので紹介します。

以下のコードは現在のatcoderのpythonのバージョンで実行やACをしたものです。
Python: 3.8.2
NetworkX: 2.4

#テンプレート

“`python:networkxuf.py
from networkx.utils import UnionFind
uf = UnionFind()
uf.union(1, 2) # 1と2をunion
uf.union(‘atcoder’, (3, ‘chokudai’)) # ‘atcoder’と(3,’chokudai’)をunion
uf.union(2, 3, 4)
print(uf[2] == uf[(3, ‘chokudai’)]) # 2と(3,’chokudai’)が同じグループか判定(uf[a]はaの根

元記事を表示

【plotlyの描画構造の話】plotlyで動的な可視化をする【python】

plotlyの構造について理解する話

#plotlyとは

plotlyはJavaScript,R,Pythonで利用可能な動的グラフを作るパッケージです

動的グラフというのは以下の様に動かすことができるグラフのこと

![aaa.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/cbb55ca0-6738-83a9-f62d-449a6a68810d.gif)

他の関数と同じく指定された引数を用意することで動的グラフが簡単につくることができます
他のplotlyと区別するためJavascript「plotly.js」pythonは「plotly.py」と呼ばれたりもします

#plotlyの中身と動き

plotlyはpandasのようなデータフレーム、もしくはnumpyのarrayを一度json形式に変形して保持し、
javascriptによってhtmlとして実行・保存できるようになっています

テキストエディターで以下のようなhtmlを作成するとplotlyのbarplotが

元記事を表示

Djnago シフト作成機能

シフト表の作成機能を作ろうと思って一人ユーザーを足したのですが、ふと表示順毎に並べ替えを実装しようと思い着手しました。

が、まさかのここではまりました。
UserとProfil をUser で紐づけていたのですが、Userにある first_name とlast_nameを取得しようと色々したのですが、結局取得できなかった…

最終、profilのIdとUserのIdとが同一かをHTML上で判断を追加することで対応しました。
初心ですがきれいでないなってめっちゃ思います…
3時間ぐらい調べて試して、また調べてやりました

よく頑張った俺(⌒∇⌒)

“`python:schedule.views.py

from django.shortcuts import render, redirect, HttpResponseRedirect
from shisetsu.models import *
from accounts.models import *
from .models import *
import calendar
import datetime
from datet

元記事を表示

二峰性のある分布からそれぞれの期待値をベイズ推定する

# はじめに
Pythonのベイズ推定ライブラリ[PyMC3](https://docs.pymc.io/)を用いて、二峰性のある離散確率分布からポアソン分布の期待値$\lambda_1,\lambda_2$、並びに各峰に属する比率を推定します。

###動作環境&使用ライブラリ

“`python:動作環境
#OS
import platform
print(platform.platform())
#Windows-10-10.0.15063-SP0

#pythonバージョン
print(platform.python_version())
#version 3.7.7

#ライブラリ
import numpy as np #version 1.19.1
import pandas as pd #version 1.1.0
from scipy.stats import poisson #version 1.5.0
import matplotlib.pyplot as plt #version 3.2.2
import seaborn as sns #version 0.

元記事を表示

Pythonで正規表現を使ってASCII以外を置換する

この記事ではPython3を使っています。

#コード

“`test.py
import re

text = ”’挫折を経験した事がない者は、
A何も新しい事に0 1挑戦したことが無いということだ。
ヲabc123!=*Z
- アルベルト・アインシュタイン -”’
after = re.sub(‘[^!-~\\s]|[ ]’, ‘○’, text)

print (after)
“`

#実行結果

“`
○○○○○○○○○○○○○○
○○○○○○○○0 1○○○○○○○○○○○○○○○○
○abc123!=*○
-○○○○○○○○○○○○○○○○-
“`

#参考
* [Pythonでre.sub を使用して正規表現で平仮名、カタカナ、漢字を置換|dot blog](https://dot-blog.jp/news/python-re-sub-japanese/)
* [文字一覧 (ASCII) – instant tools](https://tools.m-bsys.com/data/charlist_ascii.php)
* [正規表現サンプル集](https

元記事を表示

JavaScript でも Python みたく`range()`したい!

# はじめに

“`py
for i in range(10):
print(i)
# かっこいい
“`

# 理屈はいいから早く見せろ!

“`js
/**
* @param {…number} args
*/
const range = (…args) => {
const rangeGen = function* (from = 0, to = Infinity, step = 1) {
for (let v = from; v < to; v += step) { yield v; } }; return args.length === 0 ? rangeGen(undefined, undefined, undefined) : args.length === 1 ? rangeGen(undefined, args[0], undefined) : args.length === 2 ? rangeGen(args[0], args[1], undefine

元記事を表示

Google Colaboratory を使ってお手軽に数学 gif を作ってみよう

本記事では Google Colaboratory で数学 gif を作ります. 非線形波動を記述するコルトヴェーグ・ドフリース方程式を数値計算により解いてソリトンが現れることを見ていきましょう.
![kdv_pseudo_spec_impl_rc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241946/0c6a2672-2ebf-4732-e23e-ea8f93431406.gif)

# 1. Google Colaboratory を使おう
Google Colaboratory を使えば, 自分の PC に何もインストールすることなく(インターネット接続さえできれば) Python をノートブック形式で扱うことができます.

過去記事 [Python を使ってお手軽に数学 gif を作ってみよう – @wakabame][1] では環境構築の手順がありましたが, これが不要になります.
コードの実行も Google のクラウドサーバー上で行われるため, 無料で計算資源を使うことができま

元記事を表示

LINE heroku python

# コード記録

“`.py
from flask import Flask, request, abort
import os

import vision as v
import vision1 as v1
import base64

from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage, ImageMessage,ButtonsTemplate,TemplateSendMessage,MessageAction #ImageMessage、ButtonsTemplateとTemplateSendMessageとMessageActionを追加
)

app = Flask(__name__)

# 環境変数取得
YOUR_CHANNEL_ACCESS_T

元記事を表示

Pythonで画像ファイルの仕分け(3)

## まえがき

[前回](https://qiita.com/Since1967/items/659ec97624d67d8f8957)、削除対象リストのファイルを生成するところまで終わった。ファイルの内容はこんな感じだ。

“`Console:\TMP\200104\delete.txt
C:\TMP\IMG_2607(1).jpg
C:\TMP\IMG_2608(1).jpg
“`

“`Console:\TMP\200105\delete.txt
C:\TMP\IMG_2610(1).jpg
C:\TMP\IMG_2610(2).jpg
C:\TMP\IMG_2611(1).jpg
“`

各年月(yyyymm)フォルダに削除したいファイルのフルパスが一行ずつ書かれているdelete.txtがあるので、これを読みだして削除するのみである。まだ試験段階なのでテストフォルダを対象に処理を書いてみる。

## Python3で書いてみる

Python : 3.8.3

“`Python:DeleteAll.py
import glob
import os

if __na

元記事を表示

VSCodeのRemote-ContainersでFlaskをやってみた

# 概要
VSCodeのRemote-Containersという拡張機能で、DockerコンテナにPython環境を作って、あれこれできるので、そのメモです。

## Dockerコンテナを使う目的
目的は2つあります。

1つ目は、ローカル環境が汚れない。
pyenv、anacondaなど環境を切り替えるものはありますが、結局ローカル依存になります。requirementsを作っても、Pythonのバージョンは?とか、コマンドなんだっけとか、なぜか入らないとか、pipとcondaは混ぜちゃいけないとか、たまになんかわからないけど全部ふっとんだりするので、もう卒業したいという気分です。

2つ目は、デプロイが楽。
近頃は、ローカルPC上でなくクラウド上で計算したり、サービスを提供したりすることがあるので、それも`Dockerfile`でて数少なくでやりたいです。

そういうわけで、すぐにこれらを得られるわけではありませんが、この記事では、Remote-ContainerでFlaskを立てるところまで記録します。

## 最初に結果

最終的にできたファイルはgithubに置いておきまし

元記事を表示

【ポアンカレ再帰定理】蛇振り子を100個・長周期に拡張して遊んでみた♬

マスゲームだから、意味ない(当たり前)かなと思いつつ、でも惑星直列などを考えると、こういう計算も実は意味のあるものかなと思い、まとめておくこととします。
なんといってもポアンカレの再帰定理。
「力学系は、ある種の条件が満たされれば、その任意の初期状態に有限時間内にほぼ回帰する」の具体的な事例としての意味があるということだと思いなおしました。
なお、惑星直列の計算とシミュレーションは今回はやりません。
ということで、今回は[前回の式](https://qiita.com/MuAuan/items/ecae5631dc8ff3831878)を個数と周期を自由に変更したいと思います。
※コード全体はおまけに載せました。
 また、gifアニメーションがエラーが出て貼れないのでYoutubeに載せました
###100個を1ダンス120秒のシミュレーション
そして、100個の場合に拡張です。
これだと、前回の式では無理なので、以下のように変更します。

“`py
N = 60
z0 =500
L0=980*(120/130)**2/(2*np.pi)**2
Fc0=1.0
Fc=[]
fc=1

元記事を表示

pythonでのAtCoderのチートシート(自分のため)

#目的
チートシートを作らないと厳しくなってきたので整理用に。

c++ならかなりコードが公知になってるものが多いようですが、pythonは暗黙知っぽい書き方とかがあるように感じます。
解答をみると、みんなが当たり前に使っているライブラリやデータ構造などが多いです。
これらの暗黙知っぽいものをメモを取りながらやってますが、頭が混乱してきたので自分用にまとめます。
Atcoderをpythonでスタートするときにこういう前提知識のまとめが欲しかったです。。。

間違っているところも多いでしょうが多めにみてください。

#前提となるチートシート
[Python 競技プログラミング チートシート自分用](https://qiita.com/hasekura/items/65d5eb18e9b6f50b6d19)
入力の仕方はいつもここをみて入力しています。
* * *

[競プロチートシート(python3)](https://qiita.com/hoshikawa1309/items/24fb71165e792662ae29)
約数と累乗はここをみる。約数のライブラリは意味わからないけ

元記事を表示

ACL Beginner Contest 参戦記

# ACL Beginner Contest 参戦記

## [ABLA – Repeat ACL](https://atcoder.jp/contests/abl/tasks/abl_a)

1分で突破. 書くだけ.

“`python
K = int(input())

print(‘ACL’ * K)
“`

## [ABLB – Integer Preference](https://atcoder.jp/contests/abl/tasks/abl_b)

2分半で突破、WA1 orz. A < B < C < D のパターンを見落とした. ```python A, B, C, D = map(int, input().split()) if A <= C <= B or A <= D <= B or C <= A <= D or C <= B <= D: print('Yes') else: print('No') ``` ## [ABLC - Connect Cities](https://atcoder.jp/contests/abl/task

元記事を表示

ReactとPython flaskを使ってWebアプリを作りたい

# はじめに

仕事でReactによるフロント開発に携わり始めたので、アウトプットの練習も兼ねて簡易webアプリを作成しました。

どんなアプリにするかアイデアはまったく思い浮かばなかったので、手元にあった[mecab](https://taku910.github.io/mecab/)を使った分かち書きスクリプトを使って、フロントで受け取った入力テキストをサーバー側で分かち書きをし、その結果をフロントで表示するという非常にシンプルなアプリです。
(主目的はreactとflaskをつなぐ部分を勉強することだったため、アプリの見た目や機能は全然作り込んでいませんのであしからず。)

表題の通り、フロント側はReact、サーバー側はpython flaskで実装しています。

今回実装したスクリプトは[こちら](https://github.com/Pu-of-Parari/jparser_app)で公開しています。

# 完成品
画面
![app_top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26

元記事を表示

カメラ起動させて人の顔にモザイクかけようぜ(OpenCV)

#1.はじめに
皆さんこんにちは!今回はpythonとOpenCVを扱って、カメラを起動させてリアルタイムで人の顔にモザイクを書けるプログラムを作成しました。
もしかしたら、すでに他の人が記事を書いているかもしれませんが…多分出ています。
とにかくやってみよう!
#2.手順
プログラムの流れはこちらになります。
1.カメラを起動させる。
2.人の顔を認識する。(Haar-like特徴分類器)
3.人の顔があるところをモザイク処理をする。
以上です。
#3.カメラを起動させる。
OpenCVを用いてカメラを起動させます。

“`python:kido.py
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, img = cap.read()
cv2.imshow(‘video image’, img)#’video image’はカメラのウィンドウの名前
key = cv2.waitKey(10)
if key == 27: # ESCキーで終了
break
cap.release

元記事を表示

Pythonの抽象クラス(ABCmeta)を詳しく説明したい

# 0.はじめに

Pythonの抽象クラスが思いのほか特殊だったので
メタクラスの説明も踏まえて少しばかり丁寧に解説したい

# 1.ABCmetaの基本的な使い方

PythonのAbstract(抽象クラス)は少し特殊で、メタクラスと呼ばれるものに
ABCmetaを指定してクラスを定義する(メタクラスについては後ほど説明)

“`python
from abc import ABC, ABCMeta, abstractmethod

class Person(metaclass = ABCMeta):
pass
“`

ちなみにABCクラスというのもあってこちらはmetaclassを指定せず
継承するだけなので基本こっちの方が分かりやすい

“`python
class Person(ABC):
pass
“`

抽象化したいメソッドに@abstractmethodを付ける

“`python
@abstractmethod
def greeting(self):
pass
“`

継承したクラスで実装する

“`python
class

元記事を表示

オンライン家族麻雀をPythonを使って解析してみる(PART 1: DATAを取る)

#概要

最近家族とオンライン麻雀サイト[天鳳](http://tenhou.net/)で週に1回2時間ほど楽しんでいます。

今回は対戦成績の分析を家族が皆がウェブ上で見れるようにしたのでその解説です。

プロセスとしては:

1. Pythonで分析
1. Dashを使って可視化
1. HerokuとGithubを使ってデブロイ

こんな感じに仕上がりました↓
https://drmahjong.herokuapp.com/

![drmahjangsc1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666405/bfbda243-ea64-0c9c-2f5f-9218e311fa36.png)
![drmahjangsc2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666405/c5abdf6e-d727-9d23-fbc4-f5b42a99f678.png)
![drmahjangsc3.png](htt

元記事を表示

機械学習の初心者がpythonで競馬予測モデルを作ってみた

最近では機械学習を取り入れたサービス開発も増え始め、私自身もそのディレクションをすることがあります。

ただ、データサイエンティスト、MLエンジニアと呼ばれる人々が作る学習モデルを盲目的に利用するだけの簡単なお仕事です、というのは否めず、初心者(私)が、機械学習の知識レベルを上げるために、簡単な学習モデルを作れるようになるまでの過程をまとめてみました。

# 今回のゴール
pythonによる環境構築からスタートして、一番手っ取り早いと思われるロジスティック回帰による分類モデルを構築してみるところまで実施してみます。題材は趣味と実益を兼ねて、競馬予測モデルに挑戦してみます。

※なお、競馬の専門用語を使用してますが、不明な点は調べて頂ければと思います。

# 環境構築
## 前提
実施した環境は以下の通りです。

– Python:3.7.7
– pip:20.2.2

## pipenvインストール
pythonの実行環境をpipenvを使って構築していくことにします。

“`
$ pip install pipenv
“`

pythonを実行する仮想環境を構築します。

“`

元記事を表示

DjangoのチュートリアルをIISにデプロイする①

## はじめに
Windows10上のIISでDjangoのチュートリアルを動かした手順を備忘録として残しておきます。

### 参考記事
[はじめての Django アプリ作成、その 1](https://docs.djangoproject.com/ja/3.0/intro/tutorial01/)
[Windows7 + IIS + virtualenv + wfastcgiで、Djangoをホストする](https://thinkami.hatenablog.com/entry/2015/10/26/070118)
[Python(Django) をWindows+IISで動かす](https://qiita.com/RollSystems/items/14491e1da28bd953ee4c)
[IIS Web ページを開くときの HTTP エラー500.19](https://docs.microsoft.com/ja-jp/troubleshoot/iis/http-error-500-19-webpage)

## 目次
* 環境
* Pythonのインストール
*

元記事を表示

OTHERカテゴリの最新記事