プログラ生活

プログラム初学者のためのポイントを書いていこうと思います。たまに脇道それた記事もありますが、息抜きだとおもって気長にお付き合いください。

Python

東京創業ステーションにてプログラミングセミナーを開催しました!!

12月4日(金)に東京創業ステーションにて、Pythonを始めてみたいという方向けにセミナーを開催させていただきました。 ちなみに告知はこんなかんじでした。 startup-station.jp 普段は高校教師をしているため、社会人向けでさらにフルリモートでの講義は経験…

【Python(告知)】無料オンライン講座のお知らせ

Python初学者のための講座やります!! 東京創業ステーションからセミナー依頼をいただきました。 プログラミングをはじめてみたいがどのようにはじめればよいかわからない。 Pythonを触ってみたいけど、導入をどうすればわかならい。 etc... そんな方、ぜひ…

【数学・Python】√2をシミュレーション

$\sqrt{2}$ってどうやってもとめるの!?という素朴な疑問リクエストを頂いたので、シミュレーションしてみます。 $\sqrt{2}$をシミュレーション 例えば、長さ4のメジャーから1点を選び、2より大きいか小さいかを考えます。 ただし、1点を選ぶ条件は0 ~ 2ま…

【数学】素数の話(Python付) -3-

www.pon-x.jp www.pon-x.jp 前回まで素数の必要性を話していきましたが、そうしたらどうやって素数ってみつけていくのっていう話です。 素数とは、1より大きい自然数で、さらに約数がその数自身と1の2つしかないという数のことでしたよね。 では、素数を…

【Python】EXCEL作業を自動化する!

openpyxlを使うと、PythonでEXCELファイルを生成することができる。 わざわざPython使ってまでEXCELに依存するのか!?という意見はあろうと思うが、まだまだEXCEL依存の社会なのだからそりゃ需要あると思う。 さて、さっそくやってみる。 ステップ1 ライブ…

【Python】Python 3 エンジニア認定データ分析試験を受けてみた

以前に、Python3エンジニア認定基礎試験を受けて合格したが、 www.pon-x.jp データ分析試験もあるようなのでノリで受けてみた。 見事!?合格しました。 個人的には、基礎試験の方がむずかしかったような・・・。 実際に点数も今回の方がよいという・・・。 …

【Python】スクレイピングの基礎

Webサイトの規約にのっとり許される範囲でスクレイピングをすべきだが、今回はサイトの内容を取得し、必要な項目を切り出す方法を紹介する。 ステップ1 Webサイトを確認しよう。 今回は本日のYahooの内容を1度だけ取得してみる。 ステップ2 サイトを確認しよ…

【Python(連載)】回帰分析を実践してみよう -43-

データ分析コンペティションというのは聞いたことあるだろうか。 有名なのはKaggleでしょう。 www.kaggle.com タイタニック号の予測問題は結構有名ですよね!? www.kaggle.com 今回は実践してみようと思ったのですが、kaggleは英語のサイトなので、今回は日…

【Python(連載)】重回帰分析 -42-

重回帰分析とは単回帰分析は、目的変数に対して1つの説明変数で予測していたのに対して、重回帰分析は複数の説明変数で予測するものです。 単回帰式・・・ $y = ax + b$ 重回帰式・・・$y = b_1x_1+ b_2x_2+ b_3x_3+ ・・・ + b0$ モデルが良いか悪いかを判…

【Python(連載)】単回帰分析 -41-

今回から回帰分析の話ですが、ひとまず初歩の線形回帰分析にふれます。 今回が単回帰分析で次回が重回帰分析になります。 線形回帰分析とはデータ$Y$に対して、 $Y = AX + B$ というモデルをあてはめます。 このモデルを使って、未知のデータ$X$に対して予測…

【Python(連載)】対応のない2標本の検定 -40-

対応のない2標本とは2標本のデータが全く異なるものである場合のことをいいます。 例えば、学力調査で1年2組と1年3組を比較するとした場合、比較対象は別の生徒になるため、この場合は対応のない2標本といえます。 手順は以下の通りです。 1. F検定を行い、2…

【Python(連載)】対応のない2標本の検定 -40-

対応のない2標本とは2標本のデータが全く異なるものである場合のことをいいます。 例えば、学力調査で1年2組と1年3組を比較するとした場合、比較対象は別の生徒になるため、この場合は対応のない2標本といえます。 手順は以下の通りです。 1. F検定を行い、2…

【Python(連載)】対応のある2標本の検定 -39-

今回は対応のある2標本の平均についての差があるかないかを検定する手法を紹介します。 対応のあるとは、データラベルがおなじということです。 例えば、学力調査で1学期と2学期の比較をしました。 この際、1年2組の生徒を対象とするとすれば、同じ生徒の変…

【Python(連載)】母平均の検定 -38-

今回から標本のはなしです。 標本とは母集団から取り出した一部の集合を言います。 大抵のものは、母集団全部のデータを得ることは難しいので、標本をもって母集団を推定することになります。 今回は、母平均について考えます。 母平均とは母集団全体の平均…

【Python(連載)】標準化と正規分布 -37-

データというのは、当然ながらデータによって単位も違えば内容も違う。 そのようなデータを、同じスケールに整えてあげることを標準化という。 標準化を行うと平均が0、標準偏差が1になる。 標準化を行う計算式は以下の通り。 $z=\frac{x - \bar{x}}{s}$ ま…

