- 1. 論文に載せる図のためのMatplotlibのテンプレート(JupyterNotebook想定)!
- 2. Pythonで浮動小数点を出力してみる
- 3. 【初心者向け】Azure OpenAI Serviceを使ってみた
- 4. BERTを使ったYouTubeコメントの分類手法を学ぶ①
- 5. ED法+交差エントロピーをTF/Torchで実装してみた(おまけでBitNet×ED法を検証)
- 6. BacktraderのTradeAnalyzerで取り出せる指標
- 7. 【初心者向け】PythonとStreamlitで始める、簡単ウェブアプリ開発!
- 8. def reverseGPIO():
- 9. 力技で精度を良くする方法論
- 10. 個人開発記録 2024/04/30~2024/05/2
- 11. TensorFlowでiTransformerを実装
- 12. Pythonで〇×ゲームのAIを一から作成する その77 Dropdown による AI の選択と play メソッドの改良
- 13. 【Part2】Pythonで簡単Discord Bot開発入門 – オウム返しボットを作ってみよう!
- 14. python初心者が勉強した結果
- 15. Python ‘and’ と ‘&’ の違い
- 16. KaggleのLBとCVで相関のあるデータセットの作り方(Probe)
- 17. 【Part1】Pythonで簡単Discord Bot開発入門 – Discord Botを作成し,サーバーに招待する方法!!
- 18. PythonでAndroidアプリ開発環境構築
- 19. Cursor+Python環境構築
- 20. 【OCI】.NET SDKを使ってOCI Streamingにデータを送信してみる
論文に載せる図のためのMatplotlibのテンプレート(JupyterNotebook想定)!
# 結論
次のコードをpython notebookの最初のセルで実行
→図を作る際は,default_ax関数にaxを渡すだけ.
“`python
import matplotlib.pyplot as plt%config InlineBackend.figure_format = ‘retina’ # 図の解像度を上げる
plt.rcParams[‘font.family’] = ‘Times New Roman’ # font familyの設定
plt.rcParams[‘mathtext.fontset’] = ‘stix’ # math fontの設定
plt.rcParams[“legend.fancybox”] = False # 丸角
plt.rcParams[“legend.framealpha”] = 1 # 透明度の指定、0で塗りつぶしなし
plt.rcParams[“legend.edgecolor”] = ‘black’ # edgeの色を変更
plt.rcParams[“legend.handlelength”] = 1.3 # 凡例の線の長
Pythonで浮動小数点を出力してみる
“`
% python
Python 3.9.9
>>> print(0.1 + 0.2)
0.30000000000000004
>>> print(0.1 * 0.2)
0.020000000000000004
>>> print(0.3 / 0.1)
2.9999999999999996
>>> print(0.3 / 0.1 * 0.01)
0.029999999999999995
>>> print(0.3 / 0.1 * 0.00001)
2.9999999999999997e-05
>>> print(0.3 / 0.1)
2.9999999999999996
>>> print(0.3 / 0.1 * 0.1)
0.3
>>> print(0.3 / 0.1 * 0.01)
0.029999999999999995
>>> print(0.3 / 0.1 * 0.001)
0.0029999999999999996
>>> print(0.3 / 0.1 * 0.0001)
0.0003
>>> print(0.3 / 0.1 * 0.00001)
2.9999999
【初心者向け】Azure OpenAI Serviceを使ってみた
![小見出しを追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3783554/e95dd94a-9e46-444f-78da-31f952fe9658.png)
Azure OpenAI Serviceの記事ってなかなか探してもないですよね。本日の記事は、Azure OpenAI Serviceを利用してPythonでチャットボットを作成する方法についての解説記事です。この記事は、初心者向けに、ステップバイステップで手順を追いやすく、また具体的なコード例も提供します。## ステップ1: Azure OpenAIリソースの作成
最初の一歩として、Azureポータルにアクセスしましょう。ログイン後、「リソースの作成」ボタンをクリックし、カテゴリ「AI + Machine Learning」から「OpenAI Service」を選択してください。画面の指示に従って設定を行い、「レビュー + 作成」ボタンでリソースを作成します。これで、AzureでOpenAIを使う準備が完了です!
## ステップ2
BERTを使ったYouTubeコメントの分類手法を学ぶ①
## はじめに
YouTube Data API v3を使ってYouTubeのコメントを取得し、分類する技術を学びたい。
まずは、以下の記事を参考にBERTの使い方を試してみる。
https://qiita.com/takubb/items/fd972f0ac3dba909c293
## 目標
最近、AIや自然言語処理について勉強をしている。LLMについての理解を深めるため、まずはBERTによるテキスト分類手法を使えるようになるのが目標である。
## 環境
言語はPython。使用ツールはGoogle Colaboratory。
## Google ColabのGPU環境を設定
Google ColabのGPU環境が必要だそうなので、このサイトを参考に設定しました。
GPUは12時間まで無料で連続使用できるそうです。
**ランタイム**のタブから**ランタイムのタイプを変更**をクリックしてT4 GPUを選びます。
## コードを試してみる
まずは記事のコードを一通りコピペして試
ED法+交差エントロピーをTF/Torchで実装してみた(おまけでBitNet×ED法を検証)
ED法の記事その3です。
その1:[金子勇さんのED法を実装してMNISTを学習させてみた](https://qiita.com/pocokhc/items/f7ab56051bb936740b8f)
その2:[ED法を高速化してその性能をMNISTで検証してみた](https://qiita.com/pocokhc/items/f4387c099a28a69df918)もう記事を書く予定はなかったんですが、思ったより頭から離れなかったので記事に起こしました。
今回はED法をTorchとTFで実装し交差エントロピーとReLUを実装しました。
なので正規のMNISTを学習してみたいと思います。
最後にBitNet×ED法を試して考察しています。本記事を含めたED法のコードをGithubに作成しました。
https://github.com/pocokhc/ErrorDiffusionMethod
# 追加の実装
## ED法+交差エントロピーまずは今までの平均二乗誤差(MSE;Mean Squared Error)のイメージです。
![aa-ページ1.drawi
BacktraderのTradeAnalyzerで取り出せる指標
Backtraderというライブラリを使って株取引のバックテストをやってみたが、結果を取り出すのに難儀したので自分の備忘録を兼ねて公開。
“`python
import backtrader as bt
import backtrader.analyzers as btanalyzers(中略)
data = bt.feeds.PandasData(dataname=df)
cerebro = bt.Cerebro()
cerebro.addstrategy(MyStrategy)
cerebro.adddata(data)
cerebro.addanalyzer(btanalyzers.TradeAnalyzer, _name=’myTradeAnalyzer’)result = cerebro.run()
res = result[0].analyzers.myTradeAnalyzer.get_analysis()
“`
この後、“`res.total.total“`などとすると下記のデータが取り出せる。| カテゴリ | 項目 | 説明 |
|-
【初心者向け】PythonとStreamlitで始める、簡単ウェブアプリ開発!
皆さんこんにちは!GWはいかがお過ごしでしょうか?
本日は、PythonとStreamlitで始める、簡単ウェブアプリ開発をしていきます!
### まずは、Streamlitを使えるようにしましょう!“`python
import streamlit as st
“`これで、Streamlitライブラリをプログラムで使えるようになりました!🎉 Streamlitって何?って思ったあなた、これはPythonで書かれたインタラクティブなウェブアプリをサクサク作れる魔法のようなライブラリなんですよ。
### 音声録音機能、パソコンに入れてみませんか?
“`python
from audio_recorder_streamlit import audio_recorder
“`ここで、「audio_recorder_streamlit」ライブラリから`audio_recorder`関数を呼び出しています。これで、ブラウザ上で簡単に音声を録音できるようになるんです!
### 録音ボタンをポチッと表示!
“`python
audio_bytes = audio_rec
def reverseGPIO():
<python関数例文>
def reverseGPIO():
if led.value():
led.value(0)
else:
led.value(1)<解説>
led.value() = None
= 0 (上記例文ではLEDランプ消灯)
= 0.0
= ”
= []
= ()
= {}
= set()
上記の場合、全てif False:とみなされます。<結果1>
led.value() = 0 (LEDランプ消灯)の場合、
if False となり、
else:
led.value(1) (LEDランプ点灯)
が実行されます。<結果2>
led.value() = 1 (LEDランプ点灯)の場合、
if True となり、
led.value(0) (LEDランプ消灯)
が実行されます。
力技で精度を良くする方法論
これは私が大学院卒業間際にたまたま見つけたSIGNATEというサイトでビギナー限定コンペなる物を発見した時にどうやって精度を上げようかと考えたときに作った考えです(5日目に思いつき実装してビギナーからIntermediateに昇格しました)。
タイトルの通り力技で、ループさせて毎回訓練データとテストデータを変えて精度のよさそうな機械学習アルゴリズムを何個か学習させてモデルと精度をリストに格納して精度の良かった上位何個かのモデルで予測させます。
# コーディング
## ライブラリのインポート
ここでは勾配ブースティング決定木とSVM(RBFカーネル)とランダムフォレストを使用します。
最後の精度の評価は正解率だけでなく再現率、適合率、F1全て見ます。
“`Python3
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selec
個人開発記録 2024/04/30~2024/05/2
# 目的
* とにかくやりきることが一番の目的
* 毎日発信することで、発信する習慣作り
* 個人開発をやりきることで、実績作り# 開発するもの
X(旧Twitter)のパクリ
# 構成
* バックエンド
* python
* django REST framework
* DB
* postgreSQL
* フロントエンド
* React# 本編
前回会員登録画面の表示ができたので、会員登録APIの作成とreactから会員登録APIを実行するところを作成する。
## djangoで会員登録APIの作成をする
### `user`アプリを作成する
[この記事](https://qiita.com/kare-pan/items/d9c8730f6f7e71433702)で`tweet`アプリは作成した。
それとは別に`user`を作成することで、機能を分ける。“`bash
django-admin startapp user
“`設定を追加
“`python:likeX/settings.py
INSTALLED_
TensorFlowでiTransformerを実装
## iTransformerとは
Transformerベースの多変量時系列予測モデルの多くは、各時刻の多変量をトークンとみなします。一方iTransformer[1]は、各変数の時系列をトークンとみなすことで変数同士の相関をより良く捉え、予測精度の向上を図りました。大雑把に言うと**入出力のテンソルを転置し、vanilla Transformerからモジュールをいくつか引算しただけ**です。vanilla Transformerとの実装上の相違点を次の表にまとめました。|相違点|vanilla Transformer|iTransformer|
|:–:|:–:|:–:|
|入力の形状|(バッチサイズ, 時系列の長さ, 変数の数)|(バッチサイズ, 変数の数, 時系列の長さ)|
|embedding層の出力の形状|(バッチサイズ, 時系列の長さ, d_model)|(バッチサイズ, 変数の数, d_model)|
|positional encoding|あり|なし|
|look ahead masks|あり|なし|
|デコーダ|あり|なし|
|推論|次の時刻の多変量を逐
Pythonで〇×ゲームのAIを一から作成する その77 Dropdown による AI の選択と play メソッドの改良
# 目次と前回の記事
https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0
https://qiita.com/ysgeso/items/51842efc6193ed456ebc
## これまでに作成したモジュール
以下のリンクから、これまでに作成したモジュールを見ることができます。
https://github.com/ysgeso/marubatsu/blob/master/077/marubatsu.py
https://github.com/ysgeso/marubatsu/blob/master/077/ai.py
https://github.com/ysgeso/marubatsu/blob/master/077/util.py
## ルールベースの AI の一覧
ルールベースの AI の一覧については、下記の記事を参照して下さい。
https://qiita.com/ysgeso/items/10d1d01192c014173e4b
# `play` メソッドのバグの修正
今回の記事を記述する際に
【Part2】Pythonで簡単Discord Bot開発入門 – オウム返しボットを作ってみよう!
## はじめに
### Part1
https://qiita.com/als/items/cb078585ac212285c671#%E9%87%8D%E8%A6%81
この記事では、Python初心者でもDiscord Botの開発を始められるよう、ただし基本的な文法や開発環境の知識があることを前提に、解説していきます。最終的には、ユーザーが送信したメッセージをそのままオウム返しするシンプルなボットを作成することを目指します。
### 開発環境
– OS: WSL2 Ubuntu 22.04.4 LTS
– Python: バージョン3.10.12
– discord.py: バージョン2.3.2### discord.pyとは
discord.pyは、DiscordのAPIを利用できるPythonのライブラリの一つです。PyPIで公開されており、pipを使用してダウンロード・インストールが可能です。一時は開発終了が発表されましたが、2023年8月に最新バージョン2.3.2がリリースされ、現在も開発が継続されています。
## 目次
– [1. 準備・インストール
python初心者が勉強した結果
# はじめに
こんにちは、ハッピーエンジニアです。
<本題の要約>
この記事は僕がpython未経験の状態から案件に参画し、レビュアーから**読みやすいコード**と評価されるようになった方法をまとめました。<状況や目的、対象読者>
この記事は、Python経験がない状態で案件に参画する方やPythonの学習を始めようとしている方向けの記事になっています。
– Pythonの経験はないけど、いつか実務で使ってみたい!
– どうやってPythonを学習していいかわからない!
– Pythonがどんな感じか知りたい!# Pythonをどうやって学習したか
私はPythonを以下の方法で学びました。
1. Pythonの書籍を読む
2. 毎日コードを書く
3. 業務で積極的にコードに触る## Pythonの書籍を読む
何も知らない状態からいきなりPythonを書くというのは難しいかもしれません。
少なくとも他言語の経験がない場合は、いきなり書くのはかなり難しいです。
インプットとアウトプットが重要なのでまずはインプットを行うのが良いかもしません。
***注意***
**インプ
Python ‘and’ と ‘&’ の違い
## ‘and’の仕様
左辺が真なら右辺を返し、左辺が偽なら左辺を返す。左辺が偽の時は、右辺を評価しない。(短絡評価)これにより、パフォーマンスの向上やエラーの回避ができる。
“`python
# 凡例
0 and 1
1 and 1
1 and 0
1 and 2 # 出力:上から順に0,1,0,2# エラー回避の例
lst = []
result = lst and lst[0] # []は’False’扱いなので、andの左辺が処理されて、[]が出力される
“`## ‘&’の仕様
‘&’はビットごとのAND演算子である。整数やブール値のビット、numpy配列の各要素に対して、ANDを適用する。
“`python
# 0bは2ビットを表す接頭辞
x = 0b1101 # 13
y = 0b1011 # 11result = x & y
print(bin(result)) # 出力: 0b1001 (9)# numpy配列に対する演算
a = np.array([0b01, 0b00, 0b11])
b = np.array([0b01, 0
KaggleのLBとCVで相関のあるデータセットの作り方(Probe)
KaggleのLLM系のコンペでは、コンペのホストから提供されるデータがほとんどないor全くない場合が多いです。
そんなとき、サブミッションした時のLB(リーダーボード)のスコアと、手元で検証した時のCVのスコアで相関のあるデータセットが手元に作れれば、よりスコアの改善に役立てることができます。(サブミットによってKaggle側のデータがどのようなものかを探る行為をProbeと呼ぶらしいです)
今回はそのようなデータセットの作り方を紹介しようと思います。# まずは品質をあまり気にせず大量のデータと集める
ChatGPTのAPIなどを利用して大量のデータを作ります。
ただしコンペの参加者の方々が、自分の作ったデータセットを公開してくれることが多いので、それらを拝借するのが手っ取り早いと思います。
なお、この時点でそこまで高い品質のデータは求めていません。
明らかに形式が間違っていたりするようなデータでなければとりあえずOKです。
玉石混交みたいな感じのデータセットになるイメージです。# いくつかのモデルでサブミットをした時のスコアを控えておく
ここでは例として、`model_A`
【Part1】Pythonで簡単Discord Bot開発入門 – Discord Botを作成し,サーバーに招待する方法!!
こんにちは!この記事ではあくまで簡単に,Discordのボットの作成からサーバーへ招待する方法を説明します.最終的にはユーザーが送信したメッセージをそのままオウム返しさせるボットを目指します.
## 目次
– [1. Discord Botアカウントの作成](#1-discord-botアカウントの作成)
– [2. サーバーへの招待](#2-サーバーへの招待)## 1. Discord Botアカウントの作成
https://discord.com/developers/applications
まずは,Discordのデベロッパーページにログインします.
ログインが成功したら,次にDEVELOPER PORTALのApplicationsのページを開きます.![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629527/e3673c29-b6db-50af-7862-fb1161689264.png)
そうしたら,このような画面が表示されます.次に,右上の「New
PythonでAndroidアプリ開発環境構築
## 概要
PythonでAndroidアプリを開発するために、GUIプログラミングを可能にするkivyというライブラリを利用する。## IDE(Cursor)とPythonのインストール
https://qiita.com/noimp/items/50a0b452688ad11f08eb## Cythonとkivyのインストール
CursorやVS CodeのTerminalで下記を実行する。
Cythonはkivyを使用するために必要。
“`sh:commond
pip3 install -U Cython
pip3 install kivy
“`
## kivyの日本語化
CursorやVS CodeのTerminalで下記を実行する。
“`sh:commond
pip install japanize-kivy
“`
Cursor+Python環境構築
## 環境
|項目|バージョン|
|—-|—-|
|OS|Windows11|
|Cursor|0.32.8|
|Python|3.12.3|## Cursorをインストールする
1. 下記から使用しているOSの「Download for Windows」を押下する。
https://cursor.sh/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2637688/962c7772-ab83-d2f6-cda6-f7ae7ae9d453.png)1. ダウンロードした「Cursor Setup 0.32.8 – x64.exe」をダブルクリックする。
1. 「Language」に「日本語」と入力し、「Command Line」で「Installed “cursor”」を選択し、「Countinue」ボタンを押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2637
【OCI】.NET SDKを使ってOCI Streamingにデータを送信してみる
# はじめに
今回は.NET SDK(ASP.NET C#)を使ってOCI Streamingにデータを送信し、
Pythonで送信されたデータを確認(受信)してみたいと思います。■概要
OCI StreamingはOracle Cloud Infrastructure(OCI)が提供する
マネージド型のストリーミングデータサービスです。
このサービスは大量のデータをリアルタイムで収集、処理、分析するために設計されており、
Apache Kafkaとの高い互換性を持っています。
Kafkaを使用した経験がある開発者は容易に移行や統合が可能です。
OCI Streamingを使用することでウェブアプリケーションやIoTデバイスなどから
大規模なデータストリーム構成を簡単に構築することができます。・OCI Streamingの構成イメージ
メッセージ送信側をProducer、受信側をConsumerと呼びます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/8da