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

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

JupyterでDockerカーネル(Python)を選択できるようにするレシピ

# はじめに

JupyterLabを使うとき、いろんな環境で使いたいなあなんて思ってました。そのために、DockerにJupyterLabを入れて起動していたのですが、そもそもJupyterのカーネルで、Dockerのカーネルを選択できれば便利ではないか?と思って、どうやればいいか調べてみました。
この設定をすることで、お好きなDockerイメージのカーネルでJupyterを起動できるようになります。自分用にまとめておこうと思ったのですがKaggleのGPUのDockerイメージのカーネルを追加してみたので、KagglerでDeepLearningをする人にもおすすめできそうだなあと思って、Qiitaに記事を書いておくことにしました。こんな感じで**Kaggleのイメージのカーネルを選べます!**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630841/a193d55f-9917-f66f-f234-76b3e0fb4874.png)

# 実行環境

* Ubuntu: 20.

元記事を表示

現代ポートフォリオ理論と最大SRポートフォリオの分析

### はじめに
本日は、Stefan Jasen氏によって書かれた[“Machine Learning for Algorithmic trading, 2nd edition”のChapter 5, Mean-variance optimization](https://github.com/Tokiwabashi27/Machine-Learning-for-Algorithmic-Trading-Second-Edition/tree/master/05_strategy_evaluation)について勉強した内容をまとめます。Pythonを用いたコーディングに際して、[カナヲ定量分析さんの記事](https://note.com/kanawoinvestment/n/n1fa57800c26f)を参考にさせて頂きました。Stefan氏の解説だけでは理解できない部分を補うことができました。ありがとうございます。

### 現代ポートフォリオ理論の考え方

– 同じ期待リターンならvolが小さいPFを選択することが、もっとも好ましい。
– 各期待リターンにおいてvolが最も小さい

元記事を表示

機械学習の評価に便利なROC曲線の描画ライブラリを作ってみた

# はじめに
機械学習において性能評価は欠かせない手順のひとつですが、
**分類タスクにおける性能評価によく使われる**のが、**ROC曲線**です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/b3eb4459-94f5-5a77-1c93-cec852193dfe.png)
**PythonでROC曲線を描画**するには、Scikit-Learnの**[plot_roc_curve](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_roc_curve.html)**というメソッドを使用するのが一般的ですが、このメソッド、多クラス分類やクロスバリデーションでの描画が出来ない等、**制約が多い**です。

