#データサイエンスPython
Explore tagged Tumblr posts
Text

AIやデータサイエンスに興味ある場合、Pythonから勉強するべきか?#shorts
0 notes
Text
週3で年収896万円も夢じゃない!Python副業の始め方、最新案件情報まとめ
こんにちは、本田知香です。 「副業で収入を増やしたいけど、どんなスキルが役立つの?」そう考えているあなた、必見です! 今回は、副業案件の最新情報として、高収入も目指せる「Pythonエンジニア」という選択肢に注目します。 フリーランス・副業のマッチングサービス「SOKUDAN」の調査レポートを基に、Pythonエンジニアの副業案件の魅力や、働き方の具体例をわかりやすく解説します。 「Pythonって難しそう…」なんて不安に思っている方も大丈夫!…
#AI#IT#Python#Pythonエンジニア#SaaS#エンジニア#データサイエンス#バックエンドエンジニア#フリーランス#リモートワーク#働き方改革#副収入#副業#副業エンジニア#副業案件#在宅ワーク#機械学習#週2日#週3日#高収入
0 notes
Text
ClaudeならCSVファイルを読み込み計算からグラフ作成まで実行可能!新たに追加されたコード実行エンジンとArtifactビジュアライゼーション機能について解説
データ分析の新時代を切り拓くコード実行機能 AIアシスタントのClaudeに画期的な機能が追加されました。 従来のテキストベースの対話に加え、実際のデータ分析やプログラミングが実行可能になりました。 新しく搭載されたコード実行エンジンは、Pythonをはじめとする各種プログラミング言語に対応。 CSVファイルのデータ読み込みから、統計分析、機械学習まで、幅広いデータサイエンス業務をサポートします。 ���感的な操作で実現するデータの可視化 従来のAIアシスタントでは難しかったデータの可視化も、新機能のArtifactビジュアライゼーションで実現。 分析結果をグラフやチャートとして表示できます。 静的なグラフだけでなく、インタラクティブな要素を持つ可視化も可能です。 ユーザーは画面上で自由にデータを操作しながら、新たな知見を得ることができます。 実践的なデータ分析シナリオ –…
0 notes
Text
プログラミング副業におすすめできるプログラミング言語3選
プログラミングスキルを活かして副業を始めたいと考えている方にとって、どのプログラミング言語を学ぶべきかは非常に重要なポイントです。言語ごとに適した用途や難易度が異なるため、自分の目指す分野や目標に応じた選択が必要です。この記事では、副業として特におすすめできるプログラミング言語「Python」「Ruby」「C++」の3つを紹介します。
さらに詳しい情報はコチラの記事をチェック!

1. Python
Pythonは、初心者にもおすすめできるシンプルでわかりやすいプログラミング言語です。副業でプログラミングを始める方に最適な理由は、その汎用性と学びやすさにあります。
Pythonは、AIやデータサイエンス、Web開発など、幅広い分野で活用されています。特に、データ分析や機械学習に関心がある方にとっては、Pythonを習得することで、これらの成長分野での副業チャンスが広がります。また、Pythonのシンプルな文法は、他の言語に比べて学習がしやすく、初めてプログラミングを学ぶ人にとっても入りやすいのが特徴です。
さらに、Pythonは世界中で活発に使用されているため、オンラインでのリソースや学習教材も豊富にあります。初めて副業に挑戦する人にとって、サポートが充実している点も魅力です。
2. Ruby
次に紹介するのは、Web開発で広く使われているRubyです。特に、Webアプリケーションの開発に特化した「Ruby on Rails」というフレームワークが非常に人気で、これを使用することで短期間で効率的にWebサイトやアプリケーションを構築することができます。
Rubyの特徴は、コードの読みやすさや、開発のしやすさにあります。副業として、クライアントのWebサイトや小規模なサービスを作成する場合、Ruby on Railsを使うことで迅速にプロジェクトを進めることができるのが大きなメリットです。さらに、企業やスタートアップからもWeb開発の案件が多く提供されているため、副業の需要も非常に高い言語です。
また、Rubyコミュニティは非常に活発で、学習サポートやオープンソースプロジェクトに参加することで、実践的なスキルを磨くことも可能です。
3. C++
**C++**は、少し難易度が高い言語ですが、特定の分野で非常に高い需要があります。特に、ゲーム開発やハードウェア制御、金融システムなどの高パフォーマンスを要求される分野で多用されています。
C++の強みは、その実行速度と制御のしやすさです。例えば、ゲーム開発副業を目指す方にとっては、C++を習得していると、高パフォーマンスの3Dゲームやシミュレーションを作ることができます。副業としては高度なスキルが求められますが、専門的な案件が多いため、単価が高く設定されていることが多いです。
また、金融や科学計算分野でもC++の知識は重宝され、プログラミング副業として取り組むことで専門的なスキルを磨き、高収入を得ることが可能です。
まとめ
プログラミング副業を始めるにあたり、言語選びは非常に重要です。Pythonは幅広い分野での活躍が期待でき、初心者にもおすすめの学びやすい言語です。RubyはWeb開発に特化し、素早く案件に取り組める点が魅力です。C++は専門性が高く、ゲーム開発や金融システムなどでの高収入案件が期待できます。それぞれの言語の特徴を理解し、自分の目指す副業に合った言語を選んで挑戦してみましょう。
さらに詳しい情報はコチラの記事をチェック!
0 notes
Text
Githubで人気のおすすめPythonリポジトリ10選
概要 Githubには数多くの優れたPythonプロジェクトが存在する 本記事では、スター数や活発さなどを基準に選んだおすすめのPythonリポジトリを10個紹介 取り上げるリポジトリは、機械学習、データ分析、Web開発、ユーティリティなど多岐にわたる はじめに Pythonは世界中のデベロッパーに愛され、様々な分野で活用されているプログラミング言語です。Githubには、Pythonを使った優れたオープンソースプロジェクトが数多く存在しています。本記事では、それらの中から特に人気があり、学習や実務に役立つリポジトリを10個厳選して紹介します。 機械学習・データサイエンス関連 TensorFlow – Googleが開発した機械学習フレームワーク Scikit-learn – 機械学習のための Python モジュール Pandas –…
View On WordPress
0 notes
Text
2023年8月2日に発売予定の翻訳書
8月2日(水)には17冊の翻訳書が発売予定です。 データ上『This is 江口寿史!!』は芸術新潮編集部が翻訳を担当したとあり、どういう形で翻訳がなされているのか不明ですが、一応入れてあります。
蘭亭序之謎 上

