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

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

AtCoder精進メモ(11/12)

AtCoderにおける精進のメモです。ですます調とである調が混在している点は申し訳ないです。

#[AGC008B – Contiguous Repainting](https://atcoder.jp/contests/agc008/tasks/agc008_b)

diff:1821
結果:考察20分,基本の実装10分,バグ取りに∞分→accumulate関数のlambda式が間違っていた

提出:https://atcoder.jp/contests/agc008/submissions/18058051

##考察

まず、**できるだけ多くの部分を都合よく塗る**($a\_i \geqq 0$の場合は黒色で,$a\_i \<0$の場合は白色で)ことを考えます。この時、適当な塗り方をしても埒が明かなそうだったので、**端から順に塗っていく**ことを考えました。この時、端の$k$個のマス以外は都合よく塗ることができ、端の$k$個のマスは全て黒または白に塗ることができます。従って、左端の$k$個のマスを都合よく塗れない場合と右端の$k$個のマスを都合良く塗れば良いのではと

元記事を表示

【調査中】Logistic回帰 @ scikit-learnのPenaltyとSolverのディープな関係

scikit-learnの`LogisticRegression`モジュールを利用した時にPenaltyとSolverの対応関係が分からず[公式ドキュメント](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html)を調べましたが,一目で分かる状態になっておらず,しばし頭が混乱しました。。。そこでまずはPenaltyとSolverの対応/非対応関係を一覧表にまとめ,更に今後SolverやPenaltyの詳細な情報も追加していこうと思います。

# PenaltyとSolverの対応/非対応関係

|Penalty / Solver|newton-cg|lbfgs(default)|liblinear|sag|saga|
|:–|:–:|:–:|:—:|:—:|:—:|
|L1|×|×|○|×|○|
|L2(default)|○|○|×|○|○|
|Elasticnet|×|×|×|×|○|
|None|○|○|×|○|○|

# Pen

元記事を表示

pandas_datareaderのインストール方法と使い方について【Python】

この記事では、
pandas_datareaderのインストール方法と使い方について
を書いていきます。

##pandas_datareaderとは
pandas_datareaderはPythonのライブラリで、経済データや金融商品の価格データが取ることができます。

pandasという名が入っているので、pandasと共に入ってそうですが(昔は入っていたような)、別モンになっています。Anacondaでも入っておらず、インストールしないといけません。
Pythonのライブラリpandas_datareaderでデータを取得する – Pythonと本と子供と雑談と

ライブラリ↓
pandas-datareader — pandas-datareader 0.9.0rc1+2.g

元記事を表示

【Python】1つ上の階層のモジュールをimport

mydir
└ parent.py
  └ child.py

といったフォルダ構造にて,child.pyからparent.pyをimportする方法

“`child.py

import sys
import pathlib

# ひとつ上の階層の絶対パスを取得
parent_dir = str(pathlib.Path(__file__).parent.parent.resolve())

# モジュール検索パスに,ひとつ上の階層の絶対パスを追加
sys.path.append(parent_dir)

import parent

“`

元記事を表示

Pandasを使ってBootstrap sampling

# PandasでBootstrap samplingするためのちょっとしたスクリプト
Bootstrap samplingは、データをサンプルの中から重複を許してランダムに取得して、元とはちょっと違った集団を作り出すのに使われる。 例えばそれを1000回とか繰り返したりして統計をとったりする。
Pandasでやるのにどうしたらいいか考えたのでメモっておく。

## アヤメのサンプルを使ってみる
pandasとアヤメのサンプル取得、あとはランダムサンプリングに使う乱数モジュールをインポートする。

“`
import pandas as pd
import random
from sklearn.datasets import load_iris
“`
そしてデータをロードしてpandasのデータフレームにのせる。

“`
iris_dataset = load_iris()
df = pd.DataFrame(data=iris_dataset.data, columns=iris_dataset.feature_names)
“`

`df.describe()`でデータを

元記事を表示

【機械学習超入門】Pytorchのチュートリアルを学ぶ

全体像もまだ把握しきれていない著者が、メモ代わりに記載したものをまとめたものです。
Pytorchのチュートリアルの内容+αで調べた内容をまとめます。
(・・・と、書きましたがほとんどチュートリアルに準拠してません。)

自在に使えることを目標にして、わかるものを確定させてから、
コツコツと実装していく方針で勉強します。

今回は第2章です。
前 -> https://qiita.com/akaiteto/items/9ac0a84377600ed337a6

#はじめに

前回、ニュートラルネットワークの各層の処理を見るだけに終わったので、
今回は最適化を中心に勉強します。

