データサイエンスのおすすめオンライン記事(9月22日付)

本ブログでデータサイエンス関連記事の紹介を始めたころは、Data Science Central (DSC)サイトの記事が多かったが、最近パッと見て興味深い記事はToward Data Science (TDS)サイトのものが圧倒的に多い。しかし同サイトは無料で閲覧できる回数に制限がある。そこで本ブログでは毎回最低一つは出典がTDSでない記事を紹介することをルールとする。
さて今回は実用上有意義な記事が揃った。是非参考にしていただきたい。

500ものAI・機械学習ディープラーニング・コンピュータビジョン・自然言語処理プロジェクト(コード付き)
github.com
本記事はGitHubのページ上にあるが、実際にはAI関連のさまざまな記事やリポジトリなどへのリンク集である。「チャットボットで参考になるコードを探したい」といった具体的な目的がある場合には、一般的なウェブ検索よりも有用である。

Dataclass: pythonにおけるかつてないほど容易なオブジェクト指向プログラミング
towardsdatascience.com
オールドスクールでコンピュータを学んだ人間にとっては「オブジェクト指向プログラミング」はどうしてもとっつきにくい。本記事ではPython純正のライブラリであるDataclassを用いたオブジェクト指向プログラミングについて解説している。おなじ著者の別のオブジェクト指向関連の記事へのリンクもある。

モバイル端末優先のビジュアル化
towardsdatascience.com
一般的なwebサイトであれば「レスポンシブ」でモバイル表示にも対応するが、グラフとなると難しい。本記事ではモバイル端末で見やすいグラフ描画の仕方を解説している。

「外れ値」の検出と対処の完全ガイド
towardsdatascience.com
本記事は外れ値を扱う機械学習的な手法の解説ではなく、データ分布においていかに外れ値を見つけてそれに対処するかを述べたチュートリアル記事である。

GitHubのCopilotがいかにデータサイエンティストとしての生活を簡素化してくれるか
towardsdatascience.com
Copilotはコメント文をもとにコードを自動生成したり、他の言語に変換したりしてくれるサービス(有料)。これとは別に以下の日本語の解説記事も参考になる。
zenn.dev

データサイエンスのおすすめオンライン記事(9月8日付)

ようやく本格的な秋の到来となった。巷では円安とインフレで何かと不安が多いが、集中して読書やプログラミングに打ち込むにはうってつけの陽気である。
今回は特にPythonコードの実装に関して興味深い記事がある。是非参考にしていただきたい。

いかに貴方のモデルを一般に利用可能にするか
towardsdatascience.com
Toward Data Scienceの最新記事。Keras, Flask, Gunicorn, Dockerを用いてPythonでの機械学習モデルのWebアプリへの実装までの手順を解説している入門記事。

特徴量選択:包括的な戦略リスト
towardsdatascience.com
特徴量の選択は伝統的な回帰分析から機械学習まで重要なデータ処理技術である。本記事は特徴量選択の入門記事である。

マチュアとプロのデータアナリストの10の違い
towardsdatascience.com
誰でも「データアナリスト」と称することはできるが、実際には新参者とベテランでは大きな差がある。この記事ではどこにその違いがあるのかを「ソフトウェアスキル」「キャリアの理解」など10項目にまとめ、各項目について同じ筆者の別記事へのリンクをつけている。

「良い」と「偉大な」データサイエンティストの18の違い
www.datasciencecentral.com
Data Seicence CentralのオーナーであるVincent Granville氏の最近の記事。上で紹介した記事(その筆者はグーグル社のチーフデシジョンサイエンティスト)をまず引用して、その後Granville氏の独自の見解を述べている。

PyScript: ブラウザ内のPython
towardsdatascience.com
HTML内でPythonを記述してWebページを作成できるPyScriptの紹介。<py-env>(ライブラリ)</py-env>といった具合に記述していく。データサイエンティストにとっては非常に興味深い新技術である。

Pythonコーディング特集

本ブログの最近の投稿記事で、PythonのコーディングのTips(コツ)に関する記事をいくつか紹介した。これらに限らずPythonのコーディングに関する記事は数多く、本ブログの記事ストックにも多くたまっている。そこで今回はそれらの記事のリンクを記述するのではなく、内容を要約して紹介することとした。
Pythonのコーディングの改善に関してはさまざまな記事で述べられているが、それらはおおよそ「コーディング規約」「コメントの工夫」「ワンライナー」「静的タイピング(型づけ)」に集約できる。

