- 1. SqlAlchemyテーブル定義を書く時に配列(ARRAY)を格納するカラムがある場合の書き方
- 2. TensorFlow.jsを使用して骨格推定。骨格のライン推定 with TensorFlow.js
- 3. Databricks Auto Loader にて CSV ファイルの 1 行目をスキップする方法
- 4. 【Atcoder解法検討】ABC127 A~D Python
- 5. おんどとり WebStorage APIのデータ活用 (3)
- 6. 【Lambda】ReportLabで任意のフォントを使用してS3に格納する
- 7. Databricks にて MERGE 文を実行する場合にはカラムのロジックをデータフレームで保持させてから書き込むことがおすすめ
- 8. Pyinstallerでexe化したjanomeを使うTkinterアプリを実行した時のエラーと解決法
- 9. paizaラーニング問題集「ドーナツ」を解いてみた
- 10. TensorFlow.jsを使用してフェイストラッキング。Face Tracking with TensorFlow.js
- 11. まるで使徒。トーラスをランダムノイズで変形させるアニメーション。
- 12. 4次元サイン関数のテクスチャを張り付けた 球体ジオメトリ。
- 13. 加速器 陽子の衝突ゲーム。ボールの衝突後にパーティクルを生成。
- 14. Azure OpenAIのAssistants APIでFile searchを実装
- 15. なぜ単回帰分析ではKLダイバージェンスではなく最小2乗誤差を最小化するのか?
- 16. 『モデルベース深層学習と深層展開』読み会レポート#8
- 17. PythonでauditdのログをJSON化する
- 18. 【Atcoder解法検討】ABC126 A~E Python
- 19. 安価なWeb開発勉強環境の構築①
- 20. 34歳未経験で超めんどくさがりな人間が株価分析に挑戦してみた結果
SqlAlchemyテーブル定義を書く時に配列(ARRAY)を格納するカラムがある場合の書き方
## 配列を格納するカラムのテーブル定義を書く方法の例
忘れない様にメモ
「test_tags」のカラムが配列を格納する書き方になっています。
“`
from sqlalchemy import ARRAY, TIMESTAMP, Boolean, Column, Integer, String, text
from sqlalchemy.sql import func
from ..settings.db import Baseclass TestTableModel(Base):
“””テスト用テーブルのモデルクラス”””__tablename__ = “test_table”
id = Column(Integer, nullable=False, primary_key=True)
test_name = Column(String(256), nullable=False)
test_tags = Column(ARRAY(String(256)), nullable=False)
test_judge = C
TensorFlow.jsを使用して骨格推定。骨格のライン推定 with TensorFlow.js
![スクリーンショット 2024-09-10 145927.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/8c994ef0-1e3d-3907-4f45-254b31f2ddf9.png)
![ダウンロード (20).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/622cbbc7-d8b6-ff01-bba0-507a6e7934e2.png)
![ダウンロード (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/56bd7b0d-170b-533d-7603-ff14c9592903.png)
### TensorFlow.jsを使用して骨格推定。骨格のライン推定 with TensorFlow.js
“`html
Databricks Auto Loader にて CSV ファイルの 1 行目をスキップする方法
## 概要
Databricks Auto Loader にて CSV ファイルの 1 行目をスキップする方法を共有します。`!data`のような謎の文字が 1 行目にあり、2 行目から実際の CSV 形式のデータがはじまるファイルをインタフェースしたことがありました。本記事では、そういったファイルを Databricks Auto Loader にて取り込む方法を紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/468a55bd-8546-707c-00a7-12f4667bbf77.png)
Databricks Auto Loader の CSV オプションにおける`skipRows`を指定することで、`!data`の行をスキップできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/34668ebd-d94d-287b-4f52-143c
【Atcoder解法検討】ABC127 A~D Python
## A – Ferris Wheel
#### 問題ページ : [A – Ferris Wheel](https://atcoder.jp/contests/abc127/tasks/abc127_a)
### 考察
標準入出力とIF分による条件分岐ができればOK。
### コード
“`python
A, B = map(int, input().split())if A <= 5: print(0) elif 6 <= A <= 12: print(B // 2) elif A >= 13:
print(B)
“`
## B- Algae
#### 問題ページ : [B – Algae](https://atcoder.jp/contests/abc127/tasks/abc127_b)
### 考察
漸化式 $x_{i+1} = rx_i – D$ 及び $x_{2000}$ が与えられているので、
“`math
\begin{align*}
x_{2001} &= rx_{2000} – D \\
x_{2002} &= rx_{2001} –
おんどとり WebStorage APIのデータ活用 (3)
## 1. はじめに
**おんどとり WebStorage API**を利用してデータを取得する方法の第3弾です。
前回(下記リンク)のAPI取得の応用バージョンを記載します。https://qiita.com/ryu88/items/f427dd3c2d14c3388f03
前回は、子機にRTR503Bの機器のみ想定していましたが、新たに2つの機種を追加して動作確認を実施しました。
(多分これら以外でも動作可能だと思います。)
・RTR503B(温度・湿度)
・TR501B(温度のみ)
・RTR-576(温度・湿度・CO2)ちなみに、今回活用するのは温度・湿度の値のみで、CO2の値などは無視します。
## 2. レスポンスデータ(json)の確認
機種毎に応答データが若干異なるので以下記載– RTR503B
ch1に温度、ch2に湿度が格納されています。
“`json
“channel”:[
{
“name”:”ch1″,
“num”:1,
“unit”:”C”
},{
“name
【Lambda】ReportLabで任意のフォントを使用してS3に格納する
## はじめに
PythonでPDFを生成するライブラリ[ReportLab]で、
標準選択できるフォント以外のフォントを使う際に一筋縄では出来なかったので、
解決方法を残します。Lambdaのデプロイは[AWS SAM][aws-sam]を使っています。他の方法でもやり方は同じです。
LambdaやLambda Layerのデプロイ方法については本記事では解説しませんので、他の記事を参照ください。## 解決コード
任意のフォントを登録→最終的にS3にプットするまでのコードです。
コードだけ知りたい、という方はこちらを参考にしてください。“`python
import iofrom reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.lib.units import mm
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen import canvasim
Databricks にて MERGE 文を実行する場合にはカラムのロジックをデータフレームで保持させてから書き込むことがおすすめ
## 概要
Databricks にて MERGE 文を実行する場合には、書き込むデータセットをもつデータフレームで処理を完結させてから書き込むことで、Merge 文がシンプルとなります。Merge 文内でロジックを持たせてしまうとレビューやテストが困難となり、処理の共通化の実施が困難となります。
下記のような Merge 文のプログラムに遭遇しました。Merge 文内で`trigger_ts`列が`current_timestamp`関数でセットされています。コードが長くなることや処理の共通化が実施されてないことコードレビューが困難になることや事前にテーブルを作成して Merge 文を実行しないとロジックの妥当性を確認できないなどのテストができないことなどの課題があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/a6e7ff61-789d-75e2-4d08-d51e4733b37c.png)
事前にロジックを含むデータフレームを定義して、そのデータフレーム
Pyinstallerでexe化したjanomeを使うTkinterアプリを実行した時のエラーと解決法
# pyinstallerでexe化したjanomeを使うtkinterアプリ
自作したpythonプログラムを配布したいとき次のライブラリを使うとGUIアプリをexe化して共有できます。
・[Tkinter](https://docs.python.org/ja/3/library/tkinter.html)でGUIを作成
・[Pyinstaller](https://pyinstaller.org/en/stable/)でexe化またpythonプログラムに日本語の言語処理が含まれているとき、[janome](https://mocobeta.github.io/janome/)を使って形態素解析を行うことができます。形態素解析とは文章を意味を持つ最小単位(形態素)に分割し解析する処理のことを言います。
Pyinstallerでexe化したjanomeを使ったGUIアプリを実行しようとした時のエラーと解決法です。
# 実行環境
OS: Windows 10 Pro
Procdssor: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
paizaラーニング問題集「ドーナツ」を解いてみた
▼感想:
生地に含まれるチョコの数の累積和から、
生地の穴に含まれるチョコの数の累積和を減算しました。
累積和の計算方法のやりかたを踏まえて、本問を解くことができました。▼コード:
########## 処理0(準備) インプット,リスト定義など ###########
H,W,N = map(int,input().split())
# sumC: チョコの数の累積和格納用リスト
C = [[0 for j in range(W)] for i in range(H)]
sumC = C########## 処理1 チョコの数の累積和格納 ##########
for i in range(H):
C[i] = list(map(int,input().split()))
sumC[i][0] = C[i][0]
for j in range(1,W):
sumC[i][j] = sumC[i][j-1] + C[i][j]#
TensorFlow.jsを使用してフェイストラッキング。Face Tracking with TensorFlow.js
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/6a84e237-1339-78e5-a77f-e24d3e0ca9b8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/1a6cc781-b0aa-2b39-80bb-f64891bb6d64.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/a8151495-bf47-1436-65b8-3aae487a75fc.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/81e889df-0b1e-62de-31a4-86e2086cbf4e.png)
まるで使徒。トーラスをランダムノイズで変形させるアニメーション。
![スクリーンショット 2024-09-10 050433.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/8c2af5a2-1771-bc04-ce7d-ad9039faf1b3.png)
![スクリーンショット 2024-09-10 050259.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/48df2524-a84d-cbb7-5d8d-36def2487c48.png)
![スクリーンショット 2024-09-10 050314.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/7c1fd6f4-ef43-3a46-d394-7d4169d57ec1.png)
![スクリーンショット 2024-09-10 050406.png](https://qiita-image-stor
4次元サイン関数のテクスチャを張り付けた 球体ジオメトリ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/eec5a799-3deb-12dd-fc77-cf6566bb5aec.png)
![スクリーンショット 2024-09-10 045500.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/30e18357-a07f-e0d0-71b6-e241ef901f0b.png)
![スクリーンショット 2024-09-10 045514.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/d9aaa9c5-4377-730c-ccf3-ad535f7266c2.png)
![スクリーンショット 2024-09-10 045529.png](https://qiita-image-store.s3.ap-northeast-1.
加速器 陽子の衝突ゲーム。ボールの衝突後にパーティクルを生成。
![スクリーンショット 2024-09-10 044507.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/3fa61784-e305-ef08-6493-aa90498b5875.png)
![スクリーンショット 2024-09-10 044450.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/79c49448-63e7-44a7-76c3-99066321795f.png)
スペースキー押下でランダム再描画です。
“`html
3D Ball Collision Simulation<
Azure OpenAIのAssistants APIでFile searchを実装
## はじめに
前回の記事([Azure OpenAIのAssistants APIを解説&実装](https://qiita.com/MMatsumotoMM/items/601a722a856e2569a9b7))で、Azure OpenAIの[Assistants API](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/concepts/assistants)の概要を紹介し、Code Interpreterを活用したAIアシスタント実装を行いました。
今回は、Code Interpreterに加えて、[File search](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/file-search?tabs=python#upload-files-for-file-search)も活用し、企業の生成AI戦略立案担当者をサポートするAIエージェントを実装します。またその中で、AI検索の基礎に関しても補足していきます。
今回も、[
なぜ単回帰分析ではKLダイバージェンスではなく最小2乗誤差を最小化するのか?
# 記事のまとめ
・確率分布を正規分布と仮定した単回帰分析において、KLダイバージェンスの最小化と最小二乗法は同値である。
・この2つの方法は尤度関数を最大化している。# はじめに
統計学や機械学習、深層学習を勉強していると、ふととある疑問が頭の中に浮かんだ。> 深層学習や機械学習では損失関数を設定したりするが、統計学ではそういったものを見ない。統計学ではいつも尤度関数を最大化している。シンプルな例で言えば、単回帰分析の時には最小2乗誤差を最小化した直線を引いているが、これをなぜKLダイバージェンスでやらないのか?やっていはいけないのか?
疑問について考えているうちに。頭の中がごちゃごちゃしてきた。以下の記事ではこれらの疑問に対して整理して答えを出したものになる。
# 最小2乗法=2乗誤差の最小化
まず、最小2乗法について整理する。
![スクリーンショット 2024-09-08 12.10.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2707093/ba8
『モデルベース深層学習と深層展開』読み会レポート#8
$\def\bm{\boldsymbol}$
# 概要
– オンラインで開催している[『モデルベース深層学習と深層展開』読み会](https://majime-ni-study.connpass.com/event/)で得られた知見や気づきをメモしていく
– ついでに、中身の理解がてらJuliaサンプルコードをPythonに書き直したコードを晒していく
– 自動微分ライブラリにはJAXを使用する# 第8回
## 大まかな内容
– 有限データサイズで学習するときの話
– 無線通信の信号処理分野における深層学習
## 議論になったこと
### 4.4.1節 あたり
– データセットのサイズと汎化誤差の関係の検討って具体的に何?
– データ減らしていったときに、汎化性能がガクッと落ちるラインがどの辺からかとか?
– でも、結局少数のデータしかないときと、いっぱいある時って極端な事も多いよねー
– サンプルコード眺めながら
– 学習率が個別にチューニングされてるけど、エポックは固定だからなんか不公平感…
### 5.1.2節 あたり
– 無線通信に
PythonでauditdのログをJSON化する
## はじめに
auditdで出力されるログの形式が分かりづらくログ構造も中途半端なため、どうにか扱いやすいようにする方法がないかと調べていたのですが、なかなか情報が見つからなかったので、備忘として記事にします。結果として、auditd関連コマンドの機能としてはJSONでの出力・変換の提供されていないようだが、Pythonでauditdのログを読み込むためのモジュール(auparse)はあるようなので、これとjsonモジュールを使用して、JSONに書き出すことができました。
## 環境
– Alma Linux 8.10
– Python 3.6
– auditd 3.1.2## 準備
auparseモジュールはrpmで提供されているモジュール(python3-audit)に含まれているので、rpmコマンド等から導入されていることを確認する。“`shell-session
# rpm -qa | grep audit
python3-audit-3.1.2-1.el8.x86_64
“`Alma Linux 8ではデフォルトで導入されていたが、入っていない場合は下
【Atcoder解法検討】ABC126 A~E Python
## A – Changing a Character
#### 問題ページ : [A – Change a Character](https://atcoder.jp/contests/abc126/tasks/abc126_a)
### 考察
入力値を受け取り加工して出力、という典型。
文字列の指定位置を変更するため入力文字列をリストで受け取るのが楽。このときリストのインデックスは0~N-1になることに注意。つまりK文字目に相当するインデックスはK-1。
アルファベット大文字の小文字への変化はlowercase()を使用する、
### コード
“`python
N, K = map(int, input().split())
S = list(input())S[K-1] = S[K-1].lower()
print(“”.join(S))
“`
## B – YYMM or MMYY
#### 問題ページ : [B – YYMM or MMYY](https://atcoder.jp/contests/abc126/tasks/abc126_b)
### 考察
入力値を受
安価なWeb開発勉強環境の構築①
# Raspberry PI に Web開発の勉強用環境を構築
**最安値の勉強環境**
GCP では、クラウドサーバが1つ無料で使えるので、そちらを利用するのが、
最安値の勉強環境かと…? でも、クレジットカード登録や、クラウドの勉強が…
(何を始めるにしても、勉強は必要ですが…)
そんな方には、Raspberry PI を1万円程度で購入して勉強する事をお勧めします。**事前準備と必要なスキル**
Raspberry PI:3 か 4 の購入をお勧めします (私は4を使ってます)
・電源のUSBがBやCなので確認して準備しましょう
・SDカードは32Gbyteが良さそうです (8GでもOKです)
OS:Linux(debian-bookworm)のsshからのコマンド操作
・OS は、Raspbian なので微妙に違いますが、誤差(?)ですよね…**SD FORMAT**
使用済みSDカードを利用する場合、FATでフォーマットする必要があります
WindowsでフォーマットするのはNGです (稀にRaspb
34歳未経験で超めんどくさがりな人間が株価分析に挑戦してみた結果
# はじめに
⚫︎自己紹介
はじめまして。マオと申します。34歳です。この歳になって、データ分析を学びたいと思うようになりました。そのきっかけは、二人の兄弟の存在が大きいです。
弟は大学卒業後、IT業界で数年間働いており、兄は僕自身より少し先にエンジニアスクールにて、データ分析コースを受講しています。
二人がITの分野で活躍している姿を見て、僕も徐々にITに興味を持つようになりました。
昔から兄弟三人で起業するという夢があり、このタイミングしかないと思い立ち、僕もITの勉強を始めることにしました。
ITにはさまざまな分野がありますが、僕は色々な人とコミュニケーションを取りながら進められるデータ分析に惹かれ、「データ分析コース」をエンジニアスクールにて6ヶ月間受講しました。
学んだことを記録し、可視化することで、学びを深めたいと思い、このブログを始めました。⚫︎本記事の概要
このブログ記事では、株価データを用いて簡単な「回帰分析」を実施する方法を解説します。楽天の株価データを使用して、特定の日の終値を予測するための分析を行います。手に入れやすい株価データを用いて、「回帰分析