LoginSignup
1038
1389

More than 1 year has passed since last update.

【保存版・初心者向け】Python 目的別チュートリアル

Last updated at Posted at 2018-11-12

スクリーンショット 2018-11-09 14.34.46.png

はじめに

AI Academyを開発・運営しています、株式会社エーアイアカデミー代表の谷です。

近年機械学習等で人気のPythonですが、Pythonで出来ることは機械学習以外にも多くあります。
そこで、初学者の方は機械学習以外でPythonで何が出来るのか?また、何から手をつけて行けば目的を達成できるのか?など疑問を持つかと思います。
この記事が多くの方々のお役に立てれば幸いです。

AI Academy Bootcamp

6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください!
bootcamp_ad_72ppi.png
https://aiacademy.jp/bootcamp

この記事の対象者

・Pythonで何ができるのか知りたい方
・Pythonを使って自身のしたいことを最短ルートで実現したい方

対象ではない方

・普段仕事でPythonを使われている方
・Pythonに興味のない方

なぜPythonなのか

なぜ複数あるプログラミング言語の中で、Pythonをお勧めしているかと言いますと、2つ挙げられます。

まず、PythonはC言語などの他のプログラミングに比べ、比較的容易に習得しやすく、多くのことができること。

次に、機械学習のライブラリの充実に加え、様々なライブラリが豊富です。
Web開発もできますし、Webスクレイピング、データ分析などなどです。

Pythonでできること

Pythonでできることは、次のようなことが出来ます。

1. Webスクレイピング
2. 機械学習・ディープラーニング・最適化
3. テキストマイニング
4. データ分析
5. 画像認識・画像処理
6. 業務効率化プログラム
7. Webアプリケーション開発 
8. ネットワーク・サイバーセキュリティプログラミング
9. ゲーム開発
10. Androidアプリ開発
11. デスクトップアプリ制作
12. データベース操作
13. 並列化
14. インフラ構築自動化
15. グラフィックス
16. 非同期処理

『11. デスクトップアプリ制作』以降は他のプログラミング言語でもできる事が多いですが、それらを除いてもPython言語1つで、非常に多くのことができることがわかるかと思います。この記事では主に1~10までに関して記述していきます。

Pythonが学べるサイトは?

全くのプログラミング初心者は、Progate(プロゲート)をお勧めします。

既に、Pythonの基本文法が既知であり、Pythonで多くの事を実現できるようになりたい方は次の動画の購入を強くお勧めいたします。

Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする

最初に挙げた多くのことが網羅されており、大変わかりやすく非常にお勧めです。

また手前味噌ですが、AI Academyも合わせてご利用頂けますと幸いです。

↓以前、学生限定でAI Academyを利用可能の際に、記事を書いて頂きました!
Progateが終わったら次はこれ!「AI Academy」でさらにPythonを学ぶ

他のプログラミング学習サービスとの違いは、受講者の目的に応じてカリキュラムを最適化している点です。

どのようにPythonを学べば良いか?

先ほど紹介したProgateに加え、AI Academyで、自身の目的にあったコースを選んで頂き進めて頂けたらと思います。
そして、より詳細に学んでいきたい方はこれから紹介する項目からやりたい内容を選び参考にして頂けたらと思います。
それではPythonでできることを1つ1つ詳細に見ていきましょう。

Webスクレイピング

Webスクレイピングとは、Web上からデータを取得することができる技術です。

・毎日発信されるAIに関するニュースをスクレピング
・会員制ECサイトに自動的にログインして、そのサイトでの直近の購入履歴を取得する

これらのことは、Webスクレイピングで実現できます。
PythonでWebスクレイピングするには、seleniumbeautifulSoupといったライブラリを利用します。

AI Academy Webスクレイピング

・オススメ書籍
Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-

51IiWeYB-7L._SX399_BO1,204,203,200_.jpg
http://amzn.asia/d/6dB1o9K

機械学習

scikit-learnやTensorFlowなどを扱うことで機械学習の主要なアルゴリズムを扱うことが出来ます。
機械学習における必須のライブラリは、NumPy,Pandas,Matplotlib/seaborn/scikit-learnなどがあります。
他にも画像領域ですと、keras,OpenCV,Pillow、テキスト領域ですと、mecabやGensimなども使えるようになると良いです。

AI Academyでは、下記リンクから機械学習のアルゴリズムをscikit-learnを使って、手を動かしながら学ぶことができます。
AI Academy機械学習

勉強方法など詳しくは下記記事をご参考ください。

【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法

スクリーンショット 2020-03-13 16.56.02.png

テキストマイニング

テキストマイニングとは文字列を対象にしたデータマイニングのことで、文章などの大量のテキストデータから言語解析や統計解析などを活用し、『意味のある情報』を取り出すことでテキストデータの分析手法です。