コーディング規約 (特にPEP8)
〔主なポイント〕
・PEP8はPython標準ライブラリのための規約であり、最優先に守るべきものとは限らない
・インデントは(タブでなく)半角スペース4つ
・括弧(開き)の直後に改行する場合は次の行はインデント一つ分後ろにずらす
・関数の引数が多いために改行を入れる場合は次の行はインデント二つ分後ろにずらす
・コードの一行は半角で79文字以内(改行が入れやすいものは半角72文字以内)
・演算式が複数行にまたがる場合、プラスなどの記号は先頭に配置する
・import文は一行にひとつだけ記述する
・キーワード引数や引数のデフォルト値指定ではイコール前後に空白を入れない(アノテーションもある場合は空白を使う)
・リストの末尾にコンマを入れてもよい(改行が伴う場合)
・関数名や変数名は小文字のみで単語間をアンダースコアで区切る
・モジュールやクラスが持つプライベート的な要素の先頭にアンダースコアを入れる
予約語と被る変数名は末尾にアンダースコアを入れる
〔関連するコツ〕
・変数や関数名はx1やvar123のような無意味なものでなく、内容がわかる名づけ方をする

コメントの工夫
・コメントは要領よく簡潔に。少なすぎも多すぎもよくない
・処理部分を書く前にコメントを書く
・関数等のDocstringを活用する(VScode利用時は特に便利なツールが使える)

ワンライナー
複数行のコードを一行で記述する「ワンライナー」は、可読性を損ねることなくコードを簡潔にしてかつ効率を高めるコーディング方法として推奨している記事が多い。主なワンライナーは以下の通り
(a) 多重代入文

a, b, c = 123, 456, 789

(b) if条件文の書き方

if 8 < x < 12:

(c) 条件分岐を1行で表す

y = 'Success!' if x < 11 else 'Failure!'

静的タイピング(型づけ)
Pythonが現場のシステム構築で使いにくい最大の理由として、変数の型が代入時に決まる「動的型づけ言語」であるために、特に大規模で複雑なコードの保守がしにくいことが挙げられている。その対応策として「静的タイピング」化がある。これは完全に静的型づけ化するものではないが、型指定をチェックするライブラリであるmypyが利用できるなどにより保守が容易になる。静的タイピングにもいろいろあるが、主なものは以下の通りである
(a) 変数のアノテーション

name: str = "山田 太郎"

(b) 関数のアノテーション

def square(x: int) -> int:
    return x * x

データサイエンスのおすすめオンライン記事(8月22日付)

今年は猛暑が来るのが早かったが、やっと秋の気配が感じられるようになってきた。3年ぶりにバカンスを楽しんだという方も多かっただろう。
今回はすぐに使いまわしができる実用的な記事が多くなった。是非活用していただきたい。

テンソルを用いたディープラーニングによる時系列予測
medium.com
機械学習による時系列予測のさまざまな実装方法を解説した実用的記事。

ニューラルネットワークを用いた現代レコメンドシステム
towardsdatascience.com
レコメンドシステムはeコマースなどさまざまな分野で用いられている。本記事は現在実用化しているレコメンドシステムを、すぐに利用可能なPythonコード付きで解説している実用的記事。

2022年のフロントエンド/バックエンド/DevOpsロードマップ
www.theinsaneapp.com
Web開発者のためのロードマップ(道しるべ)を描いている。これから開発の仕事に関わろうという人のみならず、今開発に従事している人が自分の今いる位置や足りないものを見つけるのに役立つであろう。

予測のための機械学習:大きさが問題となる
towardsdatascience.com
近年公表された「一変量の時系列予測の精度に関しては、伝統的手法(ARIMAなど)の方が機械学習モデルよりもよいパフォーマンスを出す」という研究に対して、この筆者が行った研究の成果を記事として要約している(原論文やレポジトリへのリンクあり)。

データサイエンスプロジェクトをDockerコンテナを用いていかに実施するか
towardsdatascience.com
コンテナ技術の利用はWebアプリへの実装などで必要になってくる。本記事はDockerコンテナ利用の入門チュートリアルである。

データサイエンスのおすすめオンライン記事(8月9日付)