前提として、MNISTのサンプルソースをただ動かすだけなのは少しわかりにくいと感じたので、
できるだけシンプルな例を位置から組んで実際に動かしてから、
そこから自力で各種手法を自力で実装する事を目標に勉強します。

![an5im.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/581710/9f881a11-3d93-07

元記事を表示

「伸び悩んでいる3年目Webエンジニアのための、Python Webアプリケーション自作入門」を更新しました

# 本を更新しました

[チャプター「リクエストを並列処理する」](https://zenn.dev/bigen1925/books/introduction-to-web-application-with-python/viewer/threading) を更新しました。

続きを読みたい方は、ぜひBookの「いいね」か「筆者フォロー」をお願いします 😉

—-

以下、書籍の内容の抜粋です。

——

## 現状の問題点

pythonはソースコードを上から順に読み込み、ある1行の処理が完了すれば次の1行、というふうに順番に実行していきます。

そのため、現状のソースコードだと、

– クライアントからの接続を受け付ける(`.accept()`)
– クライアントからのリクエストを処理する(`.handle_client()`)
– (必要であれば例外処理をしたあと)クライアントとの通信を終了する(`.close()`)
– クライアントからの接続を受け付ける(`.accept()`)
– …

必ずこの順序を守って実行されます。

言い換えると、
**「1つ

元記事を表示

[python] pwshをアップデートしてくれる(はずの)スクリプト

# 動機
[PowerShell](http://aka.ms/powershell) のWindowsでのアップデートって手作業なんですが、ええかげんダルくなりました。半自動化します。

# 構成
スクリプト本体であるpshupdate.pyをpythonに実行させると、自動でバージョンをチェックして必要ならアップデートしてくれます(予定)。

# 内容
やるべきことに沿って書いただけなんでそんな凝ったことしてないですが書いていきます。

## Versionデータの格納
バージョンはだいたい”v3.2.1″とかそういう形の文字列なので、最初の余計な文字だけ取り除いた残りを文字列の3つ組にしてVersion型とします。pwshで`(Get-Host).Version | Format-List *`とかやるとなんかキーが6個とか出てくるんですが、後半3つ使ってないし3つだけで充分だな!ヨシ!
後半部で大小比較を実装しています。多少柔軟性を持たせるために`Minor`と`Build`の値はNoneと0と-1を全部同じ扱いにすることにしたので、結果めんどくさくなりました。

“`pyt

元記事を表示

Python seleniumでelementからhtmlを取得する

# 課題
seleniumを使用していて、find_element_by_class_nameなどのfind_element_by_〇〇で取得した要素について、ソースのHTMLを取得したい。

.page_sourceでソースを取得しようとするも、

“`
AttributeError: ‘WebElement’ object has no attribute ‘page_source’
“`

というようなエラーが発生する。

# 解決法
以下の方法でHTMLを取得できる。

“`python
element.get_attribute(‘innerHTML’)
“`

参考: https://stackoverflow.com/questions/7263824/get-html-source-of-webelement-in-selenium-webdriver-using-python

元記事を表示

「画像でゴミ分類!」アプリ作成日誌day6~ディレクトリ構成の修正~

# はじめに
「画像でゴミ分類!」アプリ作成日誌6日目の今日はディレクトリ構成を修正します。今日は忙しかったこともあり軽めです。

<記事一覧>

– [「画像でゴミ分類!」アプリ作成日誌day1~データセットの作成~](https://qiita.com/eycjur/items/7d8223b28758c7dfaaa0)
– [「画像でゴミ分類!」アプリ作成日誌day2~VGG16でFine-tuning~](https://qiita.com/eycjur/items/3e954cb70dc15f996c2d)
– [「画像でゴミ分類!」アプリ作成日誌day3~Djangoでwebアプリ化~](https://qiita.com/eycjur/items/9c618538177c82f7fdc3)
– [「画像でゴミ分類!」アプリ作成日誌day4~Bootstrapでフロントエンドを整える~](https://qiita.com/eycjur/items/7b58c28eb8b16e722b5d)
– [「画像でゴミ分類!」アプリ作成日誌day5~Bootstrapでフロントエン

元記事を表示

【OpenCV/Python】OpenCVで細胞の画像解析をやってみた

#はじめに
仕事柄、細胞の画像を撮影することが多く、細胞画像をPython版OpenCVで解析してみた。

備忘録的な意味も込めて。

今回は、培養容器接着面を培養細胞が覆った割合(細胞占有面積率、あるいはコンフルエンシー)、いわゆる「細胞のコンフル」を求めてみる。

要するに、顕微鏡画像の中の細胞の占有率を、画像解析によって数値化する。

ご意見や、もっとこうしたほうがいいなどあればコメントお願いします。

[参考にしたURL](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_tutorials.html)

#使用する画像
![MSC.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471633/b48d68f1-5002-e0df-476b-b3d63e119c2d.jpeg)

間葉系幹細胞(MSC)と呼ばれる細胞の顕微鏡写真。

ぱっと見、コンフル(画像中の細胞の占有率)は30~40%程

元記事を表示

yukicoder contest 274 参戦記

# yukicoder contest 274 参戦記

## [A 1285 ゴミ捨て](https://yukicoder.me/problems/no/1285)

小さい順でも大きい順でもいいので一つづつ重ねれるかをチェックして行けばいいだけ.

“`python
from heapq import heappush, heapreplace

N, *A = map(int, open(0).read().split())

A.sort()
q = [A[0]]
for a in A[1:]:
if a <= q[0] + 1: heappush(q, a) else: heapreplace(q, a) print(len(q)) ``` ## [B 1286 Stone Skipping](https://yukicoder.me/problems/no/1286) 1回も跳ねないと x、1回跳ねると 3/2 * x、2回跳ねると 7/4 * x、3回跳ねると 15/8 * x、n回跳ねると (2n+1

元記事を表示

ALDA実行メモ

https://github.com/ZJULearning/ALDA

これを実行。データは下記。
https://github.com/notfolder/svhn

splitしたので、catで結合して使う。

pip freeze結果

“`
asn1crypto==0.24.0
certifi==2018.1.18
chardet==3.0.4
cryptography==2.1.4
dataclasses==0.7
future==0.18.2
idna==2.6
imageio==2.1.2
keyring==10.6.0
keyrings.alt==3.0
numpy==1.14.6
Pillow==5.3.0
protobuf==3.13.0
pycrypto==2.6.1
pygobject==3.26.1
pyxdg==0.25
requests==2.18.4
SecretStorage==2.3.1
six==1.11.0
ssh-import-id==5.7
tensorboardX==1.4
torch==1.7.0
torchsummary==1.5.

元記事を表示

【1】UbuntuにAnacondaで構築するTensorFlow-GPU環境構築〜GPUスペック確認編〜

#TensorFlowのGPU版(tensorflow-gpu)を動かすために必要なこととは?
1. Deep Learningを行う計算力(compute capability)のある比較的新しいGPU(nVidia社製)を搭載していること?**今ここ**
2. GPUの適切なドライバが入っていて、使用可能な状態になっていること
3. tensorflow-gpuやGPUのドライバ(CUDA)、Deep Learning用のライブラリ(cuDNN)をインストールする環境を作るため、Anacondaがインストールされていること
4. Pythonや必要なライブラリがバージョンの互換性を持っていること

#この記事のゴール
tensorflow-gpuを動かすことができるGPUが搭載されているのかを確認し、これ以降のステップに進めるかどうかを判断する。

#クリアするべき二つの条件
そのためには以下の二つの条件を満たしているかを確認していきます。
**条件**1: nVidia社製のGPUを搭載していること
**条件2**: コンピュータのGPUがTensorFlowの要求する計算力(c

元記事を表示

pypyのbool型は遅い

#修正
最初「pythonのbool型は遅い」とのタイトルで公開しておりましたが、記事の内容が当てはまるのはpypyを使う場合のみであり、誤りでした。
誤った情報を流してしまい、申し訳ありません。

#言いたいこと
競技プログラミングでpypyを利用する時、True/Falseをbool型で扱うのは遅いです。
int型を使いましょう。

#概要
何かフラグを用意して、それによって処理を分岐させることはよくあると思います。

“`python
f = 1
“`
とする人も

“`python
f = True
“`
とする人もいるかと思いますが、どちらも同じ事が起きると期待しますよね。

しかし、実際は実行速度に差がでます。

正確に言うと、真偽値の判定に差がは無く、書き換えで差が出ます。これは後ほど語ります。

#実験
以下のコードで比較してみます。
実行環境はatcoderのコードテストでPyPy3(3.7.0)です。

“`int.py
f = 1
for i in range(10**9):
if f:
f = 0
else:

元記事を表示

[Blender×Python] マテリアルをマスターしよう!!

#目次
0.マテリアルを追加する方法
1.ガラスのマテリアルをつくってみよう!!
2.メタリックをつくってみよう!!
3.テキストを追加しよう!!
4.英単語

※今回は解説が少ないので、サンプルコードだけでまとめてはいません。

#0.マテリアルを追加する方法

##0-1.マテリアルを追加していく手順

①新しいマテリアルをつくる
②ノードを使えるようにする
③オブジェクトを追加する
④ノードの値を設定する
⑤オブジェクトにマテリアルを適応する

##0-2.Principled BSDFの中身

◯それぞれの項目は0から順番に数字が割り当てられています。

Base Color→**0**
Subsurface→**1**
:
Metallic→**4**
:
Roughness→**7**
:
Transmission→**15**

のようになっています。

![スクリーンショット 2020-11-13 19.19.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654004/250f6

元記事を表示

fastTextがかなりすごい!「Yahoo!ニュース」クラスタリング 〜教師なし学習編〜

[前回](https://qiita.com/kei0919/items/3059c336c3d0e2228830)はYahooニュースの記事データに対して、fastTextのtrain_supervisedメソッドを使って教師あり学習を行い、クラスタリングを行いました。
今回はfastTextのtrain_unsupervisedメソッドを使って教師なし学習を行い、前回の様に綺麗にクラスタリングできるか分析してみましょう。

## 開発環境
– [Docker](https://github.com/adachi0919/analysis001/blob/master/dock1/Dockerfile)
– JupyterLab

## 実装スタート
①ライブラリ読み込み
②[utility.py](https://github.com/adachi0919/analysis001/blob/master/work/analysis/utility.py)と言うファイルを作成して、今まで作成した関数を格納しています。そこから、今回必要な関数を読み込みます。
③YN関数を使ってYaho

元記事を表示

C#でjsonを読み込み・そして辞書型に変換(強引)

# お久しぶりです。
Qiitaの皆さん、お久しぶりです。
前回からかなり時間が空きすぎましたが、あれから念願の新しいパソコンを購入しました。
そしてPythonにも飽きてきたので、C#に手を出してみることにしました。

理解するメモとして書き残しておきます。
ガバな点はご容赦ください。

# ふと思ったjsonの読み込みについて
私は以前、Pythonでjsonを使用して設定ファイルやデータをイチイチに定義しなければならないものをjsonに格納して便利に使っていたので、ぜひC#でも使いたいと思い模索しました。
薄々気づいてはいましたが、Pythonはなんて素晴らしいライブラリを取り揃えているのかと思い知らされることになりました。

# json読み込みのコード

“`json:hoge.json
{
“hoge”: “hoge1”,
“hogehoge”: “hoge2”,
“hogehogehoge”: “hoge3”
}
“`

Pythonでのjsonの読み込みはjsonライブラリを使用しますが

“`python
import json

def load_

元記事を表示

TouchDesignerとReSpeakerで音カメラを作った話

TouchDesignerの学習のため、ReSpeakerを使って音カメラを作った。
ReSpeakerでSSL(Sound Source Localization)を行い、音の到来方向へエフェクトを入れることで、音を可視化したらおもしろいかもしれないと思って製作した。
これを音カメラと呼ぶことにした。

#TouchDesigner側
![スクリーンショット 2020-11-13 191013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/467051/638bfee8-41ac-0a37-8d43-c7bf59223f86.png)
これはずっと悩みだったんですが、こういうビジュアルプログラミング系の製作物って、Qiitaでどう共有したら見やすいんですかねぇ…?
とりあえず今回は画像で行きます。

内容はいたってシンプルです。
videodeviceinでカメラからの画像を読みこみ、そこに以下のようなgif画像を位置を指定して重ねているだけです。
![2 – コピー.gif](https://qii

元記事を表示

操作ログ整形ツールを作る 4日目

[操作ログ整形ツールを作る 1日目, 2日目](https://qiita.com/e99h2121/items/f998b0cab3dbe0e3ec40)
[操作ログ整形ツールを作る 3日目](https://qiita.com/e99h2121/items/b73ccce22d156d1e85b6)

## CSVを読み込んだらエラーが出ましたよ
“`
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x83 in position 0: invalid start byte
“`

CSVはこんな(マスクしています)

“`oplog20201112.csv
ユーザーID,クライアント名,WindowsログインID,端末ID,IP Address,MAC Address,ドメイン名,ログイン時刻,ログアウト時刻,ログインステータス,アクション,機能名,実行ファイル名(シェル),引数(コマンドライン),実行時刻,実行状態
“all”,”client-name”,”works”,”client-name”,”xx.xx.

元記事を表示

OTHERカテゴリの最新記事