Pythonを活かせる仕事(991件)

Python
の案件月額単価相場

[案件数]

平均単価:
820,900

最高単価:
1,600,000

最低単価:
300,000

  • 1,100,000 /月額
  • 東京都
  • 作業内容
    大手小売チェーンが展開する「ECサイト」および「実店舗」の膨大な購買・在庫・販促データを掛け合わせ、商品の売れ行きを予測する「需要予測」と、利益・売上を最大化する「動的価格設定(ダイナミックプライシング)」の機械学習モデルの構築・改善を担っていただきます。PoC(概念実証)のアルゴリズム選定から、本番実装を見据えたパイプライン設計、ビジネス側への効果説明までを主導するハイレイヤーなポジションです。 ■ 機械学習モデルの設計・開発(需要予測・価格最適化) - LightGBM、XGBoost、またはディープラーニング(時系列解析等)を用いた、高精度な需要予測モデルの設計、実装、および精度評価の検証 - 予測結果をインプットとし、在庫状況や競合価格、販促計画に応じた「最適な値引き率」や「価格設定ロジック」のモデリングとシミュレーションの実行 ■ データ前処理および特徴量エンジニアリング - Pythonを駆使した、数千万〜数億件規模の大規模な購買履歴、商品マスタ、ドメイン特有の販促データ等のデータ前処理(データクレンジング) - モデルの予測精度を左右する特徴量エンジニアリングの設計と、各種パラメータの高度なチューニング ■ MLOps(基盤連携)およびビジネスサイド向け報告 - GCP(BigQuery/Vertex AI想定)やAWS上の本番環境への機械学習モデル組み込みを見据えた、MLパイプラインの設計・連携支援 - 分析結果やモデルの精度、ビジネスに与えるインパクト(ROI)を、非エンジニアである事業サイドの経営層・ステークホルダー向けに分かりやすく構造化した報告資料の作成およびプレゼンテーションの実施
  • 必須スキル
    - Pythonを用いた、実務における機械学習モデル(回帰分析、分類、時系列予測など)の設計、開発、および運用経験(3年以上) - SQLを用いた、大規模データ(数千万件〜数億件規模)に対するインデックスやクエリパフォーマンスを意識した高速な抽出・加工実務経験 - 需要予測、価格最適化、動的プライシング、または高度なレコメンデーションアルゴリズムなど、小売・流通・EC領域におけるデータサイエンスの実務経験 - 複雑な数理モデルのロジックや統計的な分析結果を、専門用語を噛み砕いて非エンジニア(ビジネス層)へロジカルに説明・提案できる高いコミュニケーション能力
  • 尚可スキル
    - GCP(Vertex AI, BigQuery)またはAWS環境において、モデルの学習からデプロイ、監視までを自動化する機械学習パイプライン(MLOps)の構築・運用経験 - **因果推論(Causal Inference)**等の統計的手法を用いた、価格変更や販促施策が売上・顧客行動に与えた「純粋な効果検証」の実務経験 - データサイエンスチームにおける、テックリードとしての技術牽引、またはマネジメント・PMO的なプロジェクト推進経験
  • 募集人数
    2人
  • 面談回数
    1回

Pythonとは?

Pythonの案件・業界分布について

近年のAI(人工知能)ブームなど、データサイエンス分野で注目を集めるプログラミング言語・

Python。シンプルで習得が容易なことを目指し、言語機能は最小限、不足分は拡張ライブラリで補う方針で開発されました。


人工知能に加え、拡張ライブラリの中でも統計や解析分野が充実し、ビッグデータの中から価値のある情報を見つけ出すデータ解析や分析ツール、車の自動運転や家屋内のエネルギー消費の最適化などIoT(アイオーティー)分野での利用が盛んに行われています。

Webアプリ開発にも力を入れており、YouTubeやインスタグラム、Dropboxなどの開発言語としても知られています。


Pythonは、「Python2」と「Python3」の2つのバージョンがありますが、「Python3」のほうが新バージョンで、新しい開発は「Python3」で行われていることが多いようです。


数式、統計処理の拡張ライブラリが充実しているPythonは、機械学習、ディープラーニング、科学技術計算などデータサイエンス業界で必要とされています。自動車や住宅、建築、服飾などの設計や製図を支援するシステムであるCAD、3Dでデータを作成する3Dモデリング、WEBアプリケーション開発にも使われ、幅広い分野での活躍が期待できるでしょう。


Pythonのサンプルコード

