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

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

[Python] Instagramの自動フォロー解除ツールの作成(前回の続編)

はい、皆さんこんばんは。前回、インスタの自動フォローツールを作成しました。見ていない方は是非[こちら](https://qiita.com/Gretard_25565/items/fce77a2df90bc65249e5 “Instagram-follow-tool”)から見ていただけると嬉しいです。んで、その続編として、フォロー解除ツールも作っていこうと思います。
## 1-1 コード
自動フォロー解除のコードはこちらです。
“`ruby:Python
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

def get_user_input():
try:
username = input(“アンフォロ

元記事を表示

書籍で勉強する時章立てするのが面倒だから簡単に作れるようにした

## 背景
勉強するために、章ごとにまとめよう!と思い立ったはいいものの、そもそも章立てするのが面倒くさい。

Notionで勉強ノートを作ろうとした時に、テーブルビューに1.1, 1,2 1,3……と書いていくには面倒くさいし、それを打つと思うと、そもそも勉強自体に手が伸びなくなる。

経験上、章立てした方が勉強効率が上がることはわかっているので簡単に作れないかPythonでやってみた。

## 章の構成をcsvに落とし込む
『Python機械学習プログラミング』を例に、章立てをやってみる。この本は18章あり、各所で区切りがある。
例えば1章の

「データから学習する能力」をコンピュータに与える

には、5つの見出しがある。それを1.5と表現したい。ただし、章のタイトルも失いたくないので、今回のcsvはこんな構成にした。

“`plaintext
名前,章,見出し
「データから学習する能力」をコンピュータに与える,1,5
分類問題 – 単純な機械学習アルゴリズムの訓練,2,7
分類問題 – 機械学習ライブラリ scikit – learnの活用,3,6
.
.
.

“`
見出し

元記事を表示

ローカルLLMをWindowsで動かしてみた話

# ローカルLLMをWindowsで動かしてみた話

## はじめに
最近「ローカルLLM」という言葉に惹かれ、調べてみたところ、なんとChatGPTのような言語モデルをローカルPC上で構築できるということを知りました。@ksonodaさんの投稿記事を参考にさせて頂きました。ありがとうございます。

https://qiita.com/ksonoda/items/febf91746bfc6494fea6

これまで、過去の投稿記事でRAG(Retrieval Augmented Generation)をローカルPC上で動かすことに成功していたので(下記の過去の投稿記事)、もしかしたら生成AIに関するすべての処理を自前で完結させることができるかもしれない、という期待が膨らんできました。

https

元記事を表示

FastAPIとPlotly.jsを使用した株価分析Webアプリケーションの構築

## 目次
1. [はじめに](#はじめに)
2. [要件定義](#要件定義)
3. [ユーザーストーリー](#ユーザーストーリー)
4. [技術スタック](#技術スタック)
5. [実装](#実装)
5.1 [バックエンド (main.py)](#バックエンド-mainpy)
5.2 [フロントエンド (index.html)](#フロントエンド-indexhtml)
6. [セットアップと実行方法](#セットアップと実行方法)
7. [将来の拡張可能性](#将来の拡張可能性)
8. [まとめ](#まとめ)

## はじめに

この記事では、FastAPIとPlotly.jsを使用して、株価データを取得・表示するWebアプリケーションの構築方法を詳しく解説します。このアプリケーションでは、ユーザーが選択した企業の株価チャートを表示し、期間の調整や移動平均線の表示が可能です。また、カスタム銘柄コードの入力にも対応しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2

元記事を表示

宝くじの番号をOCRで一括確認

これは、CANVAの生成AIに描いていただいたものです。
なかなかよいですね。

# はじめに

前回の投稿では、OCRとOpenAIを比較して、認識精度の比較をしてみました。
その結果は、下記投稿記事でご確認いただければと思っております。

https://qiita.com/ogi_kimura/items/f6b8e3426349767e8f7b

 今回は、宝くじ券の番号をOCRで認識させるプログラムを紹介します。私事で恐縮なのですが、先日「宝くじ記念くじ」を150枚買ったのですが、券を1つ1つ確認すると歳のせいか手がカサカサになり、紙で指が切れて血が出てしまいました。
 OCRを使って当選した券を瞬時に見分けられないか、ということで、宝くじ券番号を一括で大量に読み込んで、当選した宝くじ券

元記事を表示

定積分の極限とモンテカルロ法による推定

# はじめに
ある積分の極限を求める場合、高校数学では一般的に目的となる式を上下で挟み、はさみうちの原理を用いて極限を求めることが一般的である。数学的な厳密性を欠いていえば、目的となる式を単純な関数で近似してそれの近似値を求める。今回は、目的となる式つまり定積分をモンテカルロ法によって数値解析して、それの極限を求めることで、はさみうちの原理によって求めた極限値と数値解析の値を比較する。

![積分値とnの関係_極限の推定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/09971d22-8676-6fb7-a08a-6febd4318788.png)

# 問題
以下の式で表される、$I_n$を定義する。

“`math
I_n=\int^{\sqrt{3}}_0 \frac{1}{1+x^n}dx
“`

このもとで、以下の値を求める。

“` math
\lim_{n\to \infty} I_n
“`

# 数学的解法

$f(x)=\frac{1}{1+x^n}$とすると、

元記事を表示

CV2を使って写真画像にタイムスタンプを入れてみる

## はじめに
RaspberryPiカメラを使用して、定期的に写真を撮影しています。その写真にタイムスタンプを入れたいと思った。
## 環境
ハードウェア : RaspberryPi ZERO 2
OS : Raspbian OS (Debian GNU/Linux 12 (bookworm))
Python : Python 3.11.2
CV2 : opencv-python==4.9.0.80
## コード
“`Python
import cv2
import datetime

img = cv2.imread(‘タイムスタンプを入れたい画像ファイルのパス’)

now = datetime.datetime.now()
timestamp = now.strftime(‘%Y/%m/%d %H:%M:%S’)

# タイムスタンプの位置は第3引数で調整(30, 30)は画像の左上に表示されます
# タイムスタンプの色は第6引数で調整(0, 128, 255)はオレンジ色です。RGB形式ではなくBGR形式である点に注意
cv2.putText(img, timestamp,

元記事を表示

Pythonで外観(UI)と実装を分けるには

Pythonはとても簡潔に書けるプログラミング言語だが、UIと実装を分けて、クラス毎にファイルを分割しないと**コードが一つのファイルに数万行もある**なんてことになりかねず(自分も初学者のころはそんな感じだった)、PythonでUIと実装を分けるコードをAIに書かせてみた。

MVC(Model-View-Controller)であり、以下の3つのファイルからなる。

1.model.py(データ処理・ビジネスロジック)
2.controller.py (UIとModelをつなぐコントローラ)
3. view.py(UI部分)

※AIに書かせました

# 1. model.py(データ処理・ビジネスロジック)
“`python
# model.py
class CalculatorModel:
def add(self, a, b):
return a + b

def subtract(self, a, b):
return a – b

def multiply(self, a, b):
ret

元記事を表示

LinuxでPythonの仮想環境(venv)を作る方法

# 仮想環境(venv)とは
venvはPythonの仮想環境を作成する仕組みで、Pythonをインストールすると標準で利用できます。

用途としては、プロジェクト別にインストールしたいパッケージを分けるときです。使っていきましょう。

# Linuxでvenvを作成してvenv使用する
“`bash:terminal
$ python3.9 -m venv (venvディレクトリ名) # 仮想環境を作成する
“`
このコマンドでvenvの環境が(venvディレクトリ名)に作成されます。

“`bash:terminal
$ source (venvディレクトリ名)/bin/activate # 仮想環境に入る(有効化)する
“`
とsouceするとターミナルの先頭に括弧書きで使用している仮想環境の名前が表示されます。

“`bash:terminal
$ which python # pythonのpathを表示
(venvディレクトリのPATH)/bin/python
“`
と表示されていればOKです。

仮想環境を抜ける(無効化)するにはdeactivateコマン

元記事を表示

SIGNATE 超解像度コンペ 6位解法【Axell AI Contest 2024】

株式会社アクセルが主催する超解像度化コンペに参加し、最終6位(金メダル)を獲得しました。コンペの参加者は266人でした。

![GWbnRgBXEAAk7gH.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3557909/ae49211b-4d5c-c937-8cf9-93ab8ec17d31.jpeg)

## コンペ概要
今回参加したのはSIGNATEにて行われた「[Axell AI Contest 2024](https://signate.jp/competitions/1374)」というコンペです。
特設サイト:

https://ailia.ai/contest/

本コンペは、配布された自然画像データセット(851枚のトレーニングデータ + 100枚のテストデータ)に対して、4倍超解像モデルの精度を競うものでした。開発したモデルは、ONNX形式に変換して提出する必要があります。加えて、リアルタイムでの実用化を目指す背景から、推論時間に以下の制限がありました。
> SIGNATEのプラッ

元記事を表示

媒介中心性を用いて都市の道路網で車・人通りの多いポテンシャルを持つエリアを簡単に可視化する

## はじめに
グラフ理論における[媒介中心性](https://en.wikipedia.org/wiki/Betweenness_centrality)を、実際の都市の道路網に適用してみます。これによって、車・人通りの多いポテンシャルを持つエリアを簡単に可視化することができます。

![四万十市媒介中心性.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3753744/f70eb8f9-ae46-48e9-8eee-64290c7b7bb0.png)

上図は、高知県四万十市。

## 媒介中心性とは
ノード$i$の媒介中心性とは、**すべてのノードのペア$(s,t)$の最短経路のうち、ノード$i$を通る経路の数**と定義されいます。

*最短経路が$k$本ある場合は、経路上のノードに対してそれぞれ$1/k$の中心性を付与するなどもあります。

媒介中心性は、ネットワーク上で「そのノードを通るフローがどれほどあるか」を示しており、そのノードの重要性・中心性を表す指標の一つになっていると言えます。

元記事を表示

wslでmanim その20

# 概要
wslでmanimやってみた。
練習問題やってみた。

# 練習問題
真理値表を表示せよ。

# 成果物

![CreateTableExample_ManimCE_v0.18.1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/2c2330f8-ce9f-7b77-9e00-e3962461a296.gif)

# サンプルコード

“`

from manim import *

class CreateTableExample(Scene):
def construct(self):
table = Table([[“0”, “0”, “0”], [“0”, “1”, “1”], [“1”, “0”, “1”], [“1”, “1”, “0”]], col_labels = [Text(“A”), Text(“B”), Text(“XOR”)], include_outer_lines = True)
self.play(table.create())
s

元記事を表示

ろうとるがPythonを扱う、、(その26:tkinter+matplotlibでRealtimeグラフ表示(その1))

# pingのRealtime表示(目的達せず)
tkinterで作成されるWindowに、pingの結果を、グラフ付きでリアルタイムに表示する。ただし、目的を達成できず、不具合もあり。コードも美しない。

## 参考URL
– [How do I create a real-time plot with matplotlib and Tkinter?](https://www.quora.com/How-do-I-create-a-real-time-plot-with-matplotlib-and-Tkinter)
– 過去の小生のpython with tkinter投稿

## 結果から記述
下記のように、数値で結果を表示するWindowとグラフ表示を行うWindowを設けるもの。
![OKグラフ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/6c4b4ddb-c67f-2975-ba6e-beabef83c92a.png)
再度「Start」をクリックしたら、グラフWindow

元記事を表示

音が降ってくる動画から楽譜作成

## モチベーション
youtubeにあるsynthesiaで生成されたピアノ動画と同じものを弾きたい、となったときに楽譜が公開されていない(購入もできない)、ということは多々ある。自分は楽譜が無いと弾けないので、どうにか**動画から楽譜を作成できないか**と思い試したところ、案外うまくいったので記録を残しておこうと思う。

ちなみにgithubは[こちら](https://github.com/NeoKana/Synthesia2score)。サイトとして公開してみたくて、htmlなど勉強してサイトを作ってみたは良いものの、結局サーバー費用などの関係で公開は泣く泣く断念…。

## 最終目標はmidiファイル生成
まず、楽譜を生成するには音の情報ファイルを用意してmusescoreなどのソフトに読み込ませればよい。音の情報ファイルとしては、midiファイルとmusicxmlファイルを検討してみたが、結局midiファイルを選んだ。

musicxmlは音符の情報を細かく設定できるが、その分四分音符か八分音符かなど自分で特定する必要がある。一方、midiでは音のピッチと開始時間、終

元記事を表示

OCRとOpenAIを比較してみた

# はじめに
 情報システム部にいると、「OCRを試してみたい」とか「紙の帳票はやめないが、効率化を図りたい」などといろいろな引き合いが舞い込んできます。そのためOCRを小さなプロジェクトやPoCで試すことも多いのですが、文字認識の精度のせいなのか、ほとんどは立ち消えになってしまっています。
 一方で、最近リリースされた`gpt-4o`は画像認識が可能であり、OCRよりも精度が高いのではないか?と思い始めました。
今回は、OCRと`gpt-4o`(お金がないので正確には`gpt-4o-mini`)の読み取り精度を確認したいと思います。

# GPT-4o
今回紹介するプログラムは、指定した画像を生成AIに渡して、その結果を出力するというプログラムです。
`base64`は標準ライブラリなので

元記事を表示

[備忘録] SIGNATE Cup 2024

# はじめに
SIGNATEのコンペティションに参加。
– プロフィール ▶︎ https://qiita.com/yta-m
– 参加コンペ ▶︎ [SIGNATE Cup 2024]( https://signate.jp/competitions/1376 )
– 順位 ▶︎ 87/1226位 (銅メダル獲得)
– 作成したコード ▶︎ Githubの[リポジトリ]( https://github.com/aattyy-102030/Signate/tree/main/SignateCup_2024 )に保存

# コンペティション概要
旅行会社の保有する顧客データ(属性や志向、営業担当との接触履歴等)を元に、旅行パッケージの成約率を予測するモデルを構築するコンペティション。

詳細は公式HPを参照。

# 流れ
期間は約1ヶ月だったため、1週間ごとに計画を立てた。
– 1週目 ▶︎ 前処理、EDA
– 2週目 ▶︎ 特徴量の作成
– 3週目 ▶︎ 機械学習モデルの選定
– 4週目 ▶︎ ハイパーパラメータチューニング

# 1. 前処理
ここでは表形式で、前処理の概要のみ記載す

元記事を表示

paizaラーニング問題集「2項間漸化式2」を解いてみた

▼感想:

前の問題である 2項間漸化式1 を踏まえて
コードを書くことができました。

▼コード:

“`py
########## 処理0(準備) インプット,リスト定義など ###########

x,d = map(int,input().split())

Q = int(input())

########## 処理1 漸化式の定義、計算 ##########

a = [x]*(1000+1)

for i in range(2,1000+1):
a[i] = a[i-1] + d

########## 処理2 入力kに応じた値を出力 ##########

for _ in range(Q):

k = int(input())
print(a[k])
“`

元記事を表示

シン・WinMergeでフォルダ差分を出してExcelにまとめるまでをPythonで自動化

# 背景

これまで2回にわたり、Pythonを使ってWinMergeの比較結果を一発でExcelにまとめる、という記事を書いてきました。

スクリプトの説明と使い方は以下。

https://qiita.com/y-tetsu/items/5eb076ec9787fad70958

その改良版は以下。

https://qiita.com/y-tetsu/items/8b1ec2f3fa1f085127da

普段、まだまだWinMergeのお世話になっています。

あれからまたしばらく経ちましたので、進捗をメモしておこうと思います。

# やったこと
前回からの変更点と、できたスクリプトを先にご紹介します。

## 変更点
– スクリプト実行時のメッセージ表示を強化
– ブックが閉じられずメモリリークする問題を修正
– 差分シートの追加列にオートフィルタを適用する
– 設定のJSONファイル化

## スクリプト
今回作ったPythonスクリプトです。ほぼ400行!

折りたたんでおきますので、必要な方は展開してからコピペして下さい。

★ク

元記事を表示

paizaラーニング問題集「2項間漸化式1」を解いてみた

▼感想:

リストaのインデックスは0から開始にしましたが、
1から開始にするのが正解ですね。
次の問題から意識したいと思います。

▼コード:

“`py
########## 処理0(準備) インプット,リスト定義など ###########

x,d,k = map(int,input().split())

########## 処理1 漸化式の定義、計算 ##########

a = [0]*k

a[0] = x

for i in range(1,k):
a[i] = a[i-1] + d

print(a[k-1])
“`

元記事を表示

知財のあれこれをPythonで何とかする

### クレームツリーを何とかする(その2)
前回の投稿([クレームツリーを何とかする(その1)](https://qiita.com/nop_z80/items/7fc4405ff4b35747912d))で紹介したプログラムでは請求項が記載されたファイル(meisai.txt)における請求項の記載が「請求項nまたはm」や「請求項nないしm」といった記載ではうまく動作しないので、meisai.txtを書き換えるプログラムを作成してみました。
クレームツリーを何とかする(その1)のプログラムを実行する直前に以下のprogram1を実行ください。

“`python:Program1.py
import re
import shutil
import unicodedata

#part1 前処理
shutil.copy(“meisai.txt”,”meisai_bk.txt”)

meisai = []
ms_base = []
f = open(‘meisai.txt’, ‘r’)#ANSIで保存すること
ms_base = f.read()
f.close()
ms_base=u

元記事を表示

OTHERカテゴリの最新記事