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

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

Amazon SageMaker Studio のノートブックでカスタムイメージを使う

## はじめに
この記事では、Amazon SageMaker Studio のノートブック環境をカスタムする方法をご紹介します。Amazon SageMaker は環境構築に Docker イメージを使っているので、自分で作成した Docker イメージを Amazon SageMaker Studio に設定してやれば、そのイメージをノートブックで使うことができるという寸法です。

## Docker イメージの作成
それでは早速、Docker イメージを作ります。今回は [こちら](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/tree/main/examples/tf23-image) のサンプルを拝借して、Tensorflow 2.3 を使うためのイメージを作ります。

### AWS Cloud9 の起動
今回は Docker イメージ作成環境として AWS Cloud9 を使用します。お手元の PC に Docker と AWS CLI 環境が構築されていればそちらを使うことももち

元記事を表示

【ロジスティック回帰】statsmodelsでk分割交差検証を実装する

#はじめに
pythonでは,ロジスティック回帰モデルを利用できるライブラリとして主にscikit-learnとstatsmodelsが用いられます.statsmodelsには係数の有意差検定を自動でしてくれるといったscikit-learnにはない利点がある一方で,代表的なモデルの評価方法であるホールドアウト法や交差検証法に対応していません.そこで今回は,statsmodelsでk分割交差検証法を実装するためのコードを作成してみます.

statsmodelsを用いたホールドアウト法の実装については[こちら](https://qiita.com/takato0884/items/fd957fd431d41bcb3ada)をご覧ください.
# ライブラリのインストール
“`python:sample.ipynb
import numpy as np
import pandas as pd
import statsmodels.api as sm
“`
#データのインストールと前処理
データには,私が卒業研究のために独自に集めたクラウドファンディングに関するデータを用います.
このデ

元記事を表示

windowsPCのプロビジョニングで初期セットアップ

#セットアップ内容
windows10のプロビジョニングで管理者用アカウントを作成
→初回起動時に自動セットアップ
使用者ユーザーアカウントの作成
PC名変更
ソフトウェアのインストール
社内ストレージへのショートカットの作成

#windows10のプロビジョニング
デスクトップデバイスのプロビジョニングを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624991/5569c9f5-c663-21da-a56c-a1e93ff1812e.png)

各種情報を入力
デバイス名とパスワードはあとで変更するので、仮入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624991/82150b70-036b-dc6d-2946-5552c9462dfd.png)

>参考url
>https://www.pit-navi.jp/deployment-how-to-deploy-win1

元記事を表示

AWS Professional な俺が転生した先はSparkがK8s上で動く魔界だった件について(1)〜それでもMacでやるんです〜

どうも、ドコモサービスイノベーション部ビッグデータ担当の依田です。AWS Professional、SAの方は失効しました。どう見てもスマブラ[^1] のやり過ぎです。
[^1]: 担当内、私含めて4人が、未経験からVIP(オンライン対戦Top 5%以内)入りしました。世界戦闘力の身に付く非上場優良企業なので学生さんはぜひ見にきてください。