そこで今回、これらの制約をクリアすべく、
**・多クラス分類のROC曲線描画**
**・クロスバリデーションのROC曲線描画**
を実現するライブラリを作成しました。
![ou

元記事を表示

自作Cコンパイラで作った自作Pythonでif文が動きました

タイトル通りです。

neo-c2/yapyにあります

https://github.com/ab25cq/neo-c2

元記事を表示

[Python]データフレームに誕生日を利用して年齢を追加する

意外とてこずったので備忘録として残します。

**まずは適当にデータフレームを作成**
元のデータがなぜか日付が表記揺れしてたのでそのまま再現しています。

“`
import pandas as pd

dict1=dict(entry=[“2021120″,”20211020″,”20201120”], birthday=[“1998/10/24″,”1966/8/8″,”1957/6/2”])
list1=pd.DataFrame(data=dict1)
list1
“`

**年齢を算出**

“`
list1[‘entry’]=pd.to_datetime(list1[‘entry’])
list1[‘birthday’]=pd.to_datetime(list1[‘birthday’])

list1[“age”]=(pd.to_datetime(list1[‘entry’])-pd.to_datetime(list1[‘birthday’])).astype(‘timedelta64[Y]’)
list1
“`

`astype(‘timedelta64[Y]

元記事を表示

【超初心者】Django初学者がつまずいた初期設定エラーとインストール【VSCode/PowerShell】

#はじめに
この記事は、Djangoをインストールして簡単なアプリを作成する。
という過程の**初学者(私)のエラーに対する原因と対策**のまとめです。
また、Djangoのインストールについても記載しました。

###対象者

私のような、**超初心者の方向け**だと思います。
経験者の方はスルーでいいかもしれません。

###環境
windows10
vscode(vscode内のターミナルpowershell)

#★目次
[1.実行ポリシーによるエラー](#1.実行ポリシーによるエラー)
[2.パスの間違いによるエラー](#2.パスの間違いによるエラー)

[3.Djangoインストールについて](#Djangoインストールについて)
#1.実行ポリシー(Execution_Policies)によるエラー
:::note warn
このシステムではスクリプトの実行が無効になっているため、(ファイル)を読み込むことができません。
:::
![無題3-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

表情判定するLINE BOTをつくった(LINE x Amazon Rekognition)

前回の記事で、LINEで画像を飛ばしてS3に保存する機能を実装しました。
[LINEで送った画像をS3に保存する(LINE Messaging API x AWS)
](https://qiita.com/ted-17/items/0e3e4956a19ad183e739)
# やること
・LINEで画像を飛ばしてAmazon Rekognitionに食わせる
・判定結果をLINEに返す
をしてみようと思います。

# 構成図
![line_to_rekognition.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/d9549338-cc7f-6c39-e130-99a1219a3329.png)
[前回](https://qiita.com/ted-17/items/0e3e4956a19ad183e739)からAmazon Rekognitionが増えただけ。
今回はLINEで送ってLINEに返すという気持ちを込めて双方向⇄にしています。
前回同様AWS Lambdaに

元記事を表示

例外処理 その1 -初心者メモ

例外処理とは、エラーが出る可能性がある処理に対して、エラーが出ても(例外が発生しても)、代わりに実行される処理のこと。

“`Python
def div(num1,num2):
try:
print(f’Answer= {num1/num2}’)

except ZeroDivisionError as e:
print(e)

except TypeError as t:
print(t)

else:
print(‘正常に終了’)

finally:
print(‘すべての処理が終了’)
“`

tryしてみて、エラーならexcept以下が実行される。

elseは、tryが成功したときに表示される。

finallyはtryの成功失敗にかかわらず実行される。

出力結果例

“`Python
div(1,2)
#Answer= 0.5
#正常に終了
#すべての処理が終了

divide(1,0)
#division by zero
#すべての処理が終了しました
“`

元記事を表示

ターミナルからBlenderでモデリングする最小手順

ターミナルからBlenderを操作して3Dモデルを作成し、それを.blendファイルとして保存する最小手順をまとめる。

## 確認環境
– Blender 2.92.0
– Python 3.8.8
– MacBook Pro (16-inch 2019)
– macOS Monterey 12.0.1

## 準備
まず、blenderをターミナルから使えるようにする。下記のコマンドをターミナルで打つ。

“`sh
alias blender=’/Applications/Blender.app/Contents/MacOS/Blender’
# 環境によってパスが異なる場合があるので注意 / 必要に応じてbashとかzshの設定に入れてください
“`

するとblenderコマンドが使えるようになる。打つとblenderが立ち上がる。

“`sh
blender # blenderが起動する
“`

## 本番

まず以下のPythonスクリプトを`test.py`としてファイルに保存しておく。

“`python
# これは平面を作成するスクリプトである。
impor

元記事を表示

pythonのglobal変数について

pythonで下のように書いたとき、エラーが発生した。

“`python
def foo():
a+=1
return

def main():
global a
a=0
foo()

main()
“`

“`terminal
UnboundLocalError: local variable ‘loadIndex’ referenced before assignment
“`
..ん?グローバル変数で定義してるんだけど?

調べてみたら、pythonのglobal宣言は、そのスコープの中においてaをglobal変数として扱う、ということらしい。
つまり、fooのローカルスコープから参照したときにaはローカルスコープから探し出される。
よって、foo内でaを参照したければ、foo内でもglobal宣言してあげる必要があるってこと。

“`python
def foo():
global a
a+=1
return

def main():
global a
foo()

main()
`

元記事を表示

プログラマになれ!プログラミング学習のWebサイト5選

 ソフトウェア開発は急速に発展する分野です。プログラミング技術も絶えず更新されています。この文章で、ベスト5のプログラミング学習サイトを集めました。プログラミングは絶えず勉強しなければなりません!
##1.One Month
 「1か月でプログラミング言語を学ぶにはどうすればよいですか?」と質問された場合は、必ずこのWebサイトを確認してください。このプログラミングWebサイトは、ジュニアプログラマーがJS、Python、Rubyの基本概念をすばやく習得するのに役立ちます。残念ながら、提供されたほとんどのコースは有料ですが、無料のコースがいくつかあります。また、プログラミングの最新ニュースについて説明しているブログもあります。
**リンク:https://onemonth.com/**
![1. One Month.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482909/e5cef781-8d5f-997b-3a2d-d6e2f1d4a98d.png)
##2.PluralSight
 Plural

元記事を表示

機械学習入門 vol.3 Pythonの基礎3 関数・クラス・モジュール

本コンテンツは機械学習入門講座を各所でやっている内容の一部を、受講者の皆様の予習・復習のために公開しているものです。対象読者は、Pythonをやったことがほとんどない方やつまづいてしまっている方でも概ね実行できるようになるレベルで書いています。解説は講座でそれなりに詳しくしているため、コードにコメントする以上の説明はあまり記述していません。

各コードはJupyterシリーズやiPythonで記述しながら実行できるように記述しています。

# 機械学習入門記事シリーズ

1. [機械学習入門 vol.1 Pythonの基礎1 記述とデータ型](https://qiita.com/mychaelstyle/items/500f67b01fda79c215d0) -> 講座第2回に相当
1. [機械学習入門 vol.2 Pythonの基礎2 条件分岐と処理](https://qiita.com/mychaelstyle/items/891dcad83e94f8edd3aa) -> 講座第2回に相当
1. 機械学習入門 vol.3 Pythonの基礎3 関数・クラス・モジュール -> 講座第

元記事を表示

自然言語処理の技術をAPI化し、レスポンス結果として受け取るとき、タイムアウトなどしてしまうときの対処

・自然言語処理の技術をAPI化し、レスポンス結果で受け取るとき、ベクトル化の部分などで時間が掛かりタイムアウトエラーになることがある。
・その対処法として、ベクトル化データをnumpyフォーマットで保存する方法。

“`
# モデルファイルのパスを取得
file_path = f'{os.path.dirname(os.path.abspath(__file__))}/data/SentenceBert_Triplet’
model = SentenceTransformer(file_path) # モデルを読み込み

## 結果で出力するクエリをベクトル化
#sentence_vectors = model.encode(sentences)

## ベクトルデータを numpy フォーマットでファイル保存
## モデルに変更があれば、作り直す必要がある
#np.save(‘/tmp/sentence_vectors.npy’, sentence_vectors)

# ベクトルデータファイルのパス
vector_file_path = f'{os.path.dirname(os

元記事を表示

pythonでDr.Sum Data FunnelにMQTTでデータを送ってみた

#やりたいこと
pythonでmqttプロトコルでDr.Sum Data Funnelにデータを送ってみます。
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2254022/463da756-17d3-d6cb-b5d1-594f47070fb2.png)

###Dr.Sum Data Funnelとは
Dr.Sum Data Funnelは、センサデータなどをリアルタイムに収集、加工するためのツールです。
**Message Brokerを内包しているため**、python側はそこに向けてデータをpublishするだけでOKです。
subscribeはData Funnel Server側で行います。
詳しくはマニュアルを参照
https://cs.wingarc.com/manual/drsum/5.6/ja/UUID-22e5cf79-b783-ed52-f7f8-d29f284be8b0.html

#データを送ってみる!
###paho-mqttのインストール
python

元記事を表示

PythonでwebApi作成 (CRUD) 初心者の方に向けて

# この記事の目的
DBに対するCRUD操作を行えるwebサーバを作成する。
丁寧に解説しました。
まさかりを歓迎します。

# 緒言&前提
○前提
・仮のDBとしてlist型を作成し、そこに対してCRUD操作を行います。
仮DBに対する操作を実際のDBに対する操作に書き換えれば良いかと思います。
・python、pip(pythonのパッケージマネージャ)のインストールを前提とします。
○緒言
pythonでwebApiを作成するモチベーションとしては、
・DBデータを数学的に扱うためにnumpyライブラリを使用したいから
というところでしたが、あとから調査してみると、web通信自体はjsなどに任せて、データ処理のみをpython+numpyに任せた方が高速だということでした。
参考:https://qiita.com/KatsunoriNakamura/items/dd567ea7cfaa99685453

## 言葉
・Flask: python上で動くウェブアプリケーションフレームワーク。かんたんにwebアプリが作れました。
・webApi: この記事では、URIを叩くとDBに

元記事を表示

【Pytorch】kaggleでPytorchのGPUのコードをTPUに書き換える要素【GPU→TPU】

##0,はじめに
下記を書き換えることで、2021年11月19日現在は動作することを確認しましたが、cudaのversionなどの問題で動作しなくなることがあります。
その場合はおそらくpytorch-xla-env-setup.pyのversionを変更することで動くようになると推測しています。
【執筆時のcudaのversion】

“`.py
!nvcc –version
>Cuda compilation tools, release 11.0, V11.0.221
>Build cuda_11.0_bu.TC445_37.28845127_0
“`

##1,ライブラリをimportする前に

“`.py
!curl https://raw.githubusercontent.com/pytorch/xla/master/contrib/scripts/env-setup.py -o pytorch-xla-env-setup.py
!python pytorch-xla-env-setup.py –version 1.7 –apt-packages libomp

元記事を表示

M1 MacでPython+OpenCVプログラミングできる環境を整える

# はじめに
環境を一から作る機会があったので,せっかくだから整理します.少しでもお役に立てば.この記事は主に初学者向けなので,PythonおよびOpenCVは基本的に標準的に入るバージョンのものを使います.

:::note
M1 Macを取り巻く環境は日々更新されています.私はさまざまな記事を参考にさせていただいてインストール作業を行いましたが,参照記事ではうまくいかなかったと書かれていた事も,現時点ではスムーズに進んだりしました.先人の努力に感謝します.
:::

## 使用環境
– MacBook Pro (14インチ, 2021) Apple M1 Maxプロセッサ
– macOS Monterey 12.0.1

## この記事をフォローすると使えるようになる環境
– Visual Studio Code
– Homebrew経由でインストールされるPython3
– pip経由でインストールされるOpenCV

## この記事でやらないこと
– pyenvでのPythonのバージョン管理

:::note
この記事を読んでPythonの環境を構築する人にはまだ不要でしょう

元記事を表示

機械学習入門 vol.2 Pythonの基礎2 条件分岐と処理

本コンテンツは機械学習入門講座を各所でやっている内容の一部を、受講者の皆様の予習・復習のために公開しているものです。対象読者は、Pythonをやったことがほとんどない方やつまづいてしまっている方でも概ね実行できるようになるレベルで書いています。解説は講座でそれなりに詳しくしているため、コードにコメントする以上の説明はあまり記述していません。

各コードはJupyterシリーズやiPythonで記述しながら実行できるように記述しています。

# 機械学習入門シリーズ記事

1. [機械学習入門 vol.1 Pythonの基礎1 記述とデータ型](https://qiita.com/mychaelstyle/items/500f67b01fda79c215d0) -> 講座第3回に相当
1. 機械学習入門 vol.2 Pythonの基礎2 条件分岐と処理 -> 講座第3回に相当
1. [機械学習入門 vol.3 Pythonの基礎3 関数・クラス・モジュール](https://qiita.com/mychaelstyle/items/d5506f372219b162c8c8) -> 講座第

元記事を表示

リモートワークに役立つ!?Slackbotを自作してみよう!

#今回作成するもの
今回作成するBotは、**マイナスの言葉がチャットに書き込まれると、削除し、逆にプラスの言葉が書き込まれるとリアクションで感謝を伝えてくれるBot**です:robot:
実際にSlackでどのように動くのか見てみましょう!

![slackbot.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1912865/5c6714ee-45ef-dce4-2d50-0114f522fb6e.gif)

#####このSlackBotを作成して言論統制し、不快なチャットからはおさらば!快適なチャットには感謝を!そして、平和なSlackを手に入れましょう:dove:

1から丁寧に解説していくので初心者の方も安心してください!
それでは、楽しい楽しいBot制作に取り組んでいきましょう:muscle_tone2::muscle_tone2::fire:

#主に使用するもの
今回は「Web API methods」を利用して、SlackBotの機能を拡張していきます。

https://api.sl

元記事を表示

Windows10のpyenvでデジタル署名のエラーの対応(仮)

#はじめに
この対応、「仮」ですからね!仮っ!!!(ツンデレ風)

#症状
先日つくったWindows10+pyenvの環境。
> Windows10にpyenvを入れてバージョン切り替え可能なpython環境をつくってみる
> https://qiita.com/yuzukaki/items/ee3155096926884607ef

使おうとしたら、こんな文言が。

“`cmd:cmd
> pyenv shell 3.9.6
pyenv : ファイル xxx\.pyenv\pyenv-win\bin\pyenv.ps1 を読み込めません。
ファイルxxx\.pyenv\pyenv-win\bin\pyenv.ps1 はデジタル署名されていません。
(以下略)
“`

#考察
ダウンロードしてきたファイルへのセキュリティが高くなったと思われるです。

#確認
該当するpyenv.ps1のプロパティをみてみると、
全般タブの中の一番下にこんなものが。
![キャプチャ.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws

元記事を表示

OTHERカテゴリの最新記事