先週久々に一泊二日の温泉旅行に行ったが、土日にもかかわらず新幹線はあまり混んでおらず、宿の部屋も空きが多かった。一人で大浴場を占領できてよかったが、コロナも早く下火になってもらいたいものである。
このところ記事のストックが膨大になってきたので、より重要と思われる記事は掲載の優先順位をあげて紹介することとした。

Pythonでいかに大規模データセットを扱うか
towardsdatascience.com
Pythonデータ形式の比較の記事は7月13日付ブログでもとりあげたが、ここではCSV, Pickle, Parquet, Feather, HDF5の概要と書き込み速度などの特性の比較を行っている。

貴方のコードでよりよいコメントを書くための5つのコツ
towardsdatascience.com
データサイエンスではコードを単独で書くことが多いが、実務ではコードの可読性を高めることは重要である。ここではPythonでの上手なコメントの書き方を解説している。

貴方が知っておくべき6つの時系列予知的タスク
towardsdatascience.com
時系列データに特有ともいえる「予測」や「異常検知」など6つのタスクについて解説した入門記事。

データサイエンスのためのVS Code
towardsdatascience.com
Visual Studio Codeは今やコード開発の定番となったが、本記事はデータサイエンスのためのVS Codeの包括的なチュートリアル記事で内容も豊富となっている。

データ可視化でいかに「より考えないか」
www.freecodecamp.org
今回唯一Toward Data Science以外からの出典記事。Grammar of Graphicsのコンセプトを用いたPythonによるグラフ作成の解説。

データサイエンスのおすすめオンライン記事(7月22日付)

梅雨が早く明けた後に雨模様の天候が続いたりしているが、やはり蒸し暑い。外で活動するよりも涼しい部屋でパソコンとにらめっこしている方が快適ではある。
今回はチュートリアル記事が多めになった。涼しい部屋でこのよなチュートリアル記事を読みふけるのもいいかもしれない。

データクリーニング:問題あるデータを自動的に取り除く
towardsdatascience.com
PythonのPandasにはさまざまなデータクリーニングのための方法が用意されているが、数値であるべき列に一部文字が混ざっていたり、その逆の場合には苦労する。ここでは、そのようなケースで役立つPythonコードを紹介している。

データサイエンスのためのApache Spark: PySparkをインストールして始める
towardsdatascience.com
分散処理フレームワークであるApache SparkをPythonから使うためのPySparkのチュートリアル

散布図からストーリーへ:Seaborn版
towardsdatascience.com
ここでは昔の自動車の重量と燃費に関するデータを例にして、単なる点を表示した散布図からいかに見る人に行動を起こさせるような説得力のある図に仕上げるかを示している。

データマイニング:マーケットバスケット分析とAprioriアルゴリズム
towardsdatascience.com
小売りデータを用いたマーケットバスケット分析の基本からコードまで解説した包括的入門記事。

Pythonによる機械学習アルゴリズム
thecleverprogrammer.com
Pythonで記述された機械学習アルゴリズムについての100本の記事へのリンクが掲載されており、実用性の高い良記事。

データサイエンスのおすすめオンライン記事(7月13日付)

前回投稿時から引き続き、デプロイ系の作業に忙殺されているうちに、また期間が空いてしまった。今回は前回とは対照的に、実用系の記事が揃った格好になっている。

よりよいデータ保存法でPythonのパフォーマンスを改善する
towardsdatascience.com
表形式のデータとしてはcsvが使われることが多いが、csvは文字のため容量がかさみ、処理が遅くなる。ここではParquetとFeatherという2つのデータ保存形式を紹介している。

人気のデータクリーニングPythonパッケージ
towardsdatascience.com
データサイエンティストでも80%もの時間をデータクリーニングに費やしているという。ここではデータクリーニングのためのPythonパッケージをいくつか紹介している。

(簡単な)機械学習の可視化のガイド
towardsdatascience.com
Scikit-learnによる機械学習の結果を効果的に視覚化できるライブラリYellowbrickの紹介。

データサイエンティストにとってクリーンなPythonコードを書くこと
towardsdatascience.com
プロジェクトがより大規模にかつ実装に近づくにつれて、クリーンで持続可能なコードを書く必要性が高まる。本記事ではクリーンなPythonコードを開発するためのいくつかのツールについて紹介している。

グラフニューラルネットワークがいかに機能するか:GNN入門
theaisummer.com
今年の5月11日付の投稿でグラフニューラルネットワークの最新動向に関する記事を紹介したが、今回紹介するのはグラフニューラルネットワークの理論から応用までの包括的な入門記事。