⚫️PDFページへ画像を挿入する


import fitz                         # <-- PyMuPDF

doc = fitz.open("some.pdf")         # open the PDF

rect = fitz.Rect(0, 0, 100, 100)    # where to put image: use upper left corner


for page in doc:

   page.insertImage(rect, filename = "some.image")


doc.saveIncr()                      # do an incremental save



⚫️PDFページにテキストボックスを挿入する


import fitz                          # import PyMuPDF

doc = fitz.open("some.pdf")          # or new: fitz.open(), followed by insertPage()

page = doc[n]                        # choose some page

rect = fitz.Rect(50, 100, 300, 400)  # rectangle (left, top, right, bottom) in pixels


text = """This text will only appear in the rectangle. Depending on width, new lines are generated as required.\n<- This forced line break will also appear.\tNow a very long word: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.\nIt will be broken into pieces."""


rc = page.insertTextbox(rect, text, fontsize = 12, # choose fontsize (float)

                  fontname = "Times-Roman",      # a PDF standard font

                  fontfile = None,               # could be a file on your system

                  align = 0)                     # 0 = left, 1 = center, 2 = right


print("unused rectangle height: %g" % rc)         # just demo (should display "44.2")


doc.saveIncr()  # update file. Save to new instead by doc.save("new.pdf",...)



⚫️数行でPDFにカレンダーを作成する


mport fitz

import calendar

import sys

assert len(sys.argv) == 2, "need start year as the one and only parameter"


startyear = sys.argv[1]

assert startyear.isdigit(), "year must be positive numeric"

startyear = int(startyear)

assert startyear > 0, "year must be positive numeric"

   

doc = fitz.open()

cal = calendar.LocaleTextCalendar(locale = "de")  # choose your locale

w, h = fitz.PaperSize("a4-l")                     # get sizes for A4 landscape paper


txt = cal.formatyear(startyear, m = 4)

doc.insertPage(-1, txt, fontsize = 12, fontname = "Courier", width = w, height = h)


txt = cal.formatyear(startyear + 1, m = 4)

doc.insertPage(-1, txt, fontsize = 12, fontname = "Courier", width = w, height = h)


txt = cal.formatyear(startyear + 2, m = 4)

doc.insertPage(-1, txt, fontsize = 12, fontname = "Courier", width = w, height = h)


doc.save("Kalender.pdf", garbage = 4, deflate = True)


Pythonのフレームワーク

Python は、Webアプリケーション開発のためのフレームワークがあります。Pythonの代表的な

フレームワークとして知られているのは、大規模向けの「Django」。「Django」は、迅速な開発で実用的なデザインを促進するフレームワークです。データベースやセキュリティ、ユーザーインターフェースの機能をひとつのアプリケーションでまかなうフルスタックで、高い柔軟性とパフォーマンスが特徴。


小規模から中規模向けのフレームワークとしては、「Bottle」、「Flask」が良く知られています。

「Bottle」は、マイクロWEBフレームワーク。学習量が少なくすみ、「今すぐ何かを作りたい」という開発者にとっては格好のフレームワークといえます。


「Flask」は、マイクロWEBフレームワークの中でも軽量のフレームワークです。コミュニティが提供する多くの拡張機能があり、新しい機能をシンプルに追加できるのが特長です。


Pythonについて

Pythonは、スクリプト言語、すなわちアプリケーションソフトウェアが動作する内容を、台本のように記述し制御するための、比較的簡単なプログラミング言語の一つです。 3次元コンピュータグラフィックスソフトウェアの一つであるBlenderの機能の拡張や、自動処理するのに使われ、他にもPythonスクリプトを組み込んだ3DCGソフトやPythonで作成されたアプリケーションなどがあります。 WebプログラミングやCAD、3Dモデリング、さらにGUIベースのアプリケーション、数式処理など幅広い分野に適応することから、マイクロソフトやアップルなど欧米の企業でよく使われ、Yahoo!、YouTube などの企業も利用しています。 とてもパワフルな動的かつ高速なプログラミング言語であり、言語も、様々な問題ドメインを実用的に扱えるくらい柔軟なのが特徴となっています。 しかも初心者にも優しいシンプルさで、可読性に優れ、コンパイルを必要とせず、対話型シェルでテストが可能という特徴もあり、今後的に日本でもさらに広まるものと見られています。 PythonのライセンスはPythonソフトウェア財団が管理し、オープンソースライセンスとして提供されているので実相は自由に使用、配布ができます。

続きを見る