投稿

24 Essential Element Symbols: A Memory Game for Beginners

Learn 24 essential element symbols through a simple matching game. This challenge features 10 random pairs selected from the first 20 elements plus four important metals (Silver, Copper, Iron, and Zinc). The upper cards show the full element names, and the lower cards show their chemical symbols. Even complete beginners can play: each time you flip a pair, a short explanation helps you remember the element and its symbol. Try this as a quick review game before quizzes or exams, or as a fun introduction to the periodic table for science beginners.

元素記号を神経衰弱で覚えよう (中学校範囲24元素)

中学校でならう元素を、遊びながら覚えましょう。 1番から20番と、Ag,Cu,Fe,Zn から10組の問題が出ます。 上半分が日本語で元素名、下半分が元素記号です。 なにも知らない状態でも、1組めくると解説がでるので、いつの間にか覚えられます。 小テストや定期テスト前の復習用ゲームとして遊んでみましょう。

2次元データから回帰直線と任意の(x1, y1)が予測曲線上にあるかどうかのp値を算出する方法

以下の方法を用いて、2次元データから回帰直線と任意の(x1, y1)が予測曲線上にあるかどうかのp値を算出することができます。  Julia のコードを末尾に載せます。  p値 (pValue) は、0.4974525172673961 になります。   1. 残差平方和 (SSE) の計算 残差平方和 (SSE) は、回帰直線と各データ点との距離の二乗和を表します。 SSEは、回帰モデルがデータにどの程度フィットしていないかを表す指標となります。   計算式 SSE = Σ(yi - ŷi)^2   yi: データ点のy座標   ŷi: 回帰直線による予測値  2. 自由度 (df) と data の標本数の関係  自由度 (df) は、データの独立性に基づいて、統計量 (例: t検定量) の分布を決定するパラメータです。   計算式 df = n - k - 1  n: データの標本数  k: 回帰直線の次数 (線形回帰の場合、k = 1)  3. t 検定量の計算  t検定量は、回帰直線と任意の(x1, y1)が予測曲線上にあるかどうかを検定するために用いられます。   計算式 t = (y1 - ŷ1) / √(SSE / df) y1: 任意の点のy座標 ŷ1: 回帰直線による予測値 Welchの補正 (等分散性の仮定が成立していない場合) t = (y1 - ŷ1) / √(SSE / df * (1 / n + (x1 - x̄)^2 / Σ(xi - x̄)^2)) y1: 任意の点のy座標 ŷ: 回帰直線による予測値 SSE: 残差平方和 df: 自由度 n: データの標本数 x1: 任意の点のx座標 x̄: データのx座標の平均 Σ(xi - x̄)^2: データのx座標の偏差の二乗和 4. Julia のコード ------- using Distributions, DataFrames, GLM # データの準備 x = [1.2, 2.1, 3.0, 4.1, 5.2] y = [2.1, 4/2, 6.3, 8.5, 10.1] dat...

julia で Microsoft Excel の xlsx 形式のファイルをダウンロードして dataframe で読み込む方法

わが国のお役所が大好きな xlsx 形式のファイルをダウンロードして、dataframe で読み込む方法です。 年度が代ったためか、CSV 形式でダウンロードができなくなったため、MS Excel のxlsx 形式で落してくる必要が生じました。 julia で xlsx 形式を扱う場合は、XLSX.jl を使うのが良さそうです。 残念ながら、XLSX.jl を使ってインタネット上のファイルをそのまま HTTP.get() で読めなかったため、HTTP.download() で保存してから読み込みます。 お役所のファイルは表題が A1 などに入って、さらに B2 以降などでセルが結合されて列名が階層化されていたりします。 XLSX.jl では、で丸ごと読んでくれますが、これを DataFrame にするには範囲の指定が必要です。 1回だけなら手書きでも良いですが、末尾のセル名が必要になるかもしれません。 XLSX.jl では、`[B3:end]` のような `end` 表記などは許してくれません。 正確なデータ範囲を知っている必要があります。 そこで、1回、xlsx ファイル全体を `[:]` で Matrix に変換してしまいましょう。 Matrix になっていれば、[3:end , 2:end] のように指定できるようになります。 恐らく、多くの DataFrames.jl 使いの方は、Matrix を挟む方が操作性が良いと考えます。 ダウンロード元と保存先、xlsx ファイルの構造などは下記のとおりとします。 downloadUrl : ダウンロードしたいファイルの url (string) localOutputFileName : ローカルに保存したいファイル名のパス (string) "Sheet1" : ダウンロードした xlsx ファイルの読み込みたいシートの名前 "Sheet1"の構造と読み込みたい範囲 : A1 に 表題があり、A4 から下最後まで、横は AからE の5列が読み込み対象 julia> using HTTP, XLSX , DataFrames julia> HTT...

julia で、ファイルをダウンロードして名前を付けて保存する方法

julia で、ファイルをダウンロードして名前を付けて保存する方法ですが、なぜか HTTP.jl に記載されていない 'HTTP.download' というのを使うのが良さそうです。 下記のような場合の例を挙げます。 downloadUrl : ダウンロードしたいファイルの url (string) localOutputFileName : ローカルに保存したいファイル名のパス (string) julia> using HTTP julia> HTTP.download( downloadUrl , localOutputFileName ) 以上です。シェルコマンド wget などを使う方法もありますが、ネイティブな命令の方がなにかと便利でしょう。

sudachi 0.6 を julia から動かしてみた。

「SudachiPy 0.5.4より早い」と言われる Sucachi 0.6 を PyCall 経由で julia から動かしてみました。 例によって与謝野晶子さん訳「源氏物語」の「桐壺」を青空文庫から落して丸ごと入れてみます。 例によってとは、2020年3月に行った sudachiPy を、python から使うのと、PyCall 経由の julia で使うのはどちらが早いのか と同じ処理です。2020年3月の sudachi は version を、書いてなかったので不明です。ターミナルからの操作でダウンロードとエンコーディングの変換を行います。MacBook Pro (Retina, 13-inch, Early 2015; 2.9 GHz デュアルコアIntel Core i5; メモリ 16 G) で測定しています。 [ターミナル] % wget https://www.aozora.gr.jp/cards/000052/files/5016_ruby_9746.zip % unzip 5016_ruby_9746.zip % nkf -Lu -w --overwrite 01kiritsubo.txt; 続いて julia からの操作です。生のまま読ませたら `Input is too long, it can't be more than 49149 bytes, was 53316` と怒られましたので、ルビを取り除いています。 julia> using PyCall, Dates julia> sudachipy = pyimport("sudachipy"); julia> dictionary = pyimport("sudachipy.dictionary"); julia> tokenizer = pyimport("sudachipy.tokenizer"); julia> tokenizer_obj = dictionary.Dictionary().create(); julia> mode = tokenizer.Tokenizer.SplitM...

python の pip を version を指定して(再) インストールする方法

"pip._vendor.pkg_resources.DistributionNotFound: The 'pip==x.y.z' distribution was not found and is required by the application " (x,y,zは自然数の文字列) の様なエラーが出た場合は、pip の version を指定してインストールすると良いかもしれません。 python の pip を version x.y.z (x,y,zは自然数の文字列) を(再)インストールしたい場合は、下記のようにします。 $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ python get-pip.py pip==x.y.x 以上です。