Pythonのライブラリでは、mecabgensimなどを使うと実現できます。

SNSの投稿(Twitterのツイートなど)を分析したり、アンケートの分析が可能です。

データ分析

Pythonでデータ分析をしたい場合は、Pandasというライブラリを使います。
また、matplotlibやseabornというライブラリも合わせて使えるとグラフを描画することもできます。

・オススメ書籍
Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理
download.jpg
http://amzn.asia/d/3jlYXKd

画像認識・画像処理

画像認識では、ディープラーニングが扱えるライブラリ(kerasやTensorFlowなど)を使って写真に写っている画像が何かを検出することができます。
AI Academy 画像認識

画像処理をしたい場合は、OpenCVやPillowなどの画像処理ライブラリを使うと実現できます。

業務効率化プログラム

Pythonを使うと、先ほどのスクレイピングを使って、データを自動で収集したり、Excel処理ができたり、たくさんのフォルダを一瞬で作成したり、Twitterのユーザーを自動でフォローしたり、1000人に一括メールを送ったりなど様々なことが出来ます。

これらの内容の一部は、下記書籍で学ぶことが出来ます。

・オススメ書籍
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
51hk+5bKNrL._SX352_BO1,204,203,200_.jpg

チャトボットで問い合わせ自動化したい場合は、次の動画を購入するのを強くオススメ致します。

挨拶から店舗予約まで!手を動かして学ぶAIチャットボット開発入門

ビジネスパーソンのためのPython活用術

Webアプリケーション開発

Pythonでは、FlaskやDjangoといったライブラリを使うことで、Webアプリケーション開発ができます。

具体的には次のようなことが出来ます。

Djangoを使ったTwitterクローン作成
FlaskとMySQLでToDoアプリを実装しよう
機械学習で花を判定するWebアプリケーションを作ろう!

これら全ては、AI Academy Web開発を元に進めると作ることが出来るようになります。

・オススメ書籍
現場で使える Django の教科書《基礎編》
41vG221V8dL._SX352_BO1,204,203,200_.jpg

Androidアプリ開発

Pythonでは、QPythonKivyを用いることでAndroidのアプリケーションを開発することが可能です。

ですが、本格的なAndroidアプリ開発をされる場合は、JavaKotlinを使う方が、ネット上に情報量多かったり、多くのAndroidアプリはJavaで開発されているのでPythonではない方が良かったりします。

ゲーム開発

Pythonでゲームを作るライブラリはPygameKivyTkinterなどあります。

・オススメ書籍
ゲームを作りながら楽しく学べるPythonプログラミング
51vd-anoLyL._SX351_BO1,204,203,200_.jpg
http://amzn.asia/d/gni454S

ネットワーク・サイバーセキュリティプログラミング

Scapyを使う事で、パケット生成や送受信が可能です。
(セキュリティ脆弱性診断に特化したKali Linux(カーリーリナックス)にはデフォルトでインストールされていたりします。)

urrlibなどを使う事でGETリクエストなどが可能です。

・オススメ書籍
サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考
518ZyCCEKGL._SX350_BO1,204,203,200_.jpg

その他(人工生命)

ALife(人工生命)」は、「AI(人工知能)」の発展系として、近年改めて注目されつつある分野ですがこの分野の内容は次の書籍などが丁寧です。

・オススメ書籍
作って動かすALife ―実装を通した人工生命モデル理論入門
516dQmDuT3L._SX350_BO1,204,203,200_.jpg

学習ロードマップ

次の図で、自身がどれに適しているか確認してみてください。

スクリーンショット 2018-11-09 14.34.46.png

右向き矢印の名称は各ライブラリ名になります。
ライブラリはpipなどのコマンドを使うことでインストールができます。

まとめ

この記事ではこれからPythonを学びたい初学者に向けて、
・Pythonをこれから勉強しようと考えているが、何から手をつければ良いのか?
・何から学ぶと自分の目的を達成できるのだろう?
などの悩みを解消できればと思い執筆しました。

Pythonでは多くの事ができるプログラミング言語だという事がお分かり頂けたかと思います。是非Pythonを学んで、読まれている方々の目的が最短で実現できれば幸いです。

その他記事

①【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法

スクリーンショット 2020-03-13 16.56.02.png

②ビジネスパーソンのためのPython活用術

AI Academy Bootcamp

6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください!
bootcamp_ad_72ppi.png
https://aiacademy.jp/bootcamp

この記事を書いた人

37741205_1003841679788059_2705403151040643072_n.jpg

株式会社エーアイアカデミー
代表取締役CEO 谷 一徳

フォローお待ちしております!
Twitter
Facebook

11,000名以上が参加しいてるAIコミュニティも運営しております。
毎日AIに関する情報を提供しておりますので、こちらのご参加もお待ちしております!
人工知能研究コミュニティ

1038
1389
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1038
1389