最近、Pythonを使う方が増えています。
- なぜ、増えてるの?
- Pythonで、できることってなにがあるの?
といった疑問を持つ方も多いのではないでしょうか。 Pythonを使うメリットは
- 初心者の方でも学びやすい
- 高機能を低コストで実現しやすい
といった点が挙げられます。 Pythonでは、すでに出来上がっている、 ひな型や部品(フレームワーク・ライブラリ・ツールなど)を使うことで、 実現したい機能を、素早く、ラクに実装することが可能です。
- 人工知能や機械学習、データ分析などの需要も増えています。
これらは本来、高度な数学やアルゴリズムの知識が必要ですが、 Pythonのフレームワークやライブラリを使いこなすことで、 サクッと実装することが可能です。 Pythonのフレームワーク・ライブラリ・ツールには、どんなものがあるの?って方は、こちらの記事もございます 『Python のフレームワーク・ライブラリ・ツール・開発環境などを活用し、Pythonで業務効率化をしたいあなたはこちらをどうぞ』
- Pythonをビジネスで活かすところが増えています。
理由は、Pythonを使うと、素早く・ラクに・短期間で、望む機能が実現できるからです。 その結果、Pythonエンジニアの年収は上がる傾向になっており、 Pythonを勉強して転職しよう、と考える方も増えています。 でも、実際のところ、Pythonでできることってどんなこと? と思われる方も多いかと思います。 そこで本記事では、Pythonでできることって何?について、
- チャットボット・テキストマイニング
- ゲーム開発・Webアプリ
- 人工知能・機械学習・ディープラーニング
- データ分析・統計解析・数学
- 画像処理・画像認識・音声認識
- スクレイピング
といった、ビジネス応用に近い方向から、まとめてみました。
本記事の概要
Python でできることってなに?チャットボットやテキストマイニング、人工知能やスクレイピングなどPythonの使い方をまとめました
Pythonで「チャットボット」を作りたい
チャットボットとは、会話するプログラム、のことです。
- コールセンターでの対応
- 宅配ピザの受注
- 会社受付
など、ビジネスでの応用も始まっています。 家庭用でも、アレクサ(Amazon Echo)や Google Homeなどの音声アシスタントが発売され、 会話を処理するという、チャットボットの機能が活用されています。
これらは会話を自然にするために、人工知能を使った改良が加えられています。 チャットボットは、会話のデータが多くなるほど自然な会話になりやすく、 これからさらに需要が拡大していくと考えられます。 チャットボットでできることなどは、以下をどうぞ。おもしろまじめなチャットボットをつくろう
おもしろまじめなAIスピーカーアプリをつくろう -Google Home(アシスタント)&Amazon Echo(Alexa)音声アシスタント開発
チャットボット AIとロボットの進化が変革する未来
Designing Bots: Creating Conversational Experiences
Designing Voice User Interfaces: Principles of Conversational Experiences
Hands-On Chatbots and Conversational UI Development: Build chatbots and voice user interfaces with Chatfuel, Dialogflow, Microsoft Bot Framework, Twilio, and Alexa Skills (English Edition)
Pythonで「テキストマイニング」をしたい
テキストマイニングとは、テキストデータの中から、規則性やパターンを見つけ出すことをいいます。 大量の文書では、テキストマイニングを使うことで、人力では見つけるのが難しいパターンを抽出することができます。 例えば、
- 大量のアンケート調査を行って、クレーム内容のテキストマイニングをすれば、 顧客が考える自社の改善点などをあぶり出し、経営戦略の参考にすることができます。
- 自社の新商品が消費者にどのように受け入れられているかを知るには、 口コミの文書をテキストマイニングすることで、良い点や改良が必要な点が明らかにすることができます。
- 特許文書のテキストマイニングをすれば、興味ある分野の情報について、 自分好みに、よりカスタマイズされた内容としてまとめることもできます。
このように、テキストマイニングは、ビジネスに直結しており、 テキストマイニングを活かせることは、競争優位の源泉になることがわかっていただけるかと思います。 その結果、Pythonを使う職場への転職や、Pythonを活用する求人が増えています。 テキストマイニングを学びたいあなたはこちらをどうぞ
仕事に使えるクチコミ分析テキストマイニングと統計学をマーケティングに活用する
ビッグデータを活かす 技術戦略としてのテキストマイニング
特許情報のテキストマイニング―技術経営のパラダイム転換
Pythonによるテキストマイニング入門
入門 自然言語処理
機械学習・深層学習による自然言語処理入門 ~scikit-learnとTensorFlowを使った実践プログラミング~ (Compass Data Science)
Pythonで「ゲーム開発」をやりたい
プログラミングって堅苦しいイメージで、長続きしないなぁ〜 という方も多いかと思います。 ゲームが好きのあなたは、ゲーム開発を体験しながらプログラミングの勉強をすることもできます。 楽しみながら学べるので、集中力も続き、いつも以上に学ぶ効率が上がるのではないでしょうか。 Pythonでプログラミングを学んだら、他のプログラミング言語である、C言語やC++を学ぶハードルも下がります。 C言語やC++を使えると、ゲーム開発の会社に就職・転職もしやすくなってきます。 そして、大手ゲーム会社では、年収も高いことが知られていますし、 何より、自分が携わったゲームを、多くの人に楽しんでもらえるのはうれしいですよね Pythonでゲーム開発しながらプログラミングを学ぶにはこちらがおすすめです
ゲームを作りながら楽しく学べるPythonプログラミング (Future Coders(NextPublishing))
Pythonゲームプログラミング 知っておきたい数学と物理の基本 (Future Coders(NextPublishing))
こちらもございますゲームAIと深層学習: ニューロ進化と人間性
Unreal Engine 4で極めるゲーム開発:サンプルデータと動画で学ぶUE4ゲーム制作プロジェクト
ゲームプログラマになる前に覚えておきたい技術
Unityではじめる機械学習・強化学習 Unity ML-Agents実践ゲームプログラミング
Pythonで「人工知能」を作りたい
人工知能の技術は、ディープラーニングの革新的な進歩によって、非常に注目されています。 とはいっても、ディープラーニングをゼロから学ぶと大変ですので、 まずは手を動かしながらも、ラクに全体像を理解するのもおすすめです。
- マウスをぽちぽちしながら、人工知能を体験してみたい
- Pythonが初めて、コードを書くのも初めて、数学が苦手だけど、人工知能開発をしたい
- ITエンジニアなんだけど、ディープラーニングの方法と実装を効率的に学びたい
といったあなたはこれらをどうぞ
- マウスでぽちぽち体験できます
パソコンで楽しむ自分で動かす人工知能
- 基礎の基礎が学べます
はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning)
初めてのTensorFlow 数式なしのディープラーニング
- 応用例の1つです。金融データの分析例が学べます
ディープラーニング入門 ―Pythonではじめる金融データ解析― (FinTech ライブラリー)
Pythonで「データ分析」したい
Pythonでは、データ分析を効率的に行うことができます。 しかし慣れるまでは、直感的にデータを扱いにくく、エクセルの方がやりやすい、という方もおられるかと思います。 Pythonでのデータ分析のメリットは、エクセルでは難しいような高度な手法も、サクッと使うことができる点です。 また、分析・レポート作成を自動化して、メールに転送すれば、人件費のかからない分析担当者を雇うこともできます。 もちろん、データ分析をしっかり学ぶことで、データサイエンティストの求人への応募することも可能です。 というわけで、Pythonでのデータ分析のやり方、レシピ、データ分析をラクにするライブラリなどを学びたいあたなは、これらをどうぞ
Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理
Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
IPythonデータサイエンスクックブック 第2版 ―対話型コンピューティングと可視化のためのレシピ集
あたらしいPythonによるデータ分析の教科書
Pythonで「機械学習」を学びたい
機械学習は、データから特徴やパターンを見つけ、データが増えるたびにパターンの精度を高めていく(学習)テクニックです。 機械学習は人工知能の中の1分野ですが、さまざまなアルゴリズムがあり、 それらは、ディープラーニングほど計算機資源を使わずに、サクッと活用できます。 目的に応じてアルゴリズムを選ぶことで、目標の達成とコスト削減を両立させることができます。 機械学習とディープラーニングって、どう違うの?って方は、こちらもございます 『「機械学習」と「ディープラーニング(深層学習)」の違いとは?』 機械学習については、こちらがおすすめです
Pythonで動かして学ぶ! あたらしい機械学習の教科書
Pythonによる機械学習入門
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
第2版Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)
scikit-learnとTensorFlowによる実践機械学習
機械学習 100+ページ エッセンス impress top gearシリーズ
カラー図解 Raspberry Piではじめる機械学習 基礎からディープラーニングまで (ブルーバックス)
Raspberry Pi 4 8GB(技適マーク入)MicroSDHCカード128G/Raspbianシステムプリインストール/カードリーダ /5.1V/3A Type-C スイッチ付電源/MicroHDMI-to-HDMIケーブルライン/三つヒートシンク/簡単に取り付けケース/日本語取扱説明書/12ヶ月保証
Pythonで「Webアプリ」を開発したい
Pythonでは、Webアプリを開発することもできます。 Django や Flask などのフレームワークを活用することで、効率的に開発することが可能です。 試してみるだけなら、以下のように(10分とか2日とかでも)サクッと実行できます。 とりあえずやってみると、どんなものかが体感でき、 その応用も想像しやすくなるかと思います。
はじめてのDjango2.0入門: PythonフレームワークDjango2.0とPaizaCloudを使って10分でWebサービスを作る
~短期集中講座~ 土日でわかるPythonプログラミング教室 環境づくりからWebアプリが動くまでの2日間コース
みんなのPython 第4版
Pythonの文法は覚えたけど「じゃあこれで何ができるんだ?」と思っている人のための本
本格的に使いたいなってなったら、こちらの2冊を参考にされると良いかと思いますPythonでWebサービスを作る – Python3 + Flaskで作る本格的Webアプリケーション開発入門
Pythonプロフェッショナルプログラミング 第3版
Pythonで「統計解析」をしたい
統計解析は、データの中から、科学的に確からしい仮説を見つけ出す手法です。 大量のデータがあればあるほど、得られる結果の精度も高まります。 その反面、データを扱う手間は増大します。 そんな時、プログラミングを使うことで、 手間を減らしながら、統計解析を効率的に行うことができます。 Pythonには、統計解析をサクッと行うライブラリなどが充実しており、 統計解析をしたいあなたにもオススメのプログラミング言語となっています。 Pythonでの統計解析は、こちらがおすすめです
Pythonによる統計分析入門
Pythonで学ぶあたらしい統計学の教科書 (AI & TECHNOLOGY)
こちらの記事もございます 『「統計学」に入門したい人はチェックしてほしい良書、10冊はこちらです』 ベイズ統計は、統計ではあるのですが、いわゆる統計解析とは一線を画しています。 ベイズ統計は、得られた結果から原因を探ることができる点で、上と異なります。 柔軟にモデリングできる点も長所の1つかと思います。 柔軟さゆえに、応用範囲も広く、ビジネス活用では、通常の統計解析ではできないことに適用させることができる場合があります。 詳しくはこれらをどうぞ完全独習 ベイズ統計学入門
Pythonで体験するベイズ推論 PyMCによるMCMC入門
Pythonによるベイズ統計モデリング: PyMCでのデータ分析実践ガイド
こちらの記事もございます
Python 「Django」 を使いたい
Djangoは、PythonでWeb開発する時に役立つフレームワークです。 データベースを使うような混みいったWebサイトの構築の手間を下げてくれます。 各部品の再利用をできることなど、短期間での構築を可能にしてくれます。 詳しくはこれらをどうぞ↓
1日で理解するDjango超基礎入門
[amazonjs asin=”B071S25M33″ locale=”JP” title=”1日で理解するDjango超基礎入門”]Python Django 超入門
Djangoビギナーズブック
現場で使える Django の教科書《基礎編》
動かして学ぶ! Python Django開発入門 (NEXT ONE)
Pythonで「画像処理・画像認識」をしたい
画像処理とは、画像を別の画像に変形したり、画像から情報を取り出す、といった画像の処理全般を指しています。 画像処理でよく使うのは、2値化(画像の濃淡を白黒に変換)やエッジ検出(濃度変化を検出して、物体の境界を定める)といったものがあります。 画像認識は画像処理と似た単語ですが、内容は違っています。 画像認識は、パターン認識の一部で、多くの画像情報の中から、規則性やパターンを見出す処理のことを指します。特徴を見つけ出すための処理の1つとして、上の画像処理が使われたりします。 大量の画像からパターンや特徴を抜き出しておくことで、新しい画像が来た時に、それがどのパターンに属するかを判断することができます。 例えば、大量の顔画像に対して画像認識を行っておけば、
- 新しい顔が男性なのか女性なのかを判別したり、年齢が何才くらいなのか、などを自動で判定
することができます。さらに、
- 指紋や虹彩を登録して画像認識しておけば、個人認証として使う
ことができます。 ちなみに、最近の報告(ミック経済研究所の市場動向調査結果)を見ますと、 画像認識の市場規模は、ここ数年で急拡大しています。 2017年 19億円 2018年 39億円(前年比 約2倍) 2021年 551億円(約14倍 対2018年) このように、画像認識は様々なビジネス応用が行われ、 それに伴い、画像認識エンジニアの求人が増えたり、 関連技術を持った方の転職市場の活性化も考えられます。 画像処理、画像認識を学びたいあなたはこちらをどうぞ
Pythonで学ぶ実践画像・音声処理入門
OpenCVとPythonによる機械学習プログラミング
Python 3.6 による 画像処理 第5巻: 画像変形
詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識
コンピュータビジョン ―広がる要素技術と応用― (未来へつなぐ デジタルシリーズ 37)
Interface(インターフェース) 2018年 07 月号
Interface(インターフェース) 2019年 07 月号
Pythonで「ディープラーニング」したい
上の人工知能のところで、ディープラーニングについても触れたのですが、 ここではディープラーニングをプログラミングできるようになりたいあなたにオススメの本をご紹介します。 深層学習をゼロからコーディングするには、高度な専門知識が必要です。 しかしディープラーニングのフレームワークやライブラリを使いこなすことで、 より短期間で開発可能となります。 適切な教科書や参考書を選べば、開発しながら専門知識も、 同時に効率的に学ぶことができます。 詳しくはこれらをどうぞ
- Tensorflow
現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法 (AI & TECHNOLOGY)
TensorFlowではじめるDeepLearning実装入門 (impress top gear)
詳解ディープラーニング 第2版 ~TensorFlow/Keras・PyTorchによる時系列データ処理~ (Compass Booksシリーズ)
- Keras
直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
PythonとKerasによるディープラーニング
- PyTorch
つくりながら学ぶ! 深層強化学習 ~PyTorchによる実践プログラミング~
つくりながら学ぶ! PyTorchによる発展ディープラーニング
PyTorchで始める深層学習 ――数式なしで基礎から実装まで
現場で使える!PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)
PyTorchニューラルネットワーク実装ハンドブック (Pythonライブラリ定番セレクション)
ゼロからコーディングするならこれらがオススメです
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
ゼロから作るDeep Learning ❷ ―自然言語処理編
はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning)
必要な数学だけでわかる ディープラーニングの理論と実装
Python 「Pandas」 を使って、ラクに分析したい
Pandas(パンダス)は、Pythonでデータ分析をラクにしてくれるライブラリです。 表形式のデータを扱いやすくしてくれるので、時系列データなどのデータ分析がやりやすくなります。 財務データを分析するために開発されたのが発端ですので、エクセルやテキストファイルなどとのやりとりもしっかりしてくれます。 エクセルで簡易的な分析をして、より高度な分析や定期的な自動分析を行いたいなどは、Python Pandas を使ってみると良いかと思います。 Python Pandas については、こちらをどうぞ↓
Pythonデータ分析/機械学習のための基本コーディング! pandasライブラリ活用入門 (impress top gear
pandasクックブック ―Pythonによるデータ処理のレシピ―
Pythonデータ分析ライブラリPandas速習入門: python3系(Ver3.6.5対応)
Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
PythonユーザのためのJupyter実践入門
Pandas for Everyone: Python Data Analysis (Addison-Wesley Data & Analytics Series)
Pandas Cookbook
Pythonで「音声認識」をやりたい
音声認識とは、音の情報をコンピュータで扱える情報に変換して、認識する技術の総称です。 画像認識と同じパターン認識の分野の1つです。 応用も進んでいまして、例えば、スマホには音声認識機能が実装されています。 旅先で「近くのコンビニは?」と聞けば、その音声を認識し、それに対応した答えを返してくれます。 つまり、音声認識は、人間とコンピュータのインターフェースとして大きく役立っています。 他にも、
- 音声情報を認識して、テキストデータに変換したりすることもできます。
- また、多数の音の中から、注目した人の音声のみを抽出する話者識別
- ある音源と、別の音源での音声の話者が同一人物かそうでないかの話者照合
といった応用も可能です。 このように、音声認識は、様々なビジネス応用が可能となっています。 音声認識を学びたいあなたはこちらをどうぞ
Pythonで学ぶ音声認識 機械学習実践シリーズ
Pythonで学ぶ音声合成 機械学習実践シリーズ
Pythonで学ぶ音源分離 機械学習実践シリーズ
Pythonで学ぶ実践画像・音声処理入門
イラストで学ぶ 音声認識 (KS情報科学専門書)
音声認識 (機械学習プロフェッショナルシリーズ)
フリーソフトでつくる音声認識システム パターン認識・機械学習の初歩から対話システムまで
Interface(インターフェース) 2018年 04 月号
音声分析合成 (音響テクノロジーシリーズ 22)
Pythonで「数学」を学びたい
ここまでご紹介した技術は、どれも数学を基礎としています。 人工知能、機械学習、統計解析、データ分析など、 きちんと理解しようと思えば、数学の理解が欠かせません。 しかし数学だけを学んでいては、成果物を出すまでの時間がかかってしまいます。そこで、
- 人工知能・機械学習・ディープラーニングを理解しながら数学も学ぶ
- 行列演算の理解に必須の線形代数をプログラミングしながら学ぶ
- プログラミングや問題解決方法を学びながら数学も学ぶ
のように、目的を果たしながら、数学も学ぶのがおすすめです。 そのためにおすすめの本はこちらです
やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~
機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム-
人工知能プログラミングのための数学がわかる本
ディープラーニングがわかる数学入門
最短コースでわかる ディープラーニングの数学
行列プログラマー ―Pythonプログラムで学ぶ線形代数
Pythonからはじめる数学入門
文系プログラマーのためのPythonで学び直す高校数学
問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム的思考
Pythonで「スクレイピング」をしたい
スクレイピングとは、必要な情報を抽出するプログラミングや技術全般のことです。 特に、Webサイトのスクレイピングは、Webスクレイピングといい、近年注目が高まっています。 データ分析や人工知能の技術が普及することで、データの重要性も認識されてきたからです。 スクレイピングができれば、ラクに効率的にデータを集めることができます。 必要な情報を定期的に・自動で収集・抽出することが可能です。 例えば、株価データなどは日々更新されていきますが、Webスクレイピングを使うことで、定期的にデータ収集をし、必要な情報の抽出が可能です。 蓄えたデータは、データ分析・機械学習・人工知能・ディープラーニングなどを使って、より良い投資の参考にすることもできます。 スクレイピングをやってみたいあなたはどうぞ
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
PythonによるWebスクレイピング
増補改訂Pythonによるスクレイピング&機械学習 開発テクニック
Pythonクローリング&スクレイピング増補改訂版 -データ収集・解析のための実践開発ガイド
Pythonによるクローラー&スクレイピング入門 設計・開発から収集データの解析・運用まで
というわけで、本記事では、Pythonでできることについて、サクッとまとめました。 Pythonでできることとして
- チャットボット・テキストマイニング
- ゲーム開発・Webアプリ
- 人工知能・機械学習・ディープラーニング
- データ分析・統計解析・数学
- 画像処理・画像認識・音声認識
- スクレイピング
といった、ビジネス応用に近い方向から、まとめてみました。
こちらもございます↓
Web Designing 2018年10月号
人工知能を作る 2018年 04 月号: Interface(インターフェース) 増刊 (ボード・コンピュータ・シリーズ)
Pythonで始めるOpenCV 4プログラミング
こちらもございます↓
『Pythonを学習し、未経験からバイトや転職に結びつけたいあなたにおすすめの入門書はこちらです』
『Python のフレームワーク・ライブラリ・ツール・開発環境などを活用し、Pythonで業務効率化をしたいあなたはこちらをどうぞ』