【Python(連載)】基本統計量 -37-

今回から統計のはなしです。 統計に関しては、R言語で処理した方がすっきりかけますが、あえてここでPythonでやっているのは、めんどくさくコードを書くことで、モジュールの内容をしっかり考えることになるので、けっこうそれが勉強になると思うからです。 …

【Python(連載)】青空文庫を形態素解析してみた -36-

www.pon-x.jp 上記の続き 青空文庫とは、発行から時間がたって著作物の複製が可能になった小説などのことをいうみたいです。 www.aozora.gr.jp これについて、「吾輩は猫である」と「こころ」を形態素解析して、頻出ワードの高いものを降順に並べてみます。 …

【Python(連載)】形態素解析 -35-

形態素解析とは、文章を構成最小単位に分解することをいう。 ここでよく使われるのが、MeCabだ。 名前はユニークだが、その威力はすごい!! ちなみに、形態素解析をするうえでは、辞書をもとにしているので例えば、Nelogdなんていう辞書はよく使われる。 以…

【Python(連載)】JSON APIの扱い方 -34-

JSON形式はシステム間のデータ連携によく使われる形式である。 この際、データ連携の仕組みをAPIと呼ぶ。 また、Webを通じてアクセスできるAPIを、WebAPIという。 今回はJSON形式のデータの扱い方、またCiniiのWebAPIをためしてみようとおもう。 JSON APIの…

【Python(連載)】Pandas DataFrame -33-

www.pon-x.jp 上記の続き Pandas DataFrameは、行と列でデータを管理するのもので、データ分析を行う際によく用いられる。 データ分析を行う際の下準備でデータを分析できる形に整形してあげる必要がある。 これをデータの前処理と呼んだりする。 このデータ…

【Python(連載)】Pandas Series -32-

データ分析を行うとき、手持ちのデータを扱いやすい形式にしてあげることが必要である。 その際に用いられるのが、Pandasである。 Pandasには大きく分けて、1次元データを扱うSeriesと2次元データを扱うDataFrameがある。 今回はSeriesについてふれる。 単純…

【Python(連載)】Numpyの使い方 -31-

www.pon-x.jp 上記の続き Numpyを使うともはやこれまで使ってきた多くのライブラリに頼ることの必要性を感じなくなる。 例えば、randomモジュールは、numpyメソッドの一部に同様のものがある。 Numpyを制する者は、データ分析を制するといっても過言ではない…

【Python(連載)】確率モデルとシミュレーションの場外戦2 -29+β-

www.pon-x.jp 上記の続き 前回の場外戦では、1%の確率を連続的に観察しました。 今回は、ダーツを投げて円周率を測る問題を実験してみます。 --復習-- 縦横の長さが$20$の板の中に同様の長さの直径の的があります。 ここの的一面にダーツが刺さるくらいたく…

【Python(連載)】確率モデルとシミュレーションの場外戦1 -29+α-

www.pon-x.jp 上記の続き 1%当たる確率のくじを100回ひいたら、からなず1回以上あたるか??という問題について、 理論値は $1-(0.99)^{100} \fallingdotseq 1-0.366 \fallingdotseq 0.634$ であり、Pythonで確かめてみたが、Javascript、HTML5あたりをつ…

【Python(連載)】Numpyを使う目的 -30-

Numpyは機械学習など、演算処理が多量になってききたときには必須といってもよいくらい重要なライブラリだ。 しかも、Anacondaに含まれる拡張ライブラリなので簡単に導入できることもうれしい。 Numpyは行列演算などを簡単にやってくれるなどメソッドが豊富…

【Python(連載)】確率モデルとシミュレーション -29-

今回もチャレンジ課題を用意した。 今回はシミュレーションした結果が数学的に求める理論値と近似するかを考えてみたい。 事象や物事について、法則性に基づいて現象を実現させることをシミュレーションといいます。 また、この際の法則性をモデルといいます…

【Python(連載)】並び替えアルゴリズム -28-

今回もチャレンジ課題を用意した。 今回は並び替え(ソート)アルゴリズムを考えてみたい。 たくさん要素のあるリストの中から、昇順もしくは降順にデータを並び替える方法だ。 アルゴリズムは3つ バブルソート 隣り同士の要素を比較して大小関係に応じて交換…

【Python(連載)】探索アルゴリズム -27-

今回はちょっとしたチャレンジ課題を用意した。 アルゴリズム(プログラムを実装する考え方)を考えて、実装してみようというものだ。 探索アルゴリズムを考えてみたい。 たくさん要素のあるリストの中から、指定した要素があるかないかを考える。 この際、リ…

【Python(連載)】ライブラリ(matplotlibモジュール) -26-

Anacondaに含まれる拡張ライブラリのひとつのmatplotlibライブラリは、グラフを描画するメソッドをたくさん有している。 これをつかいこなすと、プレゼンテーションなどでもかなり有効だろう。 多くの人は、Excelでグラフを書いた経験があるともうが、Excel…

【Python(連載)】ライブラリ(datetimeモジュール) -25-

日付や時刻を用いることはけっこうある。 例えば、現時点の日付とある過去の日付の差をとって期間を算出するなども可能になる。 応用すれば、経過時間の参集も可能だ。 以下、練習ノート datetime