タイトル通り、Apache Spark on K8sで商用サービス展開しちゃってます。魔界[^2]転生[^3]してからこの2年半、切った貼ったの野良試合で流石に大変だったので、後輩に向けたハンズオン作りました。
[^2]: 魔界だと思ってたら五条先生ことAWSが領域展開([EMR on EKS](https://aws.amazon.com/jp/blogs/aws/new-amazon-emr-on-amazon-elastic-kubernetes-service-eks/))で颯爽と上書いていきました。はよ東京に来て。
[^3]: いわゆる異動。前はReact/ReduxでWebアプリ組んでたんですがどうしてこうなった。

**(

元記事を表示

DBからデータを取得して返り値にするときに詰まったこと

(備忘録なので簡単に。より詳しい情報は[ドキュメント](https://docs.sqlalchemy.org/en/13/)などを参照ください)

##execute()の返り値

・sqlalchemyでDBに接続して、excute()でクエリを発行したとき、
 返ってくるのは’sqlalchemy.engine.result.ResultProxy’クラスの
 オブジェクト

・つまり、DBから取得した値をintやstrなどで返すためにはひと工夫が必要

↓↓↓例えばこんな感じ↓↓↓

~~~py
from sqlalchemy import create_engine
# 余談だけど型アノテーションはちゃんとしよう。この関数宣言をまねしちゃダメだぞ
def fetchUserIdFromDB(userName):
# DB接続
engine = create_engine(‘sqlite:///app.db’)

userId = []
with engine.connect

元記事を表示

3. Pythonによる自然言語処理 4-1. KWICによる語用の分析

* KWIC (keyword in context) は、あるキーワードが出てくる場所を取得するものですが、その前後の文脈を併せて取得してくれるという利点があります。
* つまり、その**キーワードがどのような文脈の中で使われているか**を知ることで、定性的な解釈を深めるような用途に利用できます。
* KWIC は [NLTK](https://www.nltk.org/) の `ConcordanceIndex` クラスを利用して簡単に行えるもので、NLTK (Natural Language Toolkit) は、Pythonで自然言語処理を行うためのライブラリの一つです。

#⑴ コーパスの取得
* ここでは 宮沢賢治の『銀河鉄道の夜』をコーパスとし、リソースとして[インターネットの電子図書館『青空文庫』](https://www.aozora.gr.jp/)を利用させていただきます。

####❶ライブラリのインポート
“`python
import re # 正規表現の操作
import zipfile # zipファイルの操作
import urllib.reque

元記事を表示

バッチ設計とPython

# はじめに
Python Advent Calendar 2020 25日目:christmas_tree:です。

時代はサーバレースですが、オンプレミスのサーバやクラウド(IaaS)などのインスタンスでバッチを運用しているシステムもまだたくさんあると思います。

本記事ではサーバ上で動かすバッチを前提とし、前半はアンチパターンなどを踏まえながらバッチ設計のポイントについてまとめています。後半はPythonでバッチ開発する際のTipsになります。

**※本記事の内容は、あくまで考え方の一例であり、必ずしも全ての考え方がシステムに適合したり、ここに書いている内容で満たされている訳ではありません。**

## バッチ設計
バッチ処理はひとまとまりのデータに対して、一連の処理を連続で実行する処理方式のことです。語源を辿ると、汎用コンピューターの時代まで遡ります。

データを一括で処理することを目的とし、Unix系OSではcronを利用して指定した日時で運用することが多いです。また、バッチ自体のことをジョブと呼んだりもします。大規模システムではたくさんのジョブを管理するため、専用のジョブ

元記事を表示

NumPy221本ノックの本書いた

1~2ヶ月ぐらいかけてNumPyの基礎~実装力をつけるための本を書きました。問題演習形式で221問収録してあります。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232088/8a199df7-c557-b47e-440a-8e127ddda537.jpeg)

## 着想
以前[この本](https://qiita.com/koshian2/items/aefbe4b26a7a235b5a5e)を書いたのですが、ディープラーニングに行く前のNumPyでつまずいている方が結構多かったのです。例えば「np.meanのaxisってどうするの?」や「shapeが何だかわからない」というケース。そこをどうにかケアしようというのが今回の目的です。

NumPyの問題演習は昔からありまして、[100 numpy exercises](https://github.com/rougier/numpy-100)が有名です。昔初心者の頃自分もやったことがあります。最初の方は良いのですが、あとの方が「これイマイチ何に使う

元記事を表示

機械学習の初心者がpythonで有馬記念を予想してみた

機械学習の初心者がpythonで…シリーズの第二弾です。

前回の記事『[機械学習の初心者がpythonで競馬予測モデルを作ってみた](https://qiita.com/kazuktym/items/7804a63338113653b04f)』では、競馬を題材にして、簡単な学習モデルを構築する過程をまとめてみました。

今回は実践編ということで、2020年の総決算である有馬記念の予想を実際にしてみたいと思います。アドベントカレンダーの大トリを担当ということもあり、ちょうどタイミング的にもピッタリ?ですね!

※ 環境構築は[前回の記事](https://qiita.com/kazuktym/items/7804a63338113653b04f)を参照してください

# 有馬記念とは?
中央競馬のGI競走の一つで、ファン投票によって出走馬が選出され、別名グランプリとも言われる1年を締めくくるビッグレースです。

レース概要はこちらです。

– **開催日:2020/12/27(日)**
– **競馬場:中山競馬場**
– **コース:芝2500m**

小回りの中山競馬場の長距離レ

元記事を表示

Pythonさえ分かればDjangoでWebアプリは作れる

この記事は[Django Advent Calendar 2020](https://qiita.com/advent-calendar/2020/django) の最終日の記事です。

# はじめに
はじめまして。

普段からDjangoを使用してWebアプリを開発しています。

– [シルトレンド](https://siru-trend.com)

今年もこの時期がやって来ましたね。
ちなみに、去年も同じ日に投稿させて頂きました。

– [Djangoの個人的Tips](https://qiita.com/Taro_man/items/3a0e6256db22d5e64a68)

今年の Django Advent Calendar 2020 も素晴らしい、そして実用的な記事が多く、
楽しく拝見させて頂きました。

個人的にDjangoの良さは**「簡単な」**アプリケーションを**「手軽に」**作れるところにあると思っています。
そこでこの記事では、簡単な、そして基本的な**Djangoアプリケーションを作る過程を**コードとともに記載したいと思います。

この記事がDj

元記事を表示

ゴジラの画像認識モデルの前処理と学習とデプロイまでをいい感じにしてみる

この記事は、[“ちゅらデータアドベントカレンダー”](https://qiita.com/advent-calendar/2020/churadata)の20日目です。

遅刻なのにまだ中途半端な記事です。明日完成させます。

## 概要

ここ最近はMLOpsに興味があり、情報をあさったり本読んだりしているうちなーんちゅです。

ちゅらデータの周年祭で披露したゴジラ画像分類APIですが、VGG16のモデルをファインチューニングして適当にGoogle画像検索で集めた画像を使って学習したところゆるーい感じで分類することができるようになりました。

こんなやつ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101690/3a2b3415-4a8a-6b7e-e80d-4d1ed8b10a28.png)

ただ、披露したところ、黒い人がゴジラと分類されたり、ガメラがゴジラに分類されたりとまだまだ学習やデータが足りない感じです。

①データ集める → ②ラベル付与 → ③データ

元記事を表示

Blenderのカメラのスクリプトの試作2種

ADVENTARのBlender Advent Calendar 2020の23日の記事として登録します
https://adventar.org/calendars/5212

チャットで漫画の下絵に使うためのカメラ操作をする機能が欲しいって話題があったので
ちょっと機能を試作してみました。 どちらも試作で機能としてはメモ書きに近い程度です

# 目的の位置が中心になるようにカメラをシフトする
カメラシフト(カメラビューのままで平行移動したように表示を変更する機能)の数値を
より簡単にするためにするためのスクリプトです

カメラビューで見た3Dカーソル位置が中心になるようにシフトの数値を設定します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151493/24cfef63-63b1-9a6d-9487-d4e0c4b95273.png)

“`py:CameraShift/py
import bpy
import math
from mathutils import Vector,

元記事を表示

pandas_proflingを使うとTypeError: concat() got an unexpected keyword argument ‘join_axes’が出た話(Google Colab)

(Qiita初投稿なのでご容赦ください)
今回とあるコンペに参加した。
#### Google Colabで pandas_profling.ProfileReport を使って、データを眺めようと思った矢先に以下のようなエラーが発生した。
“`
from pandas_profiling import ProfileReport
train = pd.DataFrame(train)
profile = ProfileReport(train)
===================================================
TypeError: concat() got an unexpected keyword argument ‘join_axes’
“`
エラーを調べていくとどうやらversionに問題があるよう。
まずpandasのversionを下げてみたが、うまくいかなかった。

次にpandas_profilingのversionをupgradeすると解決。以下コード。
“`
import pip
!pip install -U pa

元記事を表示

cProfileモジュールでPythonスクリプトのボトルネックを調べる

この記事は[Takumi Akashiro ひとり Advent Calendar 2020](https://qiita.com/advent-calendar/2020/takumi_akashiro “ひとり Advent Calendar 2020”)の24日目の記事です。

## 始めに

Python製のツールが遅いけれど、どこを直せば早くなるのか分からない……そんな経験はありませんか?
そんなときに便利なのが、これ、`cProfile`モジュールです!

## とりあえず使ってみる

`cProfile.run`にstringを渡すと`exec()`を計測して、結果が出力されます。

“`python
>>> import time
>>> import cProfile

>>> cProfile.run(‘[time.sleep(1) for x in range(3)]’)
7 function calls in 3.000 seconds

Ordered by: standard name

ncalls t

元記事を表示

自分にassignされたGitHubのissuesの数の時系列をPythonで可視化する

# はじめに
GitHubのIssuesを使って個人的にタスク管理をし始めた。自分にassignされたissuesの一覧は https://github.com/issues/assigned で見ることができるが、実際にどの程度処理したのか過去の履歴が見られなかったので、Pythonを使って可視化することにした。

主な実行環境は以下の通り。

– macOS Big Sur 11.1
– conda 4.9.2
– Python 3.7.7
– PyGithub 1.54

# PyGithub
PythonからGitHub APIを叩くには、PyGithubという便利なモジュールが存在するのでこれを使う。インストールは`conda install -c conda-forge pygithub`でよい。

事前の準備としてGitHubのアクセストークンを作成する必要がある。[PyGithubを使って、GitHubの情報を取得してみた](https://dev.classmethod.jp/articles/get-github-info-using-pygithub/)という記事

元記事を表示

Splunkで見る新型コロナウィルスのファクトフルネス

メリークリスマス!2020年もあと1週間。今日の夕方のクリスマスケーキとチキンの行列はいつもより長かった気がします。みなさん自宅でのクリスマスなんでしょうか。

2020年1月から発覚した、新型コロナウィルスと3月のパンデミック。毎日報道されています。だいたいは最高人数更新のニュースなのですが、最高で無い場合は過去の曜日の最高や、大阪が最高だの、煽っているようにしか見えません。
2017年の日本のがん死亡者数:373,584人、(https://ganjoho.jp/reg_stat/statistics/stat/summary.html)
心筋梗塞などの心疾患死亡者数は204,837人(http://www.seikatsusyukanbyo.com/statistics/2019/009997.php#:~:text=%E5%8E%9A%E7%94%9F%E5%8A%B4%E5%83%8D%E7%9C%81%E7%99%BA%E8%A1%A8%E3%81%AE%E3%80%8C%E4%BA%BA%E5%8F%A3,%E3%81%AB%E5%A4%9A%E3%81%84%E6%95

元記事を表示

【pytorch入門】オーディオI / Oおよびtorchaudioによる前処理(> <;)

表題のとおり、以下の参考ページのコードを動かしてみました。
特に参考になるかというと難しいけど、一応動いたのでまとめておきます。
※歯切れ悪いですが、最後に落ちが、。。。

【参考】
①[AUDIO I/O AND PRE-PROCESSING WITH TORCHAUDIO](https://pytorch.org/tutorials/beginner/audio_preprocessing_tutorial.html)
②[TORCHAUDIO.TRANSFORMS](https://pytorch.org/audio/stable/transforms.html)
③[SOURCE CODE FOR TORCHAUDIO.TRANSFORMS](https://pytorch.org/audio/stable/_modules/torchaudio/transforms.html)

この項の売りは以下の通りです。
「機械学習の問題を解決するための多大な努力は、データの準備に費やされます。 torchaudioはPyTorchのGPUサポートを活用し、データの読み込みを簡単で読み

元記事を表示

AWS Data Pipelineで利用しているAMIをリストアップする

AWS DataPipelineで利用しているAMIのImage IDを調べるために使ったスクリプトです。

“`python
import boto3
from time import sleep

session = boto3.Session(profile_name=”{プロファイル名}”)
client = session.client(“datapipeline”)

def main():
for x in list_all_pipelines():
for i in get_ec2_resources(x)
print(x, i)

def list_all_pipelines():
“””markerを指定しないと途中で終わってしまう
“””
result = client.list_pipelines()
pipelines = [x[“id”] for x in result[“pipelineIdList”]]
marker = result[“marker”]

元記事を表示

[Python Windows] Pythonバージョンを指定してpip install

* Windows の Python ランチャを利用

# インストールされているPythonのバージョン確認
* “`*“` がついているバージョンがデフォルトバージョン

“`terminal
C:\Users>py –list
Installed Pythons found by py Launcher for Windows
-3.8-64 *
-3.6-64
-2.7-64
“`

* ※ 各バージョンのpython.exeのパスを知りたい場合は、“`–list“` を “` –list-paths “` にする

“`terminal
C:\Users>py –list-paths
Installed Pythons found by py Launcher for Windows
-3.8-64 C:\Users\username\AppData\Local\Programs\Python\Python38\python.exe *
-3.6-64 C:\Users\username\AppData\Lo

元記事を表示

LeetCodeに毎日挑戦してみた 122. Best Time to Buy and Sell Stock II(Python、Go)

#### Leetcodeとは

[leetcode.com](https://leetcode.com/)
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。

golang入門+アルゴリズム脳の強化のためにgoとPythonで解いていこうと思います。(Pythonは弱弱だが経験あり)

#### 31問目(問題122)

#### 122. Best Time to Buy and Sell Stock II
問題内容

> Say you have an array `prices` for which the *i*th element is the price of a given stock on day *i*.
>
> Design an algorithm to find the maximum profit. You may complete as many transactions as you like (i.e., buy on

元記事を表示

OTHERカテゴリの最新記事