唐隠/著 立原透耶/監訳 根岸美聡/訳 井田綾/訳 齊藤正高/訳 柿本寺和智/訳
行舟文化
蘭亭序之謎 下

唐隠/著 立原透耶/監訳 根岸美聡/訳 井田綾/訳 齊藤正高/訳 柿本寺和智/訳
行舟文化
私たちの生活をガラッと変えた物理学の10の日

ブライアン・クレッグ/著 東郷えりか/翻訳
作品社
殺戮の軍神(上)
トム・クランシー&スティーヴ・ピチェニック/著 伏見威蕃/翻訳
扶桑社
殺戮の軍神(下)
トム・クランシー&スティーヴ・ピチェニック/著 伏見威蕃/翻訳
扶桑社
ミュラーPythonで実践するデータサイエンス 第2版
J.P.Mueller/著 L.Massaron/著 佐藤能臣/翻訳
東京化学同人
タルカンへの急使
エルンスト・ヴルチェク/著 クルト・マール/著 星谷馨/翻訳
早川書房
ポストカード
アンヌ・ベレスト/著 田中裕子/翻訳
早川書房
郊外の探偵たち
ファビアン・ニシーザ/著 田村義進/翻訳
早川書房
怪獣保護協会
ジョン・スコルジー/著 内田昌之/翻訳
早川書房
現代気候変動入門

