継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

【15日目】毎日勉強や

タダです。

やる気の問題で更新が滞ってました。。

日課

Python 文法

  • 辞書型のデータの定義は、hoge = {}

100本ノック

元素記号 "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."という文を単語に分解し,1, 5, 6, 7, 8, 9, 15, 16, 19番目の>単語は先頭の1文字,それ以外の単語は先頭に2文字を取り出し,取り出した文字列から単語の位置(先頭から何番目の単語か)への連想配列(辞書型もしくはマップ型)を作成せよ.

# coding:utf-8
output_num = (0, 4, 5, 6, 7, 8, 14, 15, 18)
words = 'Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can'
result = {}
wordssplits = words.split(' ')

i = 0

for (num, wordssplit) in enumerate(wordssplits, i):
    if num in output_num:
        result[wordssplit[0:1]] = num
    else:
        result[wordssplit[0:2]] = num

print(result)

enumerate関数てのがあるんですな...

note.nkmk.me

Pythonスクレイピング

Pythonの文法を勉強してきたので、実践編としてスクレイピングでも作りたいと思ってやってみました。

やってみたこと

Twitterのタイムラインスクレイピング

必要な要素

  • Requestsライブラリを使ってWebページを取得する
  • requests_oauthlibでTwitterの認証情報をもたせる

実際に書いたコード

import requests
from requests_oauthlib import OAuth1Session

# Twitterの認証情報
access_token = 'アクセストークン
access_token_secret = 'アクセストークンシークレットキー'
consumer_key = 'コンシューマーキー'
cosumer_secret_key = 'コンシューマーシークレットキー'

# タイムラインの取得
url = "https://api.twitter.com/1.1/statuses/user_timeline.json"

# リクエストのパラメーター
params = {'screen_name':'tada_infra',
... 'exclude_replies':True,
... 'include_rts':False,
... 'count':200}


tw = OAuth1Session(consumer_key, cosumer_secret_key, access_token, access_token_secret)
resp = tw.get(url, params = params)
print(resp)
>>> <Response [200]>

今日はAPIにアクセスするための準備までだったので、明日以降にツイートとってきたいと思います。

参考

www.randpy.tokyo

また明日

7/29~8/4 AWSブログ

タダです。

今週のAWSブログアップデートをまとめていきます。

1、TensorFlow コンテナと Amazon SageMaker での「独自のアルゴリズムの導入」を活用する、カスタムラベルの転移学習

  • SageMakerでトレーニングと推論のための独自コードでTensorflowコンテナによる転移学習を行う方法の紹介記事です

2、機械学習の正確性に関する考察

  • 械学習の正確性とバイアスについての考察をまとめたブログです

3、AWS 深層学習 AMI に ONNX が含まれ、深層学習フレームワーク間でのモデルの移植性が向上

4、Amazon CloudFront と AWS Lambda@Edge を用いたプライベートコンテンツの提供

  • カスタムオリジンからプライベートコンテンツを提供するために、Lambda@EdgeとCloudFrontと組み合わせ方の紹介記事です

5、【開催報告】Digital Advertising Japan Seminar 2018 – Machine Learning 事例祭り –

  • 表題のイベント開催レポートです

6、Amazon Elasticsearch Service エラーログの表示

  • Elasticsearch ServiceのエラーログをCloudwatch Logsに出力できるようになりました

7、DDoS に対する AWS のベストプラクティス – ホワイトペーパーが更新されました

  • 表題のホワイトペーパーが更新されたとのアナウンス記事です
  • アップデートされたのは以下のポイントです

    追加された AWS サービス: AWS Shield Advanced、AWS Firewall Manager および AWS Application Load Balancer のような新世代の ELB

    追加された AWS サービスの機能: AWS WAF Managed Rules、AWS WAF Rate Based Rules、新しい世代の Amazon EC2 インスタンスおよび API Gateway のリージョン API エンドポイント

8、Amazon Lex と Amazon Elasticsearch Service を使用してドキュメントサーチボットを構築する

9、AWS Summit Tokyo 2018セッション一般公開お知らせとメディア系セッションのまとめ

  • AWS Summit Tokyo 2018セッションの公開とメディア系セッションをまとめた記事です

以上が今週のアップデートまとめです。

7/23~7/28 AWSブログ

タダです。

今週のブログアップデートをまとめていきます。

1、AWS OpsWorks for Chef Automate におけるクックブックの継続的なテストとデリバリー

  • OpsWorks for Chef AutomateのクックブックをCodeCommit,CodeBuild,CodePipelineを使って継続的テストとデリバリーを実現する方法の紹介記事です

2、Amazon SageMaker が、バッチ変換機能と TensorFlow コンテナ向けのパイプ入力モードを追加

  • SageMakerのアップデートが2つありました
    • ペタバイトのデータを非リアルタイムシナリオで予測を行うことができる、バッチ推論機能
    • TensorFlow コンテナのためのパイプ入力モードのサポート

