Python関連のことを調べてみた2022年07月26日

Python関連のことを調べてみた2022年07月26日

Databricks(Spark)の Spark SQL にて変数を利用する方法

## 概要
Databricks(Spark)の Spark SQL にて変数を利用する方法として、`spark.conf` を利用する方法を紹介します。

## コード例1 カラムの値を指定
### spark.conf に値をセット

“`python
spark.conf.set(‘da.val.msg’, ‘Hello World’)
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/7c77b12f-39ec-edd8-6f5a-370b6551db7a.png)

### Spark SQL にて変数を利用

“`sql
%sql
SELECT
“${da.val.msg}” AS message
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/0cfb0c88-beea-ee5a-cb40-cc4af7d9d06f.png)

#

元記事を表示

【Python】Pandas DataFrameを使った訓練データ、教師データの生成例

# 概要
機械学習の処理を色々見ているとデータ準備工程で同じような処理を見かけるので何をしているかまとめておく

# 処理
## コード全文
“`Python
import pandas as pd
import seaborn as sns

df = sns.load_dataset(‘titanic’) # データセット読み込み
X = df.loc[:, (df.columns!=’survived’) & (df.columns!=’alive’)]
X = pd.get_dummies(X, drop_first=True) # 訓練データ
Y = df[‘survived’] # 教師データ
“`

## データセット読み込み
“`Python
df = sns.load_dataset(‘titanic’)
“`
まずはデータを用意している。
以下のタイタニック以外にもいろいろある。

>タイタニック号沈没事故の乗客の生存者/死亡者のデータセットです。(データのもとはイギリス商務省)
データセットの構造はKaggleのタイタニックデータに類似していますが、項目に

元記事を表示

Python:1変数のt検定のサンプル

# はじめに
1変数のt検定の解説をする。分かりやすく説明するために、__学術的な面での正確性には敢えて目をつぶり__、なるべく平易な言葉を使って説明することを試みた。

また、ptyhonによるサンプルプログラムと、1変数によるt検定を簡単に実行することができる関数(scipy.stats.ttest_1samp)を紹介する。

# サンプル例
– 機械部品を作っている工場がある。ネジを毎日200万個生産しており、これらの品質検査を実施している。
– 品質基準としては、ネジの重さは10gと定めている。
– すべての部品の重さを測るのは不可能なため、完成品から無作為抽出して、サンプリングによる検定を行っている。
– サンプル数は20個で、t検定による。また有意水準は5%以上とする。

# t値の計算方法
t値は以下の計算式で算出できる。
“`math
t = (標本平均 – 10) / 標準誤差
“`
ここで標本平均とは、無作為抽出したサンプルの平均の重さである。Pythonでコーディングすると、
“`python
import numpy as np

screw_sa

元記事を表示

AtCoder ABC261 D の提出を集計して感じたところ + Ruby で解けず crystal で解いてみた

# はじめに
AtCoder さん、ありがとうございます。
# D – Flipping and Bonus
https://atcoder.jp/contests/abc261/tasks/abc261_d

いわゆるDP問題
# 提出の集計
コンテスト中(2022-07-23(土) 21:00 ~ 22:40)の延べ提出数(当社調べ)
||Python (3.8.2)|PyPy3 (7.3.0)|Ruby (2.7.1)|Crystal (0.33.0)|C++ (GCC 9.2.1)|
|:–:|–:|–:|–:|–:|–:|
|AC|4|565|12|7|2283|
|WA|59|**18**|11|**6**|**1006**|
|TLE|**150**|11|**27**|1|191|
|RE|26|3|2|0|110|
|CE|0|0|0|1|46|
|subtotal|239|597|52|15|3636|

`C++`や`PyPy`での提出数が多いのはそうなのですが、
不正解の内訳からしますと、`C++` `PyPy` `Crystal`はいかに`WA`を

元記事を表示

全くの初心者が機械学習で雲の画像診断に挑戦したら

## はじめに
はじめまして。Qiita初投稿。エンジニア職を目指しAidemyで勉強中です。
初めてのAIアプリを作ってみての自分なりの経験をまとめます。先に結果を言いますと非常にできの悪いアプリになったため、温かい目で感想、アドバイスなどあればよろしくお願いします。

## 概要
何のアプリを作ろうか何も考えてなく、ぼーっと空を見ていてふと雲の画像識別を作ろうと考えました。
まず雲の種類は10種類あるので、それぞれの画像がどの雲に該当するかを判断するモデルを作る。

## 流れ
1. まずは雲の写真を収集(1種類100枚前後)
2. 写真からそれぞれの種類の雲を分類
3. 機械学習で雲の種類を学習させたモデルを作成
4. 結果と反省。モデルの精度向上を目指して
5. まとめ

言語はPython、環境はGoogle Colaboratoryを使用しました。

## 1. まずは雲の写真を収集(1種類100枚前後)
10種類の雲は「”巻積雲”,”巻層雲”,”巻雲”,”高積雲”,”高層雲”,”乱層雲”,”積乱雲”,”積雲”,”層積雲”,”層雲”」という風に分かれています。
画像を集め

元記事を表示

3つのファイルのDiffを取るときの備忘録

# 概要
– 3つのファイルのDiffを取って違った場合にFAILEDになるテストスクリプトを作りたい
– 比較する2つのファイル名は同じである
– 2つのファイルを比較する場合difflibモジュールを使用することができるが、今回は3つのファイルを比較したいためsubprocessモジュールを使用して、diff3コマンドを実行してみる

# 参考
https://docs.python.org/ja/3/library/subprocess.html

https://kazmax.zpp.jp/cmd/d/diff3.1.html

# 環境
“`
# Pythonのバージョンを確認
python –version
> Python 3.7.3

