Python関連のことを調べてみた

Python関連のことを調べてみた
目次

【駆け出し必見】Webサービスを作る時に役に立ったサイト

# この記事は何?

この記事では私が初めてWebサービスを作成した時に
役に立ったサイトを紹介する記事です

初めて自分でWebサービスを作る方や駆け出しエンジニアの方
にこの記事が役に立てれば嬉しいです😃

### ※ また何かいいサイトを見つけたら更新予定です

# 何を作ったの?(宣伝なので良かったら読んでください)

私が初めて作ったサービスはスポーツ選手向けの
デジタルスポーツノートを開発しました

これまでのスポーツ選手たちはノートブックに文字で記録をつけて
自分のプレーを振り返っていましたが
私の作ったスポーツノートでは
動画を使用して体の動きやプレーを詳細に記録できます😀

動画による分析は文字だけの記録では捉えられない
細かな動作や技術の改善点を明確に示し
選手の技術向上に大きく貢献する事ができます!

このデジタルツールにより選手たちは自分のプレーをより深く理解し
パフォーマンスの向上を図ることが可能です!

## 実際作ったもの
https://play-archive.com/

![main_image.png](https://qiita-image-

元記事を表示

凝集性と結合度についてまとめてみた

こんにちは、リンクアンドモチベーションの木村と申します。
昨年の4月に入社し、現在プロダクトのAPI開発を担当しています。
ほぼ未経験で入社したため、学びの整理が中心となります。
今回は、設計の重要概念である「凝集性」「結合度」についてまとめました。

参考書籍は「[良いコード/悪いコードで学ぶ設計入門](https://www.amazon.co.jp/%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%8F%E6%82%AA%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E5%AD%A6%E3%81%B6%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80%E2%80%95%E4%BF%9D%E5%AE%88%E3%81%97%E3%82%84%E3%81%99%E3%81%84-%E6%88%90%E9%95%B7%E3%81%97%E7%B6%9A%E3%81%91%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%9

元記事を表示

Databricks SDK for Pythonでジョブを作成する際のクラスターの再利用

こちらの続編です。

https://qiita.com/taka_yayoi/items/79e83aa1124226504892

Pythonからマルチタスクジョブを構成できるのは便利ですが、GUIでは[クラスターを再利用](https://docs.databricks.com/ja/workflows/jobs/use-compute.html#use-shared-job-clusters)することができます。では、Databricks SDK for Pythonからできるのでしょうか?

ということで調べました。結論できました。

まず、ジョブを作成する[メソッド](https://databricks-sdk-py.readthedocs.io/en/latest/autogen/jobs.html#databricks.sdk.service.jobs.JobsAPI.create)を確認すると、パラメータに`job_clusters`があります。

> job_clusters – List[[JobCluster](https://databricks-sdk-

元記事を表示

駄目グラフ003-2

## ダイナマイトプロットはやめよう

駄目グラフ003でも書いたのだが,それは簡単すぎたので,追加する。

 ダイナマイトプロットとは,下図のようなものである。
 「見本 図の描き方(良い図の例)」などと書いてあるが,見本でもなく,よい図の例でもない。そのような認識自体が誤りなのである。

![スクリーンショット 2024-01-19 9.27.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/ed176a3a-226f-dc64-e1db-1d0525981746.png)

 この図では棒の高さは割合であることはわかるが(たぶん),ひげ(エラーバー)が何を表すか明示されていないことすらある(割合だとして,ひげが 1 を超える意味は不明だろう)。
 fig. 1 のエラーバーは棒の上側にしかないので,群を比較するときに不便であるということで,それよりはまし(?)な,fig. 2 のようなものもある。
 この図では,エラーバーは「平均値±標準偏差」である。

![output

元記事を表示

pydatasetについて ChatOpenAI に意見をもらう 第4部

– [「pydatasetについて ChatOpenAI に意見をもらう 第1部」 ](https://qiita.com/maskot1977/items/a88cf243a49932cb122d)
– [「pydatasetについて ChatOpenAI に意見をもらう 第2部」 ](https://qiita.com/maskot1977/items/7fef12f5e635963ea52f)
– [「pydatasetについて ChatOpenAI に意見をもらう 第3部」](https://qiita.com/maskot1977/items/740563ce8b646fa63f5e)

の続編です。PyDatasetには、756種類のデータがあり、全てを把握するのはとても大変です。ひとつひとつ ChatOpenAI に意見をもらいましたので、その結果の一部です。この結果を得るためのコードなどは[「pydatasetについて ChatOpenAI に意見をもらう 第1部」 ](https://qiita.com/maskot1977/items/a88cf243a49932c

元記事を表示

プレイリストを食べよう

# こんにちは!
Akira_0809です
Spotifyにある**プレイリストを食べてみよう**というミニゲームをプレイしたことがありますか?
最近ハマったので作ってみようと思います!

![RPReplay_Final1705595042-ezgif.com-video-to-gif-converter.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3241738/27afb780-7dc2-44ba-6473-be3a95937432.gif)

プレイリストが表示されてる間は音楽が流れる感じです

# 準備
– Python
– pygame
– Spotify API

ちょっとした画像もいります。

“`python
pip install pygame
pip install spotipy
“`
:::note warn
spoti**py**なので注意
:::
これでちょっと時間溶かした、、

Spotify API の取得については公式ドキュメントや他の記事を見てください。

#

元記事を表示

javaとpythonの違い

今回の記事はJavaとPythonの違いをコードを示しながら備忘録として残します。
## 問題
https://atcoder.jp/contests/abc336/tasks/abc336_a
### Python
pythonで解いた場合は以下になる
“`python
N = int(input()) # 文字列を読み込み整数に変換する
ans = ‘L’
for i in range(N):
ans += ‘o’
print(f'{ans}ng’)
“`
### Java
Javaで解いた場合は以下になる
“`java
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = input.nextInt(); // 整数を読み込む
String ans = “L”;
for

元記事を表示

Microsoft 365 Defender の情報を Python を用いて API 経由で情報収集してみよう

# 1. はじめに
Microsoft Security の運用を始めると、Microsoft 365 Defender (以下 M365D) で運用管理されている方は多いと思います。M365D のコンソールは様々な情報を収集してアラート/インシデント情報や端末情報を確認することが出来ますが、定型化した操作について自動化したいお客様が多いのではないかと思います。
この記事では、M365D の情報を [Microsoft Defender for Endpoint API](https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/api/apis-intro?view=o365-worldwide) に対して Python を用いてアクセスする方法をご紹介します。

# 2. こんな方にお勧め
– Powershell じゃなくって Python でやりたい
– M365D の運用をスクリプト化したい
– これから AzureFunction / ロジックアプリに実装する上で、API の叩き方を

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その46 相手の勝利を阻止するAI

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/ff28a95dff50322e6b16

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/046/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/046/ai.py

## これまでに作成した AI

これまでに作成した AI の アルゴリズム は以下の通りです。

| 関数名 | アルゴリズム |
|:-:|:–|
| __[`ai1`](https://qiita.com/ysgeso/items/bdbcd4c1ab1d8731df58#ai1-%E3%81%AE%E5%AE%9A%E7%BE%A9)__ | __左上から順__ に __空いているマス__

元記事を表示

多重共線性の回避策

## 多重共線性の回避策

独立変数 $x_4$ が従属変数 $y$ に与える影響を知りたい。ほかの独立変数 $x_1$ と $x_2$ の間に多重共線性があるが,これはどちらも説明変数に含めたい。$x_1$ と $x_4$,$x_2$ と $x_4$ の相関は低く VIF も小さい。

このような場合にどうしたらよいかという質問に対して,シミュレーションに基づく解答を提示する。
以下では R の場合におけるプログラム例であるが,他の言語,パッケージでも追試可能である。

変数間の相関係数行列は以下のような表のようになっていると仮定しよう。

“`R
r <- matrix(c( 1, 0, 0, 0, 0, 0.8, 1, 0, 0, 0, 0.3, 0.3, 1, 0, 0, 0.2, 0.2, 0.3, 1, 0, 0.3, 0.25, 0.3, 0.4, 1), byrow=TRUE, ncol=5) r <- r+t(r) diag(r) <- 1 names <- c(paste("$x_", 1:4, "$", sep=""), "$y$") colname

元記事を表示

多重共線性って,そんなに単純なものじゃない

# 多重共線性って,そんなに単純なものじゃない

## 「独立変数間の相関係数に 0.8 を超えるものがあると多重共線性が生じる」というのは誤り

### 例1

相関係数の高いものばかりが含まれるデータで,重回帰分析を行う。

この記事では R による分析例を示すが,生データも書いておくので,各自常用の言語,パッケージで解析することもできよう。
サンプルサイズは,各自大きくしたり小さくしたり,自由に。

使用するデータは以下の通り。

“`R
# install.packages(“MASS”)
“`

“`R
library(MASS)
set.seed(123)
n <- 20 r <- matrix(runif(16, 0.8, 0.9), 4, 4) r <- (r+t(r))/2 diag(r) <- 1 d3 <- data.frame(matrix(mvrnorm(n, mu=rep(0, 4), Sigma=r, empirical=TRUE), n)) colnames(d3) <- c("y", "x1", "x2", "x3") d3 ```

元記事を表示

ワインのデータを用いて各種ベイジアンネットワークの推論を比較した

## はじめに

ベイジアンネットワークは、データの因果関係を分析する手法の一つで、ある事象の発生が他の事象に及ぼす影響を条件付き確率として評価し、グラフィカルに表現します。変数の依存関係やネットワークの骨格を推論する手法はいくつかありますが、手法の選択に迷うことがあります。

そこで今回は、[pgmpy](https://pgmpy.org/index.html)で実装されている複数の手法について比較してみようと思います。

## データの準備
今回は[Wineデータセット](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_wine.html)を用いて評価を行います。

“`python
import pandas as pd

from sklearn.datasets import load_wine
from sklearn.preprocessing import StandardScaler

# Load dataset
wine = load_wine()
df = pd.

元記事を表示

スマホゲーム上海のログインボーナスの結果を画像認識し、同様に確からしいか、独立性の検定をしてみる。

# 目的
[上海というスマホゲーム](https://apps.apple.com/jp/app/%E4%B8%8A%E6%B5%B7-%E3%83%91%E3%82%BA%E3%83%AB%E3%82%B2%E3%83%BC%E3%83%A0/id382379749)にはログインボーナスがあり、8個並んだ配列から1個選ぶと、ダイヤかハートがもらえる。(細かくは記載しないが)ダイヤのほうが価値があるので、ダイヤを当てたい。

![IMG_3883_resize.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570565/3705e9ca-f0b2-638b-61b0-2d665e93b274.png) ⇒TouchToStart⇒ ![IMG_3884_resize.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570565/65184737-fc3d-8847-a109-88798ed0c87d.png) ⇒S

元記事を表示

相関が強い説明変数の削除による回帰係数への影響

多重共線性に対処するために,相関が強い説明変数はモデルから省く,という処理をたびたび目にしますが,この処理は推定量や信頼区間の被覆確率に影響を与えます.
実験を通して説明します.

# 実験
## 実験1
### 実験1の設定
以下のようなデータ生成過程に対し実験をします.$X_i$を$2$次元として,
$$
y_i = X_i\beta + \varepsilon_i, \varepsilon_i \sim \mathcal{N}(0, 1), i = 1, \ldots, N
$$
また,

“`math
\beta \sim \mathcal{N}\left(\left[\begin{array}{c}
0 \\
0
\end{array}\right], \left[\begin{array}{cc}
1.0 & 0.0 \\
0.0 & 1.0
\end{array}\right]\right), \\
X_i \sim \mathcal{N}\left(\left[\begin{array}{c}
0 \\
0
\end{a

元記事を表示

Pythonで顔のAIセグメンテーション


easyportraitというデータセットを学習したモデルを使います。

https://github.com/hukenovs/easyportrait

### インストール

リポジトリで提供されているいくつかのモデルの中で、segformerが使いやすいと思うのでダウンロードします。

“`shell
git clone https://github.com/hukenovs/easyportrait.git
cd easyportrait/pipelines/
pi

元記事を表示

TCGAデータベースでRNA-seq、DEG解析、生存予測

# RNA-Seqとは
RNA-Seq(リボ核酸シークエンシング)は、リボ核酸(RNA)の配列を高速に決定し、発現量を定量化するための強力な技術です。この技術は、生物の遺伝的情報の流れを理解するための重要なツールとして広く用いられています。
またRNA-Seqでは次世代シークエンシング(NGS)技術を利用して、細胞内の全RNA(全トランスクリプトーム)の配列を決定します。このプロセスは、特定の時間点での遺伝子の発現パターンや、異なる条件下での発現変動を詳細に解析することを可能にします。
RNA-Seqデータ解析のプロセスは、複雑で多段階にわたる作業であり、以下のステップから構成されています。
* データの取得
シーケンスされたデータは通常FASTQフォーマットのファイルとして取得でき、アダプタ配列のトリミングや低クオリティのリードの除去などを行います。
* マッピング
シークエンシングリードを参照ゲノムまたはトランスクリプトームにマッピングします。このプロセスでは、リードの配列が参照配列のどの部分に一致するかを特定します。
* マッピング結果をもとにしたリードカウント
マッピングの結果

元記事を表示

jax.vmapの使い方

# はじめに
– jaxという並列実行をするためのpythonライブラリがあるようである
– 特に一番基本のvmapの使い方を簡単にまとめておく(ほぼ自分用)

# vmapのメリット
– 基本的にはnp.vectorizeみたいに使える。
– CPU, GPU, TPUで並列実行できるようにコンパイルされる。

# 基本的な使い方
使い方はほぼnp.vectorizeと同様。
“`python
import jax
import jax.numpy as jnp

# 並列実行したい関数
def multiply(x, y):
return x * y

# jax.vmapを使用してmultiply関数をベクトル化
# in_axesは各入力に対するバッチ次元を定義する
vectorized_multiply = jax.vmap(multiply, in_axes=(0, 0))

x = jnp.array([1, 2, 3, 4])
y = jnp.array([10, 20, 30, 40])

result = vectorized_multiply(x, y)

元記事を表示

ChatGPTとPythonで学ぶ ViT:物体検出編

おはこんばんちわ。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ ViT:物体検出編」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

おはようございます、こんばんは。私も今回もお手伝いさせていただくのを楽しみにしています。

ViT、それはVision Transformerの略ですね。ImageNetと同様の大規模な画像データセットで訓練されたTransformerベースのモデルで、主に自然言語処理で使われてきたTransformerを画像解析に適用しました。ここでViTは、画像を連続したパッチに分割し、それらをTransformerに入力するという方法を用いて、彼らが成功した理由は、ハードウェアの進歩とビッグデータの利点を最大限に活用しています。

それでは物体検出でのViTの使い方について学んでいきましょう。ただ注意してほしいのは、本格的な物体検出タスクに対する実装は非常に複雑で、多数の論文やライブラリが存在します。そこで、より深く学びたい方は、具体

元記事を表示

1/4円弧曲りはり。エネルギーで「youtube【東京理科大学】第11回 材料力学基礎授業[例5]」をsympyでやってみたい。

[例5] 1/4円弧曲りはり。エネルギーで

# youtubeの板書です。
>じゃ、最後だ。
**途中55:50から (0:00〜1:22:49)**

https://youtu.be/X5zCb8LbgsM=3350

# sympyで
・ver0.1
“`python
# ver0.1
# [例5] 1/4円弧曲りはり
from sympy import *
var(‘P,a,b,EI,θ’,real=True)
U=1/(2*EI)*integrate((-P*a*cos(θ))**2*a,(θ,0,pi/2)) #;print(‘#’,U)
δ=diff(U,P) ;print(‘#’,δ)
# pi*P*a**3/(4*EI)
“`
# (勉強中) Mathematicaで

# (勉強中) MATLAB 追加のオプションSymbolic Math Toolbox で

# いつもの?

元記事を表示

L字はり(ラーメン構造)。エネルギーで「youtube【東京理科大学】第11回 材料力学基礎授業[例4]」をsympyでやってみたい。

[例4]L字はり(ラーメン構造)

# youtubeの板書です。
**途中37:00から (0:00〜1:22:49)**

https://youtu.be/X5zCb8LbgsM=2220

# sympyで
・ver0.1
“`python
# ver0.1
# [例4] L字はり(ラーメン構造)
from sympy import *
var(‘P,l,R,a,b,x,EA,EI’,real=True)
U1=1/(2*EA)*integrate( P **2,(x,0,a))+1/(2*EI)*integrate((P*b)**2,(x,0,a)) #;print(‘#’,U1)
U2=1/(2*EI)*integrate((-P*(b-x))**2,(x,0,b)) #;print(‘#’,U2)
U1U2=U1+U2 #;pr

元記事を表示

OTHERカテゴリの最新記事