サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
okumuralab.org/~okumura
ゼロで割ることはできません。無理に割ろうとすると 1 / 0 ZeroDivisionError というエラーになります。 しかし、コンピュータによる数値計算では、a / b のような割り算のときに、たまにしか起こらないエラーのためにいちいち b がゼロかどうか確認するのは面倒ですし、速度的にも不利です。 そこで、浮動小数点演算の IEEE 754 という規格では、1.0 / 0.0 に相当する「無限大」という数や、0.0 / 0.0 に相当する「非数」という数を導入して、割り算がエラーにならない仕組みを用意しています。 この仕組みをどう使うかは、言語によって異なります。 R では、1 / 0 と打ち込むと Inf(Infinity = 無限大)と返ってきます。0 / 0 は NaN(Not a Number = 非数)になります。いずれにしても、エラーで止まることはありません。 Ruby
ChatGPTが「視覴」という新語を発明したらしいことをフガクラさんのツイート(2023-06-08 08:51:02 JST)で知る。 すでに「視覴」は、いくつかの最近書かれたWebページで使われていた。ChatGPTで生成されたページらしい。ざっと検索して見つけたページを列挙しておく。いずれも最近作られたか修正されたページである(1件だけ2020年のページがあるが、最近修正されたものかどうか不明)。 映像・音声編集におけるノーマライズの重要性!(2023-05-11)「視覴的・聴覚的な一貫性」「視覴的な効果を最大化」「視覴的な混乱を避け」(2回)なお、このページは現在消えて視覴とは?AI(ChatGPT)が出力した新しい言葉なのか?(2023-06-08)にリダイレクトされ、「弊社では、2023年3月より用語集作成に際しAIライティングの試験運用を行っておりますが、この度、「視覚」の誤
このページはOpenAIのAPIを使うを書き直したものです。 [2024-04-10] gpt-4-turbo-2024-04-09 が出ました。gpt-4-turbo は現時点ではこれを指します。 [2024-01-26] 2024-01-25の新モデル: 最新のプレビューモデル "gpt-4-0125-preview"、"gpt-3.5-turbo-0125" が出ました。"gpt-4-turbo-preview"、"gpt-3.5-turbo" と指定すれば最新のものが選ばれるようです。 [2023-11-07] DevDayで新しいモデル等が発表されました: "gpt-4-1106-preview"、"gpt-4-vision-preview"、"gpt-3.5-turbo-1106" [2023-06-14] 新しいモデル "gpt-3.5-turbo-0613"、"gpt-3.
マイナンバーカード普及状況ダッシュボードの「性別・年齢別」グラフを見ると,老人ほど男性の交付率が大きい。なぜだろう? 最新データのdemographics.csvをダウンロードして調べてみる(ここでは2021/11/01時点のものを使った)。 import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("demographics.csv") age = (df.index[1:] - 1) * 5 men = df["交付率(男)"][1:] women = df["交付率(女)"][1:] fig, ax = plt.subplots(ncols=2, figsize=(8, 6)) # 左(男) ax[0].barh(age, men, color="C0", height=5, align="edge",
はじめに OpenAI の ChatGPT が人気ですが、これとほぼ同様な機能が API として提供されています。これをPythonから使うパッケージ openai があります。これを使ってみましょう(よりハイレベルのパッケージとして LangChain、GPT Index(LlamaIndex に改称)などがあります)。 自分のプログラムからAPIを使うには、こちらで登録してAPIキーを発行してもらわなければなりません。費用が発生します(ただし3ヶ月間有効な18ドルの無料枠があります)。最も強力なDavinciモデルの場合、1000トークンあたり0.02ドル(2〜3円)かかります。1トークンは、英語なら頻出単語1語(日本語なら1文字)にほぼ相当します。頻出でない語は2トークン以上になります。だいたい1000トークンが英語の750語にあたります。英語のほうが概してトークン数が少ないので安上
以下は2022-08-12の一連のツイートをまとめたものである。データは2022-08-13朝に再取得し、人口密度などのデータは2020年国勢調査に統一したので、ツイートとは若干異なるかもしれない。 札幌医科大学のゲノム医科学部門に人口あたりの新型コロナウイルス感染者数の推移【世界・国別】という便利なページがある。その下に【都道府県別】人口あたりの新型コロナウイルス感染者数の推移、【都道府県別】新型コロナウイルスワクチン接種率の推移などがあり、最新データをダウンロードできる(ちょっとわかりづらい)。 とりあえず「都道府県別人口100万人あたりの感染者数_[令和2年10月国勢調査]_2022-08-12.csv」、「都道府県別ワクチン追加接種率(3回目,全人口に対するパーセント)_[令和2年10月国勢調査]_2022-08-11.csv」をダウンロードした。CSVファイル(文字コードはUTF
気象庁のアメダス(AMeDAS: Automated Meteorological Data Acquisition System 自動気象データ収集システム)のデータはWeb APIで提供されています。 入口はいくつかありますが、例えば地図を拡大して自分の知りたい場所を探してクリックすると、一覧表(1時間ごと・10分ごと)やグラフを見ることができます。 例えば私の住んでいる三重県津市をクリックすると、https://www.jma.go.jp/bosai/amedas/#area_type=offices&area_code=240000&amdno=53133&format=table1h&elems=53414 というページが現れます。この URL に含まれる amdno=53133 により、津市のアメダスの番号が 53133 であることがわかります。 今日の早朝は大雨でしたので、そ
TwitterのステータスIDの仕組み 世界最初のツイートは、ジャック・ドーシー(Jack Dorsey)による 2006-03-22 の https://twitter.com/jack/status/20 である。この「20」というツイートのIDは、当時はMySQLのユニークIDを使っていたようだが、2010-06-01 の Announcing Snowflake という記事で、Snowflake という仕組みに切り替えることがアナウンスされた。 現在の Twitter ID は、Snowflake という仕組みで、日時から生成される。下位22ビットはユニークなランダム値で,上位は 2010-11-04 01:42:54.657 UTC (2010-11-04 10:42:54.657 JST) を起点としたミリ秒単位の時刻を表す。したがって,IDからツイートのタイムスタンプを求める
「鬼滅の刃」のヒロイン「竈門禰󠄀豆子」(かまどねずこ)の「禰󠄀」は,「禰」(U+79B0)+異体字セレクタ(U+E0100 VARIATION SELECTOR-17)でできている(→ UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた)。これをLaTeXで出せるか。 使ったのは普通の TeX Live 2021 で,Mac 上でテストした。ドキュメントクラスは何でもいいが,platex・uplatex・lualatex のどれにも対応する jlreq にしてみた。 \documentclass{jlreq} \begin{document} 竈門禰󠄀豆子 \end{document} まず platex してみよう。 l.4 竈門禰^^f3^^a0^^84^^80 豆子 ? 異体字セレクタでエラーになってしまう。 uplatex では処理できた。
Ruby の while line = gets puts line end は、コマンドライン引数で与えられたファイルを一つずつ開いて1行ずつ読み込み、出力するループである。コマンドライン引数でファイルを指定しなければ、標準入力から1行ずつ読み込む。 これと同じことをするための仕組みが Python の標準ライブラリの fileinput モジュールで提供されている: import fileinput for line in fileinput.input(): print(line, end="") # または print(line.rstrip()) fileinput.input() に引数でファイル名(のリスト)を与えれば、それが優先される。 Ruby の gets と違い、ループの中で余分に行を読み込むことはできない。 標準入力だけ読めばよいなら、次のようにできる: impor
[2023-02-01] このページは何度も追記されています。現状は最後にあります。 内閣府の「国民の祝日」CSVを巡る話題はTwitterのモーメント内閣府の「国民の祝日」のCSVがひどい。によくまとまっている。以下ではデータの推移をまとめておく。 内閣府の「国民の祝日」についてというページから http://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv というCSVファイルがリンクされていた。2017-02-21 にダウンロードしたものをdata/syukujitsu-170221.csvに置いておく(文字コードSJIS,行末CRLF)。念のため,以下にも貼り付けておく: 平成28年(2016年),,平成29年(2017年),,平成30年(2018年), 名称,月日,名称,月日,名称,月日 元日,2016/1/1,元日,2017/1/1
[2022-08-28] COCOA通知が来ました(2022-08-24に「合計51分間の接触」)。その時点のデータまで追記してあります(exposure_data.json も)。 COCOA 2.0.0 になって、MatchCount がログに記録されないようになりました。 COCOA 2.0.1 になって、COCOA アプリの「陽性登録者との接触結果を確認」→「情報を保存」で exposure_data.json という詳細ログが保存できるようになりました。これを見れば接触日などがわかります。私の iPhone のデータ例を置いておきます。中を見るための Python プログラムの一例です(同様なことをするためのサイト COCOAログチェッカー2.0 (β) や COCOAログ.jp ができました): import json import pandas as pd with open
文字コード変換 文字コードは標準ライブラリの codecs モジュールで扱える。直接これを使わなくても、いろいろな関数が encoding=... オプションで文字コード指定を受け付ける。デフォルトはUTF-8である。例えばコマンドライン引数で与えたEUC-JPのファイルをUTF-8に変換して utf8/ サブディレクトリに保存するには、次のようにすればよい。 import sys def convert(source, target): with open(source, 'r', encoding='euc_jis_2004', errors='replace') as f: content = f.read() with open(target, 'w', encoding='utf-8') as f: f.write(content) if __name__ == "__main_
メールでZipファイルを送って次のメールでパスワードを送るという無意味より悪いセキュリティ対策が問題になっている。なぜ無意味より悪いかというと,Zip暗号化は強度が十分でない上に,次のメールで送るパスワードは無意味で,さらにゲートウェイでのウイルス対策ができなくなるのでウイルス送付に利用されやすいためである。 PythonでZipファイルを展開する方法は文字コードのところに書いたが,同様にしてパスワードをブルートフォースで破ることも原理的には可能である。4桁数字のパスワードで暗号化した test.zip をクラックするには次のようにすればよいであろう: from zipfile import ZipFile with ZipFile('test.zip') as z: for i in range(10000): pw = f'{i:04d}' try: z.setpassword(pw.
はじめに 2020-11-13 に Apple Store で注文した MacBook Air 16G/256G が 2020-11-29 に届いたのでさっそく設定。 2020-11-20 に生協に注文した Mac mini 16G/256G は 2021-01-12 に届いた。 どちらもメモリ16Gにしたが,通常の用途には8Gで十分かも。SSDは満タンの半分程度で使うつもりで選ぶほうが安心らしいので,据置き用にはHDDをつないでいたが,4TのSSDを2台(Sandisk,Crucial)入手したので,APFSフォーマット(暗号化)してつなぎ,データ用とTime Machine用にした。高速・まったく無音で,快適。 セットアップと一般的な設定 他の Mac からコピーという手もあったが,ここはクリーンセットアップすることにする。Apple ID を設定したら iCloud から多くの設定を
[2020-09-17] Rが4.xになったことと,国土数値情報の令和2年(2020年)版が出たことと,WindowsでRをお使いの方からフィードバックをいただけたことにより,このページと集約geojsonデータを改訂しました。 はじめに シェープファイル(Shapefile)は,地図を表すベクトルデータ形式である。Esri が提唱した。拡張子 shp,shx,dbf の三つのファイルから成る。ほかにも投影法についての情報を持つ prj や,メタデータの xml などを含むことがある。 日本の行政区域を表すシェープファイルは,国土数値情報サイトの「行政区域」や,e-Stat の「地図で見る」→「境界データダウンロード」→「小地域」→「国勢調査」→「小地域」→「世界測地系緯度経度・Shape形式」などで入手できる。 シェープファイルを読むRのパッケージはいろいろあるが,ここでは sf(sim
[2021-12-03] 2021年10月までのデータを追加した。 [2021-11-02] 2021年9月までのデータを追加した。 [2021-10-13] 2021年8月までのデータを追加した。 [2021-09-01] 2021年7月までのデータを追加した。 [2021-08-09] 2021年6月までのデータを追加した。 [2020-06-11] 2020年4月分のデータを追加した。 [2020-06-13] 日経新聞6月11日記事を引用した。 [2020-07-03] 2020年5月分のデータを追加した。 [2020-08-17] 2020年6月分のデータを追加した。 Financial Times の COVID-19 グラフでお馴染みの超過死亡(excess mortality)が日本でも見られるかが話題になっている。2020年5月5日の時点ではインフルエンザ関連死亡迅速把握
東京都の情報は2021-05-24以降は毎日16:45に東京都福祉保健局からPDFで発表されているが,手作業での更新のようで,うまくスクレープできないこともあった。そうこうしているうちに厚労省が16:00ごろ全国の都道府県についてオープンデータを更新することになったので、そちらを取得して COVID-tokyo.csv を作成し,自動ツイートしている(描画部分のコード:COVID-tokyo.py)。そのグラフ: 実効再生産数を,(直近7日間の陽性数/n日前7日間の陽性数)**(5/n)で近似したもの。東洋経済オンラインでは n=7 としているが,ここでは 1 から 7 までの7本のグラフを示した。 全区間にわたってプロットしたもの: 縦軸を対数目盛にしたもの: 奥村 晴彦 Last modified: 2022-12-31 16:26:39 JST
[2022-07-03 追記] 以下を書いたのは 2020-02-08 で、その後厚労省サイトからは自動翻訳は消えたようだ。ところが、たまたまkeijiさんのまとめてくださった表にあった東京都の新型コロナウイルス感染症にかかる相談窓口についてで右上のEnglishをクリックしたところ、例の半ば意味不明なJ-SERVERの自動翻訳が! なお、都内の最新感染動向については Updates on COVID-19 in Tokyo というすばらしい英訳をボランティアで作っておられるとのこと。 毎日新聞の厚労省HP、新型肺炎の外国語情報で誤訳多発 「手洗い重要」が「トイレ重要」という記事によれば,厚労省の新型コロナウイルス感染症についてのホームページ自動翻訳が,「例えば「手洗いが重要」が韓国語で「トイレが重要」、「水際対策」が中国語で「水辺の対策」と誤訳されている。韓国語も「物価の対策」とも読める
tl:dr(要約) 文部科学省の四分位数の定義は,Excel(2通り)やR(9通り+1)のどれとも異なる。オレオレ定義が悪いわけではないが,これ以外を×にする先生が現れないことを望む。 文科省による四分位数の定義 平成29年(2017年)告示の中学校学習指導要領の数学では,「資料の活用」が「データの活用」と改称された。2年生の「データの活用」では「四分位範囲や箱ひげ図の必要性と意味を理解すること」「四分位範囲や箱ひげ図を用いてデータの分布の傾向を比較して読み取り,批判的に考察し判断すること」という文言が新しく入った。これは今まで高校「数学I」で扱われていた内容である。 文科省は学習指導要領解説も公開している。こちらは法的拘束力はないが,教科書の著者たちは,文科省の意図に沿う教科書を作るため,これを熟読することになる。 中学校学習指導要領解説の数学編には,箱ひげ図・四分位数・四分位範囲につい
はじめに ワードクラウド(word cloud)とは頻出語を頻度に比例する大きさで雲のように並べたものです。 英語のワードクラウドは wordcloud ライブラリで簡単に描けます。あらかじめ pip install wordcloud などとしてインストールしておきます。テキストとしては何でもいいのですが、ここでは WordCloud() の説明文(docstring)を用いてみます: from wordcloud import WordCloud text = WordCloud.__doc__ wc = WordCloud(width=480, height=320) wc.generate(text) wc.to_file('wc1.png') 日本語はこのように簡単にはいきません。まずは単語に分解しなければなりません(形態素解析)。そのためのツールとして、昔から有名なMeCab(
ヘルスケアデータの心拍数を読む iPhoneの「ヘルスケア」アプリを開き,右上の自分のアイコンをタップし,「すべてのヘルスケアデータを書き出す」をタップする。共有方法としては,最近はAirDropでMacに送っている。 以前にこのページで紹介していたのは「"ファイル"に保存」でiCloud Driveに保存する方法であった。iPhoneがWi-Fiでインターネットに接続していなければ同期しないかもしれないので注意。MacのFinderでiCloud Driveにアクセスし,「書き出したデータ.zip」というファイルをカレントディレクトリに持ってきて(あるいは以下のZipファイル名としてフルパスで '/Users/自分の名前/Library/Mobile Documents/com~apple~CloudDocs/書き出したデータ.zip' を指定して),次のスクリプトを実行する。 読む方法
[2019-09-21追記] 当該サイトは,6300ページ超のPDFの公開をやめ,検索できる地図とアプリを公開しました。以下はすべて昔話になりました。 [追記] KamimuraさんがPythonコードをデバッグ・改良してくださいました(未マージ)。 [追記] uriboさんがRで実装してくださいました(「ただしJavaのメモリ不足になるため固定店舗の5533ページ分を読み込むには分割して実行する必要が ...😂」とのこと)。 [追記] PDF 571ページの 23,872 の最後の 5% が pdftotext -raw ではページ下に飛んでしまいます。バグのようです。 キャッシュレス消費者還元事業の「消費者のみなさま」のページ,ちゃんと go.jp を使っているところは偉いが,「使えるお店を探す 登録加盟店一覧はこちら」をクリックすると,なんと3600ページ6300ページ以上のPDF
2019年7月21日の参院選比例代表で選管が山田太郎と山本太郎を混同する事故があった。山田太郎票515票を山本太郎票に 職員思い込みで富士宮市選管集計ミス:「22日に発表した確定票は山本氏1453票、山田氏0票だったが、訂正後は山本氏938票、山田氏515票になる」。 上越市でも同様の疑念がある。新潟・上越市でも山田太郎氏の票少なく 選管「開票は適正」によれば,「公職選挙法に基づく訴訟を起こされない限り、票の再確認はできない」とのこと。 新潟県の開票区ごとの山田票,山本票をCSVにした niigata2019.csv を置いておく(BOM付きUTF-8,行末CRLF)。 これを読んでプロットしてみよう。両軸の目盛が等しくなるようにした。 import matplotlib.pyplot as plt import pandas as pd niigata = pd.read_csv("ni
Python(パイソン)はプログラミング言語の一種です。最近は機械学習でよく用いられます。ここではPython 3.xを使って統計・機械学習の計算・グラフ描画をします。Rを使った統計・データ解析の姉妹編を目指しています。 [2024-04-07] コード部分をクリックするとクリップボードにコピーされるようにしました。 お品書き はじめの前に / PEP 8 インストール 実行 / Google Colaboratory / EIN(アイン) / Docker / ipynbを公開する方法 Pythonの初歩 / Collatzの問題 / 配列 / 基数変換 / ゼロ除算 プロット / 図のラスタライズ / seabornによるプロット / Plotly / プロットをデータに 曲線を描く / 正規分布の密度関数を描く ヒストグラム / 都道府県人口のヒストグラム / ドットプロット / ヒ
MacのFinderでファイルを右クリックして「情報を見る」を選ぶと,次のような画面が現れる。ここにタグを複数設定することができる。次のファイルにはタグ「Deep Learning」「LeCun」「Bengio」「Hinton」「2015」が設定されている。 タグはコマンドで確認できる: $ mdls -name kMDItemUserTags nature14539.pdf kMDItemUserTags = ( "Deep Learning", LeCun, Bengio, Hinton, 2015 ) このタグはSpotlightで検索できるし,次のようにコマンドでも検索できる: $ mdfind "kMDItemUserTags == Hinton && kMDItemUserTags == Bengio" $ mdfind "kMDItemUserTags == 'Deep Le
平成30年度 全国学力・学習状況調査 調査結果資料 【全国版/中学校】の下の方にある相関係数(生徒質問紙-教科)全国【表】というExcelファイルには,生徒へのいろいろな質問事項と各科目の正答率との相関係数が載っている。ほとんどの事項については,相関は正で,積極的な回答をする生徒ほど成績が良い。しかし,よく見ると,24「地域の大人(学校や塾・習い事の先生を除く)に勉強やスポーツを教えてもらったり,一緒に遊んだりすることがありますか」という質問事項だけ,どの科目との相関係数も負である。相関係数の絶対値は大きくない(国語A: -0.136,国語B: -0.124,数学A: -0.101,数学B: -0.111,理科: -0.107)が,人数が百万のオーダーなので,統計的には非常に有意である。より詳しくは,同じところからリンクされているクロス集計表(生徒質問紙-教科)全国【表】の「質問024」シ
文科省公立学校施設の空調(冷房)設備設置状況の結果についてから2017年4月1日現在の小中学校普通教室のエアコン設置率をグラフにした。 # install.packages("NipponMap") library(NipponMap) x = read.csv("https://okumuralab.org/~okumura/stat/data/aircon_shochu.csv", fileEncoding="UTF-8") c = x[,4] / 100 # 範囲 [0,1] cols = colorRamp(c("#ff2800","white","#0041ff")) JapanPrefMap(col=rgb(cols(c)/255)) rect(142+(0:99)/20, 32, 142+(1:100)/20, 33, col=rgb(cols(0:99/99)/255),
Rで楽しむStan(工事中) はじめに 『Rで楽しむベイズ統計入門』は,ベイズ統計の考え方と,Rを使った基本的な計算のしかたを,丁寧に説明した本です。最後のMCMCの章も,JAGSやStanなどの使い方については一切触れず,MCMCアルゴリズムを素直にRで実行して結果を調べるところまでで止めています。近年はStanが人気ですので,Stanの使い方を含めたい気持ちはありましたが,開発が進行中のソフトですので,現時点での使い方を書いても,すぐに古くなってしまう可能性があります。 そこで,StanについてはWebで補足することにしました。 Stanのアルゴリズム(HMC法)については本書でも概要を説明しましたが,かなり複雑です。実装についても,StanのコードをC++に変換してコンパイルして実行するという複雑な仕組みになっています。そのような複雑な仕組みは,複雑な問題で初めて威力を発揮するもので
次のページ
このページを最初にブックマークしてみませんか?
『奥村晴彦 Haruhiko Okumura』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く