# pytestのインストール
> pip install pytest

# natsortのインストール
> pip install natsort
“`

# 実装
“`python:diff_3_files.py
import os
import glob
from natsort import natsorted
imp

元記事を表示

FlaskアプリをHerokuでデプロイ。そしてエラー解決。

## 初めに
どうも、現在python歴3か月で転職の為に精進している者です。
今回ほぼ初めて、webアプリを作成し、Herokuにdeployしてみました。この際に色々なエラーや手間取った事もありましたので忘備録と少しでも皆様のお役に立てればと思い綴る事に致しました。

### 内容
今回はflaskで作成したwebアプリケーションをherokuでアップロードする際に発生したエラー解決について記述致します。
このようなエラー画面を解決しました。

![2022-07-24_20h12_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2719278/e84ccf9f-715f-0b70-3349-8ab5e002479c.png)

**どう解決したか。**
この画面が出現する。⇒herokuでログを確認する。⇒修正して再デプロイ
この画面が出現する。⇒herokuでログを確認する。⇒修正して再デプロイ
その繰り返しです。
これらのエラーを発見し解決しました。

“`ts
heroku[web.1

元記事を表示

Ultralytics HUBで学習したモデルを利用し、手持ちのiOS端末で物体検出する。

# 目的

– `Ultralytics HUB`の理解を深める。
– `Ultralytics HUB`で学習したモデルを利用し、手持ちのiOS端末で物体検出をする。

# 背景

`YOLOv5`について理解を深めていたところ、`Ultralytics HUB`(投稿時点ではbeta版)という機械学習プラットフォームを知った。
このプラットフォームはどういったことができるのか、どういった可能性を秘めているのか深めようと思った。

# 前提知識・条件

– `YOLOv5`を使って学習と検出の操作を行ったことがある
– `YOLOv5`で読み込める形式のデータセットが手元にある
– iOS端末を所持している

# Ultralytics HUBとは

`Ultralytics HUB`とは、機械学習モデルの学習、デプロイを行うことができるWebプラットフォームです。
機械学習フレームワークとしては、内部で`YOLOv5`が動いています。

学習設定はUIから行うことができます。
UIは非常にシンプルで、分かりやすく、とっつき易いです。(個人の感想です)

また、iOSやAndroid

元記事を表示

MediaPipeによる手の検出 + StrongSORTを用いた物体追跡

[前回の記事](https://qiita.com/ysenkun/items/e2a8b202ae300f0028fd)では,「Opencvの顔検出モデルを用いた顔追跡」と「他の物体検出モデルを用いた追跡方法」について説明しました.

この記事では,前回の記事で書いた「他の物体検出モデルを用いた追跡方法」を参考に実装したので紹介します.具体的には,[MediaPipe Hands](https://google.github.io/mediapipe/solutions/hands.html)で手の検出を行います.検出された手をStrongSORTを用いて追跡するのが一連の流れとなっています.

今回は以下のGitHubのリポジトリを使用し説明していきます.
[GitHub:hands-detection-strongsort](https://github.com/ysenkun/hands-detection-strongsort)

# 目次
– 実際に動かしてみる
– プログラムの説明

# 環境
– Google Colaboratory

# 実際に動かしてみる
今回使

元記事を表示

Pythonで共起ネットワークを描く(未完成)

# はじめに

経緯

– [KH Coder](https://khcoder.net/) を使って共起ネットワークを作ってた
– 自動で処理したい…Perlでできるらしいけど、Perlわかんにゃい (・へ・)
– Pythonでできたらなー…自分で作るか!

そんなわけでPythonで共起ネットワーク作りたいと思います。
KH Coderの共起ネットワークの見た目ってすごい綺麗なんですよね(下図)。なのでKH Coderの出力とおおよそ似たような形になるように目指していきたいと思います…
が、結論を言うとグラフ描画がうまく行っていません。そのうち再度挑戦します。

![KH.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703301/2bd4bba5-5986-83e1-b4bd-a5c797d3f89f.png)

# 処理内容

実施した処理手順としては以下です。

1. janomeで形態素解析
1. 描画に使用する語を抽出
1. 共起ネットワークの作成
1. 共起ネットワークの

元記事を表示

Airflow資料抄訳(16):オペレーター(Operators)

恥ずかしながら最近になって知ったワークフローエンジン [Apache Airflow](https://airflow.apache.org/)。日本語の紹介記事もちらほら出てきていますが、[公式ドキュメント](https://airflow.apache.org/docs/)をちょっとずつ抄訳しながら読んでいこうと思います。

16回目の今回は[オペレーター](https://airflow.apache.org/docs/apache-airflow/stable/concepts/operators.html)(Operators)。
バージョン2.3.3時点のものです。

# オペレーター(Operators)

DAG:オペレーターはあらかじめ定義された[タスク](https://airflow.apache.org/docs/apache-airflow/stable/concepts/tasks.html)のためのテンプレートです。オペレーターを使用することでDAGの内部で宣言的にタスクを定義することが出来ます:

“`py
with DAG(“my-da

元記事を表示

Python で interruptible な xmlrpc server(socketserver) を作るメモ(threading)

xmlrpc server(sockerserver) の `serve_forever` のように永遠にブロックする関数を呼び出して処理するときにアプリ内部から停止する
JupyterLab とか PyQt とかで GUI でサーバースタート, ストップしたいときなど.

Windows, Unix で使えるのがほしい.

## Threading

Pythonのthreadingとmultiprocessingを完全理解
https://qiita.com/kaitolucifer/items/e4ace07bd8e112388c75

https://stackoverflow.com/questions/2189069/simplexmlrpcserver-wxpython-and-thread-howto-stop

ありがとうございます.
thread + event でいけます!
(基本的には thread そのものを直接 terminate するのはない)

### 最新 Python 対応

少なくとも Python 3.7 or more ですと, `handle

元記事を表示

django-mysql環境をコンテナ化する際にぶつかったエラー

## 概要
– [こちらの記事](https://note.com/digiangler777/n/n5af9bf35b0c0)を元にdocker-compose up -dをしようとすると以下のエラーになった。

エラー内容

“`
docker-django % docker-compose up -d
Creating network “docker-django_default” with the default driver
Building db
[+] Building 2.2s (9/9) FINISHED
=> [internal] load build defi

元記事を表示

【CDK】 色んな言語でCRUD API作る【Python】

# この記事について
[AWS CDKv2](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html)でCRUD操作ができるAPIを作る
今回はPythonを使う

# プロジェクト初期化
## CLIのインストール
CLI自体はnodeのものを使う(ので導入済みならスキップ)

“`bash
npm install -g aws-cdk
cdk –version
“`

バージョンが表示されればOK

## CDK Toolkitのデプロイ
初回のみCDKを利用する際に必要となるファイル群のデプロイが必要
→これもやったことがあるならスキップ

“`bash
cdk bootstrap aws://${ACCOUNT}/${REGION}
“`

以下のように表示されればOK

“`bash
✅ Environment aws://${ACCOUNT}/${REGION} bootstrapped.
“`

※異なるアカウント、リージョンでCDKを利用する場合はまたこの作業が必要にな

元記事を表示

Windows11にWSL2を導入しtensorflowを入れてOpenCVでリアルタイム物体認識をやってみる

家のデスクトップパソコンでディープラーニングとかしてみようと思ったので備忘録として残します。
Qiitaド初心者ですので何か問題などあれば遠慮なく教えてください

# 環境
・OS : Windows11(64bit)
・GPU: GeForce GTX 1650
・Visual Studio 2022 Enterprise
windows10だとWSL上でGUIが使えないそうなのでwindows11は必須な気がします

# WSL2のインストール
これによってWindows上でLinuxを動かせるそうです、今までVMwareとかは使ったことはあったのですが今はWSL2が主流のようですね。
https://docs.microsoft.com/ja-jp/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package
ほかのページも少し試したのですが、結局公式のドキュメント通りに進めないとエラーが出てしまいました。
PowerShellを管理者権限で起動して以下のコマンドを実行です
“`
dis

元記事を表示

ONNXの使い方メモ

# 1. ONNXとは

Tensorflow, PyTorch, MXNet, scikit-learnなど、いろんなライブラリで作った機械学習モデルをPython以外の言語で動作させようというライブラリです。C++, C#, Java, Node.js, Ruby, Pythonなどの言語向けのビルドが作られています。ハードウェアもCPU, Nvidia GPUのほかAMD GPUやNPU、FPGAなどにも対応を広げているので、デプロイ任せとけ的な位置付けになるようです。

https://onnxruntime.ai/

https://github.com/microsoft/onnxruntime-openenclave#inferencing-start

いろんな言語やハードウェアで動かせるというのも大きなメリットですが、従来pickle書き出し以外にモデルの保存方法がなかったscikit-learnもonnx形式に変換しておけばONNX Runtimeで推論できるようになっていますので、ある日scikit-learnモデルのメモリ構造が変わって読めなくなるんじゃないか

元記事を表示

第4回|構文解析の方法と成果物を説明する

# はじめに

ヴェネクト株式会社のディレクター 小峰です。
今回の分析では”構文解析”を扱います。構文解析では、インプットした文章内で、各単語がどのような位置づけであるか、係り受け構造を得ることができます。係り受け構造を理解すれば、各単語の品詞(名詞や形容詞など)やどの単語に結びついているかを理解することができます。

構文解析については、下記の記事で詳細をご確認ください。
> 【入門編】自然言語処理(NLP)とは | 意味・仕組み・活用例・課題
> https://ledge.ai/nlp/

## 今回の構文解析の目的設定
今回の分析の目的として、下記の2者を設定します。
* **関心のあるエンティティが、文章中でどのような言及をされているか**
* **関心のあるエンティティが、どのような点を評価されているか**
両者に対し、エンティティ解析結果と紐付けを行います。
その結果、**関心のあるエンティティが、文章中でどのような言及・評価されているか、分析できるようにする**ことがゴールになります。

# プログラム実行環境
今回はPythonを利用します。Versionは3.7

元記事を表示

第3回|感情分析の方法と成果物を説明する

# はじめに
ヴェネクト株式会社のディレクター 小峰です。
今回の分析では”感情分析”を扱います。感情分析ではインプットした文章中に含まれる要素から、**ポジティブ/ネガティブ、どちらの方向性で文章が書かれているか**を判断します。
その結果は様々な分野に活用できます。例えば、オンラインでの問い合わせであれば、「これはポジティブ/ネガティブどちらの意見か」を事前に判断できるため、対応を迅速・効率的に行うことに活かせます。また、SNSのような社会の意見を広く収集できる場所から意見を収集する際は、「対象のトピックに対するポジティブ/ネガティブな意見の分布はどうか」を定量的に分析することができます。
> GCP
> https://cloud.google.com/natural-language?hl=ja

# プログラム実行環境
今回はPythonを利用します。Versionは3.7を採用します。
先に必要なPackageを書き出すと下記の通りになります。
“`
# DataFrame変数を処理に活用するため、Importします
import pandas as pd
import

元記事を表示

第2回|エンティティ分析の方法と成果物を説明する

# はじめに
ヴェネクト株式会社のディレクター 小峰です。
今回の記事では、”エンティティ分析”と”エンティティ感情分析”を扱います。インプットした文章で言及されているトピックを抽出し、その「重要度」と「感情表現の方向性」と「感情表現の強さ」を取得できます。
エンティティ分析を通して文章中のトピック(何が述べられているか、主題)を取得することで、文章で言及されている内容を取得できます。その結果を利用して弊社内では、大量のレビューに対し「レビュー文章でどのようなトピックが言及されているか」を機械的に集計しています。そのほかにも、文章のカテゴリ分け/ タグ付けに活用したり、言語入力型のインターフェイスで入力内容の識別に利用することができます。
一言でまとめると、「文章中の主題」を集計するための処理になります。
> GCP|エンティティ分析
> https://cloud.google.com/natural-language/docs/analyzing-entities?hl=ja

# プログラム実行環境
## Pythonの実行環境
今回はPythonを利用します。Versionは

元記事を表示

第1回|GCPの「Cloud Natural Language」の概要と活用方法

## はじめに
ヴェネクト株式会社の小峰です。
今回は、4回にわたりGCPの「Cloud Natural Language」を利用した自然言語解析の実施方法を説明します。
「Cloud Natural Language」を利用することで、大まかに下記のような成果を得ることが出来ます。
– __文章内に含まれているKWを抽出できる__
– その結果から、KWの出現数や組み合わせを取得することができます。取得結果を活用して、文章のカテゴリ分け・タグ付けを行う機械学習のシステムに結びつけることができます。
– __文章の係り受け構造を明らかにすることができる__
– その結果から、「文章の主題」や「その主題がどのように評価されているか」を判断することができます。その分析結果を活用して、自然言語で命令するアプリケーション(AIアシスタントなど)に結びつけることができます。
– __文章の感情(ポジティブ/ネガティブの度合い)を判断することができる__
– 文章や各KWがどのように評価されているかを点数化して判断することができます。その結果を分析することで、マーケティング

元記事を表示

OTHERカテゴリの最新記事