- 1. matplotlibについてのメモ
- 2. SPSS Modelerで最適なクラスター数(のヒント)を探してみる その3
- 3. 米国経済政策の不確実性データを取得する
- 4. Amazon Bedrock の ApplyGuardrail API を使用し、モデルの回答に対してハルシネーションを含むか評価する
- 5. Maya CommandOutputをViewに表示
- 6. 🔰【2024年最新版】Python🐍PyTorch初心者ガイド
- 7. AtCoderの水色(以上)がどれだけのレベルなのかを可能な限り客観的に全力で可視化してみた(国別人数や解答速度や所属大学)
- 8. GPT-4o-miniでGoogleColaboratoryのノートブックを生成する
- 9. GitHub Actionsでpythonファイルの型チェック、文法エラーチェック、フォーマットチェックをする
- 10. AIが9つのステップで導く!目標達成をシンプルにサポートするWebアプリを作ってみた
- 11. Alembicのマイグレーションファイル作成時に希望するテーブルの順番でupgrade文を出力する
- 12. 並列同時計算。GPU実行の勾配降下法。多くの解の候補が同時に探索され、最適解に近づく可能性が格段に高まる。
- 13. シェルスクリプト(.sh)でpythonを実行するとimportエラーが出る
- 14. 【Python】住所データを名寄せする際に実施した8のこと
- 15. Pythonで〇×ゲームのAIを一から作成する その108 ゲーム木を利用した AI の処理の改良とプログレスバーの表示
- 16. オブジェクト指向プログラミングとクラスの基本 for Python
- 17. kintone APIを使ってデータを抽出する
- 18. 正三角形の辺の長さ「高校入試チャレンジ問題 BFの長さは?」をWolframAlphaとsympyとFreeCADでやってみたい。
- 19. tkinterを使って自己満足のツール作成
- 20. VSCode+PythonでAtCoderを自動提出(の補足)
matplotlibについてのメモ
# 複数の画像形式で保存する
画像形式をリストにして、for文で回します。MS WordにはSVGで、LaTeXにはPDFで貼りましょう。
“`py
# 保存するファイル形式のリスト
formats = [‘eps’, ‘svg’, ‘pdf’, ‘png’]# 各ファイル形式で保存
[plt.savefig(f’sine_wave.{fmt}’, format=fmt) for fmt in formats]
“`例:
“`py
import numpy as np
import matplotlib.pyplot as plt# データの作成
x = np.linspace(0, 2 * np.pi, 1000) # 0から2πまでの範囲で1000点
y = np.sin(x)# Sine波のプロット
plt.plot(x, y, label=’sin(x)’, color=’blue’, linewidth=2)# 軸ラベルとタイトル、グリッドの設定
plt.xlabel(‘x’)
plt.ylabel(‘sin(x)’)
plt.title(‘
SPSS Modelerで最適なクラスター数(のヒント)を探してみる その3
前回、前々回の記事からの続きです。
https://qiita.com/harrowharrow16/items/57b6696193aeb9faf546
https://qiita.com/harrowharrow16/items/1ad1c815a42bd8dd65c2
さて、前回はSPSS Modelerの拡張ノードを利用してシルエットスコアや誤差平方和(SSE)を計算してみました。また、拡張モデルノードを使ってモデル作成部分も実装したので紹介します。
## SPSS Modelerの拡張ノード
さて今回も、SPSS ModelerでRやPythonのシンタックスを記述してデータ加工やモデル作成が行える拡張ノードを利用します。以下のように5種類あります。今回は、拡張モデルノードを利用してモデル作成及びクラスタリングの結果を取得してみます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839172/53810fec-9e96-818b-4f27-52a5650ae
米国経済政策の不確実性データを取得する
米国経済の不確実性に関する独自の研究を行っている素晴らしいサイトを見つけたので記事にしてみました。
この記事では下記のサイトからデータを取得するpythonコードを記載します。
http://www.policyuncertainty.com/index.htmlサイトでは米国経済の不確実性を下記のような観点で指数化し分析しています。
### a. ニュース報道による政策関連経済不確実性の指数
10の大手新聞(USA Today、マイアミ・ヘラルド、シカゴ・トリビューン、ワシントン・ポスト、ロサンゼルス・タイムズ、ボストン・グローブ、サンフランシスコ・クロニクル、ダラス・モーニング・ニュース、ヒューストン・クロニクル、ウォール・ストリート・ジャーナル)の記事を基にして作成されます。
毎月、各新聞に対して「不確実性」や「不確定」、「経済」、「議会」、「立法」、「ホワイトハウス」、「規制」、「連邦準備制度」、「赤字」といった用語を含む記事を検索します。
記事の総数に対して政策関連の不確実性記事の比率を計算し、それを1985年1月から2009年12月までの期間で標準偏差1に正規化
Amazon Bedrock の ApplyGuardrail API を使用し、モデルの回答に対してハルシネーションを含むか評価する
# はじめに
https://aws.amazon.com/jp/blogs/news/guardrails-for-amazon-bedrock-can-now-detect-hallucinations-and-safeguard-apps-built-using-custom-or-third-party-fms/
先月Amazon Bedrockにおいて、`ApplyGuardrail` API が使用可能になったのでキャッチアップとして試してみます。
本記事では ApplyGuardrailを使用した処理を実装していきます。# ハルシネーションとは?
生成AIが事実と異なる、あるいは与えられた文脈と矛盾するテキストを生成する現象の事。参考:https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/reduce-hallucinations
# ゴール
`ApplyGuardrail`を使用し、生成AIの回答結果に対してハルシネーションの度合いを数値で評価する#
Maya CommandOutputをViewに表示
“`python:
from maya import OpenMaya
from maya import OpenMayaUI
from maya import cmds
from PySide6.QtWidgets import *
from PySide6.QtGui import *
from PySide6.QtCore import *
from maya.OpenMayaUI import MQtUtil
from shiboken6 import wrapInstance
class Kohaku_CommandOutput_LabelClass(QLabel):
marginWidth = 10
marginHight = 5
parentWidget = wrapInstance(int(MQtUtil.mainWindow()), QWidget)
vewWidget = wrapInstance(int(OpenMayaUI.M3dView.active3dView().widget()), QWidget)
elaps
🔰【2024年最新版】Python🐍PyTorch初心者ガイド
# はじめに
人工知能(AI)や機械学習の研究が進む中、ディープラーニングはその中核技術として広く利用されています。ディープラーニングは、テキスト生成や顔認識、音声合成など、多くの応用分野で革新をもたらしています。こうした技術を実現するために、Pythonエンジニアが活用する主要なライブラリの一つがPyTorchです。PyTorchは、2016年にMeta AI(旧Facebook AI Research)によって開発されたオープンソースのディープラーニングライブラリです。その柔軟性とPythonベースの使いやすさから、多くのエンジニアや研究者に支持されています。本記事では、PyTorchの基本を学び、Pythonエンジニアがどのようにしてディープラーニングに取り組むかを解説します。
# PyTorchの準備
まずは、PyTorchをインストールしましょう。PyTorchの公式サイトから、自身の環境に合ったインストール方法を選択することができます。以下は、一般的なインストールコマンドの例です。
“`bash
pip install torch torchvision tor
AtCoderの水色(以上)がどれだけのレベルなのかを可能な限り客観的に全力で可視化してみた(国別人数や解答速度や所属大学)
[Supership](https://supership.jp/)の名畑です。待ちに待った[KING OF PRISM -Dramatic PRISM.1-](https://kinpri.com/)がついに公開。世界がプリズムの煌めきに溢れております。
:::note
AtCoderにはAlgorithmとHeuristicがありますが、今回の記事ではAlgorithmを前提として話を進めています。
:::## はじめに
競技プログラミングサイト[AtCoder](https://atcoder.jp/)の高橋社長(chokudai様)の以下のつぶやきを目にしました。
1000再生行ってないのに28コメントついてるの、みんな言いたい事あるんだなあ、って感じがすごいするw
【競技プログラミング】AtCoder緑色あるある【愚痴多め】 https://t.co/SqFhLjKXkt
GPT-4o-miniでGoogleColaboratoryのノートブックを生成する
## 概要
GPTのコードインタプリタ機能では、コードを生成・実行しデータ分析やチャート作成を行ってくれます。
大変画期的ですが、実際に使う場合は生成されたコードに間違いがないかチェックを行い、必要に応じてコードを修正するケースが多いのではないかと思います。
修正する際は「GPTが出力したコードを自身の環境にコピペして修正する」という手順を踏むのが普通だとは思いますが、せっかくならもっと便利に使いたい・・・。そう考えていたのですが
「CSVファイルを渡したら良い感じにデータ前処理と基礎分析を行い、それらの過程をipynb形式のノートブックとして結果をまとめることができたら修正が捗りそう」とふと思いつきました。GoogleColaboratory上でGeminiが使えるようになったりノートブックと生成AIの連携は進んでますがノートブックそのものを生成するというのはあまり事例がない?ように思ったので、
個人的に実現できないか試しにスモールな実験をしてみることにしました。### イメージ
![image.png](https://qiita-image-store.s3.ap-n
GitHub Actionsでpythonファイルの型チェック、文法エラーチェック、フォーマットチェックをする
# 結論
以下のyamlを `.github/workflows` 以下に置く。“`py_checker.yaml
name: ‘Check python file’
run-name: ‘Check types, syntax and format.’
on:
push:
branches:
– “feature/*”
paths: ‘app.py’jobs:
mypy:
runs-on: ‘ubuntu-latest’steps:
– name: ‘Checkout repository’
uses: ‘actions/checkout@v4’
with:
submodules: false
fetch-depth: 0– name: ‘Set up python’
uses: ‘actions/setup-python@v5’
with:
python-versio
AIが9つのステップで導く!目標達成をシンプルにサポートするWebアプリを作ってみた
## はじめに
AIを使った逆引き系のサービスを作れないかなと考えていまして、目標から過程(そこに到達するまでのステップ)を提案するようなWebアプリを作ってみました。ロードマップや学習教材などを作ってくれるサービスは既にいくつかあるので、とにかくシンプルに、ライトに使える感じにしています。
## 作ったもの
**The Nine Steps**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649608/e7995cdb-5f99-5f5f-d0ed-7429c94bf6d1.png)
https://ninesteps.reflex.run
ホーム画面に追加することでアプリのようにお使いいただけます。
![IMG_0544.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649608/68b4b4eb-0a6d-4e5a-9a
Alembicのマイグレーションファイル作成時に希望するテーブルの順番でupgrade文を出力する
# 課題
alembicでテーブル定義のマイグレーションファイルを作る場合に以下の課題があった。
モデル定義ファイルをテーブルごとに分割すると、ファイル名の並び順でマイグレーションの定義が作成される。# 要求
依存関係があるとエラーになるので、指定の順序で定義を出力したい。
# 前提
– modelsフォルダにSQLModelを利用してテーブル定義を作成する
– 「models/__ init__.py」に定義を作成した順番にimportを記載する“`sh:例
models
└ __init__.py
└ user_assign.py
└ user.py
“`
ファイルの並びは上記のようになりmigrationファイルの出力結果も名前の並び替え順になる。
それを、定義の順番である「user → user_assign」に変更して、出力する。“`py:__init__.py
from .user import User
from .user_assign import UserAssign“`
上記の「__ init__.py」のインポート順
並列同時計算。GPU実行の勾配降下法。多くの解の候補が同時に探索され、最適解に近づく可能性が格段に高まる。
![dcc8c315-9ac9-4c0b-be98-a832967e38bb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/b614788e-ee78-95e5-16ff-36ef87ca48b1.png)
#### ショートストーリー: 「並列降下のヒーロー」
東京の中心部、煌びやかな夜景が広がる高層ビルの一室。そこには、若きプログラマ、タケシが座っていた。彼はコンピュータの前に向かい合い、数時間にわたってコードと格闘していた。タケシは、大規模なデータ処理と最適化の問題に挑む、若きソフトウェアエンジニアである。タケシが取り組んでいるのは、数百のテンソルと呼ばれる数学的なデータセットの最適化であった。目標は、正確なテンソルを見つけること。つまりはニューラルネットワークの重み最適化。そのためには、勾配降下法という手法を用いて最適解に近づける必要があった。しかし、テンソルの数が増えると、計算が膨大になり、単一の計算リソースでは時間がかかりすぎる。
「どうしたらもっと効率よく探索
シェルスクリプト(.sh)でpythonを実行するとimportエラーが出る
# 事象
raspberry Pi や linuxを使っているときにシェルスクリプト(.sh)でpythonを実行すると
importエラー(ModuleNotFoundError)が出る# 原因
shで実行すると個別ユーザーでpip installしたモジュールフォルダを見に行かない(パスが通ってない)ため# 解決法
2種類(+α)の解決方法が存在### ①sudoを使ってモジュール再インストール
全体に適用させたい場合におすすめ、あと簡単
個別ユーザーと全体に同じものが2つ入るので容量が重いmoduleだとやだ方法
“`
sudo pip xxxxx
“`
のようにsudoを使って再インストール### ②pythonファイル内にて明示的にpathを追加する
とりあえず自分自身の環境で実行する場合におすすめ
pythonにコードを追加する必要あり方法
“`
import sys
sys.path.append(‘追加したいパス’)
# 例えば /home/”ユーザーネーム”/.local/lib/python3.9/site-packages
“`
【Python】住所データを名寄せする際に実施した8のこと
# はじめに
住所データは使用するシステムによって入力方法、データ保持の方法が違っていたり、番地の表記が違ったりと名寄せを行う際に問題となる点が多数存在します。本記事では多数存在する問題の内、8個を解決し、2種のデータを結合するPythonプログラムを紹介します。# 8つの問題とその解決策
今回解決する8つの問題と解決策は以下の通りです。| NO | 問題 | 解決策 |
| —- | —- | —- |
| 1 | 結合するデータ2種の住所情報の持ち方が違う | それぞれのデータを加工し、以下の6カラムに統一する
都道府県、市区町村、町名、番地番号1、番地番号2、番地番号3 |
| 2 | 住所情報にスペースが含んでいる | 半角・全角スペースを削除する |
| 3 | 丁、番、号の表記が違う(漢字 or ハイフン) | 丁、番、号の数字だけ抽出し、番地番号1、番地番号2、番地番号3のカラムに情報を入れる |
| 4 | 市区町村以降の住所を入れるカラムに都道府県も入っている | 都道府県の情報を削除する |
| 5 | 市区町村以降の住所を入れるカラムに
Pythonで〇×ゲームのAIを一から作成する その108 ゲーム木を利用した AI の処理の改良とプログレスバーの表示
# 目次と前回の記事
https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0
https://qiita.com/ysgeso/items/321cf89ef5c49b861650
## これまでに作成したモジュール
以下のリンクから、これまでに作成したモジュールを見ることができます。test.py を入れ忘れていたので今回から入れています。
| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/108/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/108/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/108/test.py)
オブジェクト指向プログラミングとクラスの基本 for Python
## はじめに
プログラミングの世界では、データとそれに関連する操作を効果的に扱うために、**オブジェクト指向プログラミング**(OOP: Object-Oriented Programming) という概念があります。OOPでは、のブジェクトをモデル化してプログラムを作成することで、コードの再利用性や保守性が向上します。
OOPの代表的な概念のひとつが**クラス**です。クラスは、データ(属性)とそのデータに対する操作(メソッド)をひとまとめにした設計図のようなものです。この設計図から実体である**オブジェクト**を作成し、そのオブジェクトを操作してプログラムを進めていきます。
この記事では、Pythonにおけるクラスの基本的な使い方を説明していきます。
## クラスを作る
まずは、猫を表すクラスを作ってみましょう。このクラスには猫の名前や年齢を保存し、猫が「ニャ~」と鳴く動作を定義します。
“`python
class Cat:
def __init__(self, name, age):
self.name = name # 名前
kintone APIを使ってデータを抽出する
# kintone APIを使った理由
kintoneで扱っているデータで分析を行いたかったのですが、
UI上の絞り込みでは、`AND`と`OR`が混在するような条件での抽出ができないため、
kintone APIを使ってデータを抽出することにしました。# コード
コードの全文は以下。“`python
import requests
import pandas as pd
import jsonHOST_NAME = ”
KINTONE_APP_ID = ”
KINTONE_API_TOKEN = ”
FIELDS = []
QUERY = ”def fetch_data():
url = f’https://{HOST_NAME}/k/v1/records/cursor.json’
app = KINTONE_APP_ID
fields = FIELDS
query = QUERY
size = 500header = {
‘X-Cybozu-API-Token’: KINTONE_API_
正三角形の辺の長さ「高校入試チャレンジ問題 BFの長さは?」をWolframAlphaとsympyとFreeCADでやってみたい。
・問題文は2次元ですが、3次元FreeCADのマクロで、XY平面上に作図しました。
# オリジナル
・YUUU0123 様 (0:00〜2:18)# WolframAlphaで
・私が最初に思いついた方法です。
ベクトルで??? 点B(0,0) y座標に注目。
BD.y+DE.y-CE.y=0 (同じです。BD.y+DE.y+EC.y=0)https://www.wolframalpha.com/input?i=%281%2F2*%E2%88%9A3%29%2B%28%28x-1%2F2%29%2F%E2%88%9A3%29-%282*%E2%88%9A3%29%3D0&lang=ja
解 x = 5
# sympyで(オリジナル 様の方法を参考に)
#### ver0.1 正三角形なので。
・print文が1行でわかりにくくて、申し訳ありません。私は、困ったらsolveです。
https://docs.sympy.org/latest/modules/solvers/solvers.html
“`p
tkinterを使って自己満足のツール作成
## はじめに
皆さんは資格試験に向けた受験勉強はどのように学習していますか?
僕は参考書やPing-tなどを活用することが多いですが、これらの問題が一つのアプリにまとまっていると便利だなと思ったことないですか?
僕は一つのアプリで試験勉強出来たら便利だなと思ったので、pythonの勉強ついでにGUIアプリを作ってみました。## ツール概要
pythonのtkinterを使って、下図のようなGUI画面を作りました(今回はサンプル)。
問題と選択肢はCSVファイルに記載し、そこから読み出すようにしています。
問題のタイトル(下図では「駅クイズ」)など問題に依存するような文言はなるべく、GUI画面とは切り離すため、CSVファイルから読み出すようにしています。
tkinterでは凝ったGUIは作れないと思いますが、自己満足程度のものであれば、下記のように作れますので、勉強ついでに試してみるのも面白いと思います。
![eki.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3750854/f26b9b71-7
VSCode+PythonでAtCoderを自動提出(の補足)
基本的には[この記事](https://qiita.com/prln/items/974f1280baa70bd1fd0d)を参考にすると良い。補足として…
– 例えば「[アルゴリズムと数学](https://atcoder.jp/contests/math-and-algorithm)」について、VSCodeにディレクトリが自動作成するためには、`acc new math-and-algorithm`を実行すれば良い。
– ローカル環境に複数のPython環境が複数ある場合は、`tasks.jaon`を以下のように変更すると良い。“`json:tasks.json
{
“version”: “2.0.0”,
“tasks”: [
{
“label”: “CheckTestCase”,
“type”: “shell”,
“command”: “cd ${fileDirname} && oj t -c ‘python3 main.py’ -d ./tests/”,
“presentation”: {