3、【本日よりお申し込み開始!】AWS Innovate Japan 2018 オンラインカンファレンス

  • オンラインカンファレンス「AWS Innovate Japan 2018」に関する紹介記事です

4、AWS 深層学習 AMI が、最適化された TensorFlow 1.9 および Keras 2 サポートの Apache MXNet 1.2 で、Amazon EC2 インスタンスでの深層学習を高速化

5、AWS クラウドの GPU を使用した、スケーラブルなマルチノードの深層学習トレーニング

6、Amazon SageMaker を使用して画像を分類する

  • SageMakerを使った画像分類のためのMLパイプライン構成方法の紹介記事です

7、Amazon Comprehend が構文解析をサポート

  • ComprehendでSyntax API をサポートするようになりました
    • これにより、テキストを (たとえば、単語の境界を抽出するために) トークン化し、対応する品詞 (PoS) を単語毎にトークン化することができます

8、Piksel RetailによるAWS上のSAP Hybris Commerceのホスティング

  • Piksel RetailでのSAP Hybrisベースのeコマースソリューション紹介記事です

9、[AWS Black Belt Online Seminar] Amazon Elastic File System (Amazon EFS) 資料及び QA 公開

  • 表題のWebnar資料及びQA公開記事です

10、1億2500万人のゲーマーをオンラインでスムーズにプレーするにはどうすればいいでしょうか?Epic GamesがFortniteについて語ってくれました。

  • Fortiniteを開発する、Epic Games社のAWS利用に関する紹介記事です

11、R5、R5d、z1d インスタンスが利用可能になりました

以上です。

【14日目】毎日勉強や

タダです。

日課

Python文法

今日はクラスとメソッドあたりを学びました

  • クラス(設計図)からインスタンス(実際のもの)を作る
    • クラス内に定義するメソッドは、クラスメソッド
    • クラスメソッドを使うときは、インスタンス化してから
    • クラスメソッドはselfを引数にするし、その他自由な引数を持たせることができる
  • initメソッドはクラス名()でインスタンスを生成した直後に呼び出される(インスタンスを生成と同時にインスタンス変数を作れる)

100本ノック

  1. 元素記号

"Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."という文を単語に分解し,1, 5, 6, 7, 8, 9, 15, 16, 19番目の単語は先頭の1文字,それ以外の単語は先頭に2文字を取り出し,取り出した文字列から単語の位置(先頭から何番目の単語か)への連想配列(辞書型もしくはマップ型)を作成せよ.

解ききれなかったので、今日リベンジする

【13日目】毎日勉強や

タダです。

日課

Python文法

今日は以下のことを学びました。

  • 関数:処理をまとめたもの
  • 仮引数:関数の引数
  • 仮引数の初期化:関数の引数でのデフォルト値
  • モジュール:Pythonで書かれたファイルのこと
    • importを使うとモジュールを取り込める
    • 読み込んだモジュールの関数を使いたい場合、「モジュール名.関数名()」
    • 標準ライブラリはあらかじめ準備されたモジュール群(random,datetimeなど)

100本ノック

03.円周率

"Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."という文を単語に分解し,各単語の(アルファベットの)文字数を先頭から出現順に並べたリストを作成せよ.

x = 'Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics'
result = []
xsplits = x.split(' ')

for xsplit in xsplits:
         result.append(len(xsplit) - xsplit.count(',') - xsplit.count('.'))

print(result)

note.nkmk.me

note.nkmk.me

教師あり学習/教師なし学習

機械学習は、教師あり学習教師なし学習に大分できる(細かくは他の分類もある)

教師あり学習とは、入力と出力の教師事例をもとに学習を行い、出力が未知である入力事例に対して正しい出力を予測させることを目的とする 例えるならば、人間が過去問(教師事例としての入力)とその解答(教師事例としての出力)を学習した後、その経験をもとに未知の問題(入力事例)を解くことに似ていると言える 教師あり学習は出力の種類によってさらに大きく2つ問題設定ができる 出力させたい結果が連続的な数字(日経平均や気温)の場合、回帰と呼び、出力させたい結果が離散的な場合(写真二写っているものが何か、明日の株価が上がるかどうか)は分類と呼ぶ

教師なし学習とは、入力としてラベルの付いていないデータを用いて学習を行う その為教師あり学習と異なり目的とする出力はない では何を出力したいかというと、ラベルの付いていないデータ内の隠れたパターンや隠れたデータの構造性に対する推論が期待する出力になり、その過程を学習とする

代表的な問題設定として、それぞれのデータを似た者同士でグルーピングするクラスタリングや元の情報量を損なわせずに学習させるパラメータの数を減らす次元削減がある 次元削減には以下の役割や特徴がある

  • 多くの情報を持ったパターンから,認識に本質的な情報を抽出すること
  • パターンを圧縮した効率のよい空間の点として表現する
  • ノイズ除去などの前処理も含む

また明日