アンドリュー・E・デスラー/著 神沢博/監訳 石本美智/訳
名古屋大学出版会
ガイアに向き合う
ブルーノ・ラトゥール/著 川村久美子/翻訳
新評論
リベラリズム
ポール・ケリー/著 佐藤正志/翻訳 山岡龍一/翻訳 隠岐理貴/翻訳 石川涼子/翻訳 ほか
新評論
少女、女、ほか(仮題)
バーナディン・エヴァリスト/著 渡辺佐智江/翻訳
白水社
遠い声、遠い部屋
トルーマン・カポーティ/著 村上春樹/翻訳
新潮社
This is 江口寿史!!
江口寿史/著 芸術新潮編集部/翻訳
新潮社
息吹
テッド・チャン/著 大森望/翻訳
早川書房
0 notes
Text
0 notes
Text
SQLite3 でロジスティック回帰
なんとなく SQLite3 でロジスティック回帰できたら面白そうと思ったので作ってみた。
データセットは iris、sqlflow の DDL を使わせて頂いた。
sqlflow/example/datasets at develop · sql-machine-learning/sqlflow - GitHub
It should print the number of rows as the following: count(*) 10 Troubleshooting It usually takes ab...
http://bit.ly/2JaD7ZG
CREATE DATABASE IF NOT EXISTS iris; DROP TABLE IF EXISTS iris.train; CREATE TABLE iris.train ( sepal_length float, sepal_width float, petal_length float, petal_width float, class int); INSERT INTO iris.train VALUES(6.4,2.8,5.6,2.2,2); INSERT INTO iris.train VALUES(5.0,2.3,3.3,1.0,1); INSERT INTO iris.train VALUES(4.9,2.5,4.5,1.7,2); INSERT INTO iris.train VALUES(4.9,3.1,1.5,0.1,0); INSERT INTO iris.train VALUES(5.7,3.8,1.7,0.3,0); INSERT INTO iris.train VALUES(4.4,3.2,1.3,0.2,0); INSERT INTO iris.train VALUES(5.4,3.4,1.5,0.4,0); INSERT INTO iris.train VALUES(6.9,3.1,5.1,2.3,2); INSERT INTO iris.train VALUES(6.7,3.1,4.4,1.4,1); INSERT INTO iris.train VALUES(5.1,3.7,1.5,0.4,0); INSERT INTO iris.train VALUES(5.2,2.7,3.9,1.4,1); INSERT INTO iris.train VALUES(6.9,3.1,4.9,1.5,1); INSERT INTO iris.train VALUES(5.8,4.0,1.2,0.2,0); INSERT INTO iris.train VALUES(5.4,3.9,1.7,0.4,0); INSERT INTO iris.train VALUES(7.7,3.8,6.7,2.2,2); INSERT INTO iris.train VALUES(6.3,3.3,4.7,1.6,1); INSERT INTO iris.train VALUES(6.8,3.2,5.9,2.3,2); INSERT INTO iris.train VALUES(7.6,3.0,6.6,2.1,2); INSERT INTO iris.train VALUES(6.4,3.2,5.3,2.3,2); INSERT INTO iris.train VALUES(5.7,4.4,1.5,0.4,0); INSERT INTO iris.train VALUES(6.7,3.3,5.7,2.1,2); INSERT INTO iris.train VALUES(6.4,2.8,5.6,2.1,2); INSERT INTO iris.train VALUES(5.4,3.9,1.3,0.4,0); INSERT INTO iris.train VALUES(6.1,2.6,5.6,1.4,2); INSERT INTO iris.train VALUES(7.2,3.0,5.8,1.6,2); INSERT INTO iris.train VALUES(5.2,3.5,1.5,0.2,0); INSERT INTO iris.train VALUES(5.8,2.6,4.0,1.2,1); INSERT INTO iris.train VALUES(5.9,3.0,5.1,1.8,2); INSERT INTO iris.train VALUES(5.4,3.0,4.5,1.5,1); INSERT INTO iris.train VALUES(6.7,3.0,5.0,1.7,1); INSERT INTO iris.train VALUES(6.3,2.3,4.4,1.3,1); INSERT INTO iris.train VALUES(5.1,2.5,3.0,1.1,1); INSERT INTO iris.train VALUES(6.4,3.2,4.5,1.5,1); INSERT INTO iris.train VALUES(6.8,3.0,5.5,2.1,2); INSERT INTO iris.train VALUES(6.2,2.8,4.8,1.8,2); INSERT INTO iris.train VALUES(6.9,3.2,5.7,2.3,2); INSERT INTO iris.train VALUES(6.5,3.2,5.1,2.0,2); INSERT INTO iris.train VALUES(5.8,2.8,5.1,2.4,2); INSERT INTO iris.train VALUES(5.1,3.8,1.5,0.3,0); INSERT INTO iris.train VALUES(4.8,3.0,1.4,0.3,0); INSERT INTO iris.train VALUES(7.9,3.8,6.4,2.0,2); INSERT INTO iris.train VALUES(5.8,2.7,5.1,1.9,2); INSERT INTO iris.train VALUES(6.7,3.0,5.2,2.3,2); INSERT INTO iris.train VALUES(5.1,3.8,1.9,0.4,0); INSERT INTO iris.train VALUES(4.7,3.2,1.6,0.2,0); INSERT INTO iris.train VALUES(6.0,2.2,5.0,1.5,2); INSERT INTO iris.train VALUES(4.8,3.4,1.6,0.2,0); INSERT INTO iris.train VALUES(7.7,2.6,6.9,2.3,2); INSERT INTO iris.train VALUES(4.6,3.6,1.0,0.2,0); INSERT INTO iris.train VALUES(7.2,3.2,6.0,1.8,2); INSERT INTO iris.train VALUES(5.0,3.3,1.4,0.2,0); INSERT INTO iris.train VALUES(6.6,3.0,4.4,1.4,1); INSERT INTO iris.train VALUES(6.1,2.8,4.0,1.3,1); INSERT INTO iris.train VALUES(5.0,3.2,1.2,0.2,0); INSERT INTO iris.train VALUES(7.0,3.2,4.7,1.4,1); INSERT INTO iris.train VALUES(6.0,3.0,4.8,1.8,2); INSERT INTO iris.train VALUES(7.4,2.8,6.1,1.9,2); INSERT INTO iris.train VALUES(5.8,2.7,5.1,1.9,2); INSERT INTO iris.train VALUES(6.2,3.4,5.4,2.3,2); INSERT INTO iris.train VALUES(5.0,2.0,3.5,1.0,1); INSERT INTO iris.train VALUES(5.6,2.5,3.9,1.1,1); INSERT INTO iris.train VALUES(6.7,3.1,5.6,2.4,2); INSERT INTO iris.train VALUES(6.3,2.5,5.0,1.9,2); INSERT INTO iris.train VALUES(6.4,3.1,5.5,1.8,2); INSERT INTO iris.train VALUES(6.2,2.2,4.5,1.5,1); INSERT INTO iris.train VALUES(7.3,2.9,6.3,1.8,2); INSERT INTO iris.train VALUES(4.4,3.0,1.3,0.2,0); INSERT INTO iris.train VALUES(7.2,3.6,6.1,2.5,2); INSERT INTO iris.train VALUES(6.5,3.0,5.5,1.8,2); INSERT INTO iris.train VALUES(5.0,3.4,1.5,0.2,0); INSERT INTO iris.train VALUES(4.7,3.2,1.3,0.2,0); INSERT INTO iris.train VALUES(6.6,2.9,4.6,1.3,1); INSERT INTO iris.train VALUES(5.5,3.5,1.3,0.2,0); INSERT INTO iris.train VALUES(7.7,3.0,6.1,2.3,2); INSERT INTO iris.train VALUES(6.1,3.0,4.9,1.8,2); INSERT INTO iris.train VALUES(4.9,3.1,1.5,0.1,0); INSERT INTO iris.train VALUES(5.5,2.4,3.8,1.1,1); INSERT INTO iris.train VALUES(5.7,2.9,4.2,1.3,1); INSERT INTO iris.train VALUES(6.0,2.9,4.5,1.5,1); INSERT INTO iris.train VALUES(6.4,2.7,5.3,1.9,2); INSERT INTO iris.train VALUES(5.4,3.7,1.5,0.2,0); INSERT INTO iris.train VALUES(6.1,2.9,4.7,1.4,1); INSERT INTO iris.train VALUES(6.5,2.8,4.6,1.5,1); INSERT INTO iris.train VALUES(5.6,2.7,4.2,1.3,1); INSERT INTO iris.train VALUES(6.3,3.4,5.6,2.4,2); INSERT INTO iris.train VALUES(4.9,3.1,1.5,0.1,0); INSERT INTO iris.train VALUES(6.8,2.8,4.8,1.4,1); INSERT INTO iris.train VALUES(5.7,2.8,4.5,1.3,1); INSERT INTO iris.train VALUES(6.0,2.7,5.1,1.6,1); INSERT INTO iris.train VALUES(5.0,3.5,1.3,0.3,0); INSERT INTO iris.train VALUES(6.5,3.0,5.2,2.0,2); INSERT INTO iris.train VALUES(6.1,2.8,4.7,1.2,1); INSERT INTO iris.train VALUES(5.1,3.5,1.4,0.3,0); INSERT INTO iris.train VALUES(4.6,3.1,1.5,0.2,0); INSERT INTO iris.train VALUES(6.5,3.0,5.8,2.2,2); INSERT INTO iris.train VALUES(4.6,3.4,1.4,0.3,0); INSERT INTO iris.train VALUES(4.6,3.2,1.4,0.2,0); INSERT INTO iris.train VALUES(7.7,2.8,6.7,2.0,2); INSERT INTO iris.train VALUES(5.9,3.2,4.8,1.8,1); INSERT INTO iris.train VALUES(5.1,3.8,1.6,0.2,0); INSERT INTO iris.train VALUES(4.9,3.0,1.4,0.2,0); INSERT INTO iris.train VALUES(4.9,2.4,3.3,1.0,1); INSERT INTO iris.train VALUES(4.5,2.3,1.3,0.3,0); INSERT INTO iris.train VALUES(5.8,2.7,4.1,1.0,1); INSERT INTO iris.train VALUES(5.0,3.4,1.6,0.4,0); INSERT INTO iris.train VALUES(5.2,3.4,1.4,0.2,0); INSERT INTO iris.train VALUES(5.3,3.7,1.5,0.2,0); INSERT INTO iris.train VALUES(5.0,3.6,1.4,0.2,0); INSERT INTO iris.train VALUES(5.6,2.9,3.6,1.3,1); INSERT INTO iris.train VALUES(4.8,3.1,1.6,0.2,0); DROP TABLE IF EXISTS iris.test; CREATE TABLE iris.test ( sepal_length float, sepal_width float, petal_length float, petal_width float, class int); INSERT INTO iris.test VALUES(6.3,2.7,4.9,1.8,2); INSERT INTO iris.test VALUES(5.7,2.8,4.1,1.3,1); INSERT INTO iris.test VALUES(5.0,3.0,1.6,0.2,0); INSERT INTO iris.test VALUES(6.3,3.3,6.0,2.5,2); INSERT INTO iris.test VALUES(5.0,3.5,1.6,0.6,0); INSERT INTO iris.test VALUES(5.5,2.6,4.4,1.2,1); INSERT INTO iris.test VALUES(5.7,3.0,4.2,1.2,1); INSERT INTO iris.test VALUES(4.4,2.9,1.4,0.2,0); INSERT INTO iris.test VALUES(4.8,3.0,1.4,0.1,0); INSERT INTO iris.test VALUES(5.5,2.4,3.7,1.0,1);
僕が作ってる Go の SQLite3 ドライバはユーザ関数を Go で書く事が出来る。
sql.Register("sqlite3_custom", &sqlite3.SQLiteDriver{ ConnectHook: func(conn *sqlite3.SQLiteConn) error { if err := conn.RegisterAggregator("logistic_regression_train", createLogisticRegressionTrain(conn), true); err != nil { return err } if err := conn.RegisterFunc("logistic_regression_predict", createLogisticRegressionPredict(conn), true); err != nil { return err } return nil }, }) db, err := sql.Open("sqlite3_custom", ":memory:") if err != nil { log.Fatal(err) } defer db.Close() _, err = db.Exec(`attach "iris.sqlite" as iris`) if err != nil { log.Fatal(err) }
ユーザ関数とアグリゲート関数は動作が異なっていて、ユーザ関数は SELECT で使うと行毎に呼び出され、行毎の結果が返る。アグリゲート関数は行毎に Step メソッドが呼ばれ、最後に Done メソッドが呼ばれる。つまり集計関数になる。アグリゲート関数で以下の様に SELECT した結果を全て貰いモデルを作る。モデルは JSON 形式で出力する様にした。文字列を持ったテーブルにそのまま突っ込める。これを logistic_regression_train という関数名にした。
_, err = db.Exec(` drop table if exists iris.model; create table iris.model(config text); insert into iris.model select logistic_regression_train('{ "rate": 0.1, "ntrains": 5000 }', sepal_length, sepal_width, petal_length, petal_width, class ) from iris.train `) if err != nil { log.Fatal(err) }
次にこの JSON からモデルに戻し、引数で渡されたテストデータから推論する関数 logistics_regression_predict を作った。
rows, err := db.Query(` select logistic_regression_predict('iris.model', sepal_length, sepal_width, petal_length, petal_width ), class from iris.test `) if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var predicted, class float64 err = rows.Scan(&predicted, &class) if err != nil { log.Fatal(err) } fmt.Println(math.RoundToEven(predicted), class) }
ロジスティック回帰そのものは gonum を使って書いた。
func (s *logistic_regression) Done() (string, error) { ws := make([]float64, s.X[0].Len()) for i := range ws { ws[i] = s.rand.Float64() } for i := range s.y { s.y[i] = s.y[i] / (s.maxy + 1) } w := mat.NewVecDense(len(ws), ws) y := mat.NewVecDense(len(s.y), s.y) for n := 0; n < s.cfg.NTrains; n++ { for i, x := range s.X { t := mat.NewVecDense(x.Len(), nil) t.CopyVec(x) pred := softmax(t, w) perr := y.AtVec(i) - pred scale := s.cfg.Rate * perr * pred * (1 - pred) for j := 0; j < x.Len(); j++ { dx := mat.NewVecDense(x.Len(), nil) dx.CopyVec(x) dx.ScaleVec(scale, x) w.AddVec(w, dx) } } } fargs := make([]float64, w.Len()) for i := 0; i < w.Len(); i++ { fargs[i] = w.AtVec(i) } var buf bytes.Buffer err := json.NewEncoder(&buf).Encode(&model{ W: fargs, M: s.maxy, }) if err != nil { return "", err } return buf.String(), nil }
この例では推論した値 predict と、正解の値 class が SELECT されるので Go で値を取り出すと推論が正しいか判断できる。
for rows.Next() { var predicted, class float64 err = rows.Scan(&predicted, &class) if err != nil { log.Fatal(err) } fmt.Printf( "predict: %d (%d)\n", int(math.RoundToEven(predicted)), int(class)) }
predict: 1 (2) predict: 1 (1) predict: 0 (0) predict: 2 (2) predict: 0 (0) predict: 1 (1) predict: 1 (1) predict: 0 (0) predict: 0 (0) predict: 1 (1)
正解率 90% なのでまずまずと言っていいのかな。
サンプルコードの位置づけだけど GitHub にコードを置いておきます。
GitHub - mattn/go-sqlite3-logistics-regression
Features → Code review Project management Integrations Actions Package registry Team management...
http://bit.ly/2W4WbPn

RとPythonで学ぶ[実践的]データサイエンス&機械学習 有賀 友紀, 大橋 俊介 技術評論社 / ¥ 3,218 (2019-03-26) 発送可能時間:在庫あり。
from Big Sky http://bit.ly/2LEsAYM
1 note
·
View note
Text
2023/5/19(金)第五回
<記入者>郭
本日の流れ
・技術開発(内部のプログラミングの構成)
→人間の姿勢推定と顔のランドマーク検出
・使用プログラミングコード
import cv2
import mediapipe as mp
mp_drawing = mp.solutions.drawing_utils
mp_pose = mp.solutions.pose
# カメラをキャプチャ
cap = cv2.VideoCapture(0)
# Poseモデルのロード
with mp_pose.Pose(min_detection_confidence=0.5, min_tracking_confidence=0.5) as pose:
while cap.isOpened():
ret, frame = cap.read()
if not ret:
continue
# RGB変換
image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# フレームの処理
result = pose.process(image)
# 描画
if result.pose_landmarks:
mp_drawing.draw_landmarks(frame, result.pose_landmarks, mp_pose.POSE_CONNECTIONS)
# 出力
cv2.imshow('MediaPipe Pose', frame)
if cv2.waitKey(5) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()
・CHATGPTによる分析
これは、MediaPipe ライブラリと OpenCV を使用してカメラからビデオをキャプチャし、リアルタイムで姿勢推定を実行する Python コード スニペットです。 MediaPipe Pose モデルを使用して人間のポーズを検出および追跡し、ポーズ ランドマークをビデオ フレームにオーバーレイします。
コードの内訳は次のとおりです。
必要なライブラリ、cv2 (OpenCV) および mediapipe がインポートされます。
mediapipe の mp_drawing モジュールは描画ユーティリティ用にインポートされ、mp_pose モジュールはポーズ推定用にインポートされます。
cv2.VideoCapture 関数は、デフォルトのカメラ (インデックス 0) からビデオをキャプチャし、それを cap 変数に割り当てるために使用されます。
MediaPipe Pose モデルは、mp_pose.Pose クラスを使用してロードされ、最小検出および追跡信頼度は 0.5 に設定されます。
while ループは、ビデオ キャプチャからフレームを継続的に読み取るために使用されます。
cap.read() 関数は、カメラから次のフレームを取得します。 フレームが正常に読み取られなかった場合 (ret が False)、ループが継続します。
フレームは、cv2.cvtColor を使用して BGR 色空間から RGB に変換されます。
変換されたイメージは、pose.process() 関数に渡されて処理され、イメージの姿勢推定が実行されます。
ポーズ ランドマークがフレーム内で検出された場合 (つまり、result.pose_landmarks が None でない場合)、ランドマークは mp_drawing.draw_landmarks を使用してフレーム上に描画されます。
注釈付きフレームは cv2.imshow を使用して表示されます。
「Esc」キー (ASCII コード 27) を押すと、ループが中断され、プログラムが終了します。
最後に、cap.release() を使用してビデオ キャプチャを解放し、cv2.destroyAllWindows() ですべてのウィンドウを閉じます。
このコードを実行する前に、OpenCV と MediaPipe がインストールされていることを確認してください。 これらは、pip install opencv-python および pip install mediapipe を使用してインストールできます。 また、カメラが接続され、正しく動作していることを確認してください。
・Webのブラウザにプログラムコードを搭載
・カメラによる動作分析
使用するウェアソフトやブラウザ
・Jupyter Notebook
Jupyter Notebookはインタラクティブなコンピューティング環境で、ユーザーはPythonやR、Juliaなどの様々なプログラミング言語を用いてコードを書き、その結果をリアルタイムで確認することができます。Jupyter Notebookは特にデータ解析、機械学習、統計的モデリング、データ可視化などの領域で広く使われています。Notebook形式では、マークダウンを使った説明文とコード、そしてコードの実行結果(テキスト、表、グラフなど)を一つのドキュメントで一緒に表示できます。これは特にデータサイエンスのプロジェクトなどで、解析の過程を文書化し共有するのに役立ちます。
・Conda
Condaは、異なるバージョンのPythonパッケージや依存関係を管理し、複数の環境を作成してそれらを切り替えることができます。
Condaを使用すると、パッケージのインストール、アップデート、削除が簡単に行えます。また、異なるバージョンのパッケージを同時に管理することも可能です。これにより、異なるプロジェクトで必要なパッケージのバージョンを独立して管理することができます。
目標や課題
・バージョンによって実行結果が異なる
→処理が早いがターゲットは一人のみ
→ターゲットは複数とれるが処理が遅い
・技術開発の分担
・ポスター作成のイメージを決める
参考資料
MediaPipeで、顔・手・ポーズのリアルタイム検出を行う
GUI操作だけでAnacondaでjupyter-notebookをインストールする手順
Conda
Jupyter Notebook
1 note
·
View note
Text
PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中
Mozillaは、WebブラウザでPythonインタプリタや数値計算ライブラリのNumPyなど、Pythonの標準的なデータサイエンス環境をほぼそのまま実行可能にする「Pyodide」(パイオダイドと発音されているようです)を開発中です。 ... http://j.mp/2XosFAW Publickey
1 note
·
View note
Text
(AI生成文章)
都市の中で、電信柱を武器にした剣道が流行っていた。その名も「電信柱剣道」。電信柱は重くて長くて硬いので、普通の剣とは違う技術が必要だった。電信柱剣道の達人は、電信柱を振り回すだけでなく、電力を利用してパソコンを動かし、戦術を練っていた。
ある日、電信柱剣道の全国大会が開かれた。全国各地から、電信柱剣道の名手が集まってきた。その中には、電信柱を二本持って戦う者などもいた。会場は熱気に包まれていた。
決勝戦に残ったのは、東京代表の山田太郎と大阪代表の鈴木一郎だった。山田は、電信柱を一本持って戦うスタイルで、パソコンで相手の動きを分析して攻撃するタイプだった。鈴木は、電信柱を二本持って戦うスタイルで、パワーとスピードで圧倒するタイプだった。
試合が始まると、鈴木はすぐに山田に迫ってきた。山田はパソコンで鈴木の動きを予測して、電信柱で防御した。しかし、鈴木の攻撃は激しくて、山田は次第に押されていった。
山田はなんとか耐えながら、パソコンで鈴木の弱点を探した。すると、パソコンが表示した。「鈴木の左足に隙あり」。山田はチャンスと見て、電信柱で鈴木の左足を狙った。鈴木は反応が遅れて、左足に電信柱が当たった。鈴木はバランスを崩して倒れた。
山田はすかさず電信柱で鈴木の胸に一撃を加えた。「一本!」審判が宣言した。山田が勝利したのだった。
山田は喜びながら、パソコンに感謝した。「ありがとう、パソコン。君のおかげだよ」
パソコンは画面に笑顔マークを表示した。「どういたしまして」
山田は電信柱剣道の全国大会で優勝した。その後、山田はパソコンとともに、電信柱剣道の普及に努めた。山田はパソコンのソフトウェアを開発して、電信柱剣道の指導や分析を行った。パソコンのソフトウェアは、以下のようなプログラム技術情報を持っていた。
電信柱剣道のルールや技術をデータベース化して、検索や学習ができるようにした。
電信柱剣道の試合や練習の映像を解析して、相手の動きや弱点を予測するアルゴリズムを作った。
電信柱剣道のシミュレーションを行って、最適な戦術や攻防を提示するシステムを作った。
電信柱剣道のコミュニティを作って、電信柱剣道の情報や意見を交換できるようにした。
電信柱剣道の楽しさや魅力を伝えるために、電信柱剣道の物語やゲームを作った。
山田とパソコンのおかげで、電信柱剣道はますます人気になっていった。電信柱剣道は、都市の中で生まれた新しいスポーツとして、世界に広がっていった。そして、山田とパソコンは、電信柱剣道の歴史に名を残すことになった。
山田はパソコンのソフトウェアを開発するために、様々なプログラム言語やライブラリを使った。山田は以下のような開発手法を採用した。
データベース化や検索機能のために、SQLやNoSQLなどのデータベース言語を使った。
映像解析や予測アルゴリズムのために、PythonやRなどのデータサイエンス言語を使った。また、OpenCVやTensorFlowなどの画像処理や機械学習のライブラリを使った。
シミュレーションや提示システムのために、C++やJavaなどのオブジェクト指向言語を使った。また、OpenGLやUnityなどのグラフィックスやゲームエンジンのライブラリを使った。
コミュニティや情報交換のために、HTMLやCSSなどのウェブ言語を使った。また、WordPressやDrupalなどのコンテンツ管理システムのライブラリを使った。
物語やゲームの作成のために、RubyやJavaScriptなどのスクリプト言語を使った。また、GPT-3やOpenAI Codexなどの自然言語処理や生成モデルのライブラリを使った。
山田はこれらのプログラム言語やライブラリを組み合わせて、パソコンのソフトウェアを作り上げていった。山田はパソコンとともに、電信柱剣道のソフトウェア開発に情熱を注いでいった。
0 notes
Text
本書はデータサイエンスに取り組む上で欠かせない 「前処理スキル」の効率的な処理方法を網羅的に習得できる構成となっています。 ほとんどの問題についてR、Python、SQLを用いた実装方法を紹介しますので、 複数のプロジェクトに関わるようなデータサイエンスの現場で重宝するでしょう。
0 notes
Text
Pythonを習得すべき理由と、活かし方について解説!ビジネスやテクノロジーで役立つPythonの知識とは?
Pythonは、現代のビジネスやテクノロジーにおいて最も人気のあるプログラミング言語の一つであり、データサイエンス、機械学習、Web開発、ゲーム開発、自動化などの分野で広く使用されています。ここでは、Pythonを習得する理由と活かし方について詳しく説明します。 【Pythonを習得する理由】 1.Pythonの人気Pythonは、世界中で最も人気のあるプログラミング言語の一つであり、その理由はデータサイエンス、機械学習、Web開発、ゲーム開発、自動化などの分野で使われることが多いためです。Pythonの人気が高まっている現在、Pythonを習得することは、市場価値を高めるためにも非常に重要です。2.Pythonの学習曲線が緩やかであることPythonは、初心者にとっても学びやすい言語の一つです。Pythonの構文はシンプルであり、初心者でも簡単に始めることができます。また、Pyth…

View On WordPress
0 notes
Text
AIを理解する、構築する、活用する
人工知能に興味がありますか?機械学習の実用的なアドバイスが必要ですか?この電子書籍ライブラリを手に入れれば、今最も話題のテクノロジーについてより深く理解することができます! データサイエンス、ニューラルネットワーク、コンピュータビジョン、AI倫理の領域を探求し、PythonやSparkなどのツールを使って機械学習の力を自分のアプリケーションに活用する方法を見つけることができます。さらに、この本を購入すると、Prevent Cancer Foundationの支援につながります。
0 notes
Text
2023年6月27日に発売予定の翻訳書
6月27日(火)には15冊の翻訳書が発売予定です。 カバー画像の登録がない書名が多いですね……。
時間への王手

マルセル・ティリー/著 岩本和子/訳
松籟社
あさごはんで世界いっしゅう
アリス・B・マッギンティ/著 スズキトモコ/イラスト 星野由美/翻訳
汐文社
おまつりとごちそうで世界いっしゅう
アリス・B・マッギンティ/著 スズキトモコ/イラスト 星野由美/翻訳
汐文社
五つの箱の死

カーター・ディクスン/著 白須清美/翻訳 山口雅也/監修・企画
国書刊行会
暗い庭
ラモン・デル・バリェ=インクラン/著 花方寿行/翻訳
国書刊行会
図解 中国の伝統建築

李乾朗/著 恩田重直/監修・翻訳 田村広子/監修・翻訳
マール社
鏡のなかの自己
カーチャ・グウェンザー/著 飯嶋貴子/翻訳
青土社
ティム アヴィーチー・オフィシャルバイオグラフィ
モン���・ムーセソン/著 よこのなな/翻訳
青土社
南極のアデリーペンギン
ジョージ・マレー・レビック/著 夏目大/翻訳 上田一生/解説
青土社
Pythonではじめるバイオインフォマティクス
Ken Youens-Clark/著 異業種データサイエンス研究会/翻訳
オライリー・ジャパン
建築とエネルギーの人類史

バーナバス・カルダー/著 岩崎晋也/翻訳
東京堂出版
貧困と平和についての農民への手紙(仮)

ジャン・ジオノ/著 山本省/翻訳
彩流社
教育の効果:フィードバック編
John Hattie/著 Shirley Clarke/著 原田信之/監修・翻訳 宇都宮明子/翻訳 ほか
法律文化社
トランペット
ウォルター・デ・ラ・メア/著 エドワード・ゴーリー/イラスト 和爾桃子/翻訳
白水社
きみは何でもできる

ポピー・オニール/著 山崎正浩/翻訳
創元社
0 notes