- 1. ipynbファイルをダブルクリックで開く(Mac、Anaconda仮想環境)
- 2. 異常検知入門2 外れ値検出
- 3. GmailでPythonを使って送信する
- 4. 【Kaggle超初心者向け】Titanic演習
- 5. Pythonをとりあえず何とかする(2)
- 6. CNN(torch visionの構築済みモデル)による回帰
- 7. scikit-learnのimportエラー
- 8. python備忘録(逐次更新)
- 9. Are you wearing a mask?プログラムの開発(Yolov5の利用)
- 10. 異常検知入門1 基礎編
- 11. [機械学習]Adaboostの理論をまとめてみた
- 12. ADALINEの実装をPythonでやってみた
- 13. Pythonの学習!Javaとの比較(基本の関数)
- 14. gradSLAMやーる(gradSLAM0.0.1、Python3.6、CUDA10.2、PyTorch1.7.0)
- 15. [Python+Selenium]スクレイピングで使える小技メモ
- 16. 市の名前と市長の名前が紛らわしいやつでループ構造は組めるか
- 17. [Python] うちの湯婆婆が「?田」さんに対応しているか知りたい
- 18. loggingの小数点を,から.に変える
- 19. Neural Network Console Challenge 入賞作品リスト
- 20. 人工パーセプトロンの実装をpythonでやってみた
ipynbファイルをダブルクリックで開く(Mac、Anaconda仮想環境)
.ipynbファイルをMacでダブルクリックで開けるようにした際のメモ。
下記リンク先の通り、Automatorでjupyterlabを起動するアプリを作成してipynb拡張子を開くデフォルトアプリケーションに登録すればよいのだが、
[HOW TO OPEN JUPYTER NOTEBOOKS WITH A DOUBLE CLICK (MAC OS)](https://samedwardes.com/post/2020-01-31-open-ipynb-with-double-click/)
anacondaの仮想環境で開きたい場合はそのままでは使えない(base環境でjupyterlabが開いてしまう)ので微細な変更を加えた。上記リンク先の説明が丁寧なので、こちらでは変更点のみ簡潔に記載する。1. Automator.appを開く
1. 新規作成→アプリケーション
1. 「シェルスクリプトを実行」アクションを追加
1. 入力の引き渡し方法を”引数として”に変更(ダブルクリックしたファイルのパスを取ってくるため)
2. 実行するスクリプトを以下のように設定する“`{shel
異常検知入門2 外れ値検出
[Aidemy](https://aidemy.net/) 2020/11/10
#はじめに
こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
今回は、異常検知入門の二つ目の投稿になります。どうぞよろしくお願いします。*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。
今回学ぶこと
・k近傍法による異常検知
・1クラスSVMによる異常検知
・方向データに対する異常検知#k近傍法
##k近傍法とは
(k近傍法は以前にも学習したが、今回は異常検知に即して改めて学習していく)
・__k近傍法__とは「判別したいデータとの距離が近い__k個のデータの中の異常データの割合から__異常度を計算する」と言うものである。異常かどうかの判定は、ホテ
GmailでPythonを使って送信する
#結論
“`python
import smtplib
from email.utils import formatdate
from os.path import basename
from email.mime.text import MIMEText
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipartEMAIL_SENDER_ADDRESS = ”
EMAIL_SENDER_PASSWORD = ”def sendEmail(message, subject):
#送り主
from_email = EMAIL_SENDER_ADDRESS
from_password = EMAIL_SENDER_PASSWORD# 送り先
to_email = [Env.EMAIL_RECIEVE_ADDRESS]# メールの内容
msg = M
【Kaggle超初心者向け】Titanic演習
## ■ はじめに
Kaggle初心者向けのコンペに取り組みましたので
簡単にまとめてみました。【概要】
・[Titanic: Machine Learning from Disaster](https://www.kaggle.com/c/titanic)
・沈没する船「タイタニック号」の乗客情報をもとに、助かる人とそうでない人について判別する今回はロジスティック回帰を用いて、モデルの作成をしていきます。
## 1. モジュールの用意
“`pythonimport numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsfrom sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklear
Pythonをとりあえず何とかする(2)
# 本日の目的
– 開いたExcelに書かれているデータを取得して別なExcelに保存する。
– データ数が分かってない場合の書き方をやってみる。## ポイント的なアレ
– Excelを操作する(前回参照)
– データの取り方
– 要素数が決まってないときの二次元配列(リスト)### とりあえずやってみる
– データの取り方
– セル単位でのデータ取得例:for num in range(maxCellNum)
– 行単位でのデータ取得例 :for row in ws.iter_rows(min_row = startDataRow):– 要素数が決まってないときの二次元配列
– これはググっても出てこないから無理っぽい・・・
– そもそも使う設計にしない方がいいのかもしれない。
– 取得元のデータを1行単位でカンマ付き文字列結合をして
– 使う側でカンマで分割すれば一次元配列(リスト)でもいけそう(ソース参照)### まとめ
– 要素数の決まってない多次元配列を使いたい時は設計自体を見直した方がいいのかもしれない。#
CNN(torch visionの構築済みモデル)による回帰
## はじめに
画像による回帰、例えばラーメンの画像から食べログ評価を予測したり、人の顔を点数化したりなど様々な用途が考えられますが、日本語でも英語でも資料が少なく、何度か躓いたので備忘録としてまとめたいと思います。モデルはtorchvisionのチュートリアルから、既存のクラス分類のモデルから弄るだけで動くようにします。
参考サイト
>[torchvisonのチュートリアル](https://pytorch.org/tutorials/beginner/finetuning_torchvision_models_tutorial.html)
> https://medium.com/@benjamin.phillips22/simple-regression-with-neural-networks-in-pytorch-313f06910379## クラス分類からの変更点
基本的に画像による回帰は、クラス分類の機構をほとんどそのまま流用できます。
必要な変更点は以下の3点です。– Loss
– 出力層
– 正解データの付与### Loss
チュートリアルで
scikit-learnのimportエラー
# What
この記事はscikit-learnのimport時に生じたエラーを解決する記事です。# Problem
下記のプログラムで実行時に以下のエラーが出ました“`python:sklearn.py
from sklearn import datasets
import numpy as np# Irisデータセットをロード
iris = datasets.load_iris()
“`
このコードを実行すると、一番下の行に`sklearn`から`dataset`が読み込めないとエラーが出てしまいます。“`py
File “sklearn.py”, line 1, in
from sklearn import datasets
File “/Users/apple/python/sklearn.py”, line 1, in
from sklearn import datasets
ImportError: cannot import name ‘datasets’ from partially ini
python備忘録(逐次更新)
#項目
1. 文字列とかをコード(代入文)として使いたいとき`eval`
2. histで2つを重ね合わせて一方を透明にしたい時`.hist(alpha = 0.5)`
3. 平方根を使いたい!“`math.sqrt(x)“`
4. numpyがそのまま使えるリストを作りたい!“`np.array([0, 1, 2])“`
5. etc…# 1.文字列とかをコード(代入文)として使いたいとき`eval`
`eval(“~~~”)`で中の文字列をコードとして使える、所謂代入文てやつ?“`python:python
list = [“dog”,”cat”]
dog, cat = “wan”, “nya”
for i in list:
print(eval(i))# wan
# nya
“`#2.histで2つを重ね合わせて一方を透明にしたい時`.hist(alpha = 0.5)`
`.hist(alpha = ?)`で透明化、`1~0`で`1`に近いほど濃くなり、`0.0`で完全透明化。“`python:python
x = np.random.
Are you wearing a mask?プログラムの開発(Yolov5の利用)
## 今回の内容
マスクをしているかしてないかを出力するプログラムがありますが,今回をマスクをしているかしていないかを
出力した後にどう可視化するかを出力するかを考えるプログラムを書いていきたいと思います.
追記:
一応,いつも開発のゴールを書いているので書いておきたいと思います.
最終的には非接触AI温度計を目指して開発をしています.
まぁ世の中には類似製品は沢山ありますが,某製品は16万円とか安くても8万円とかですね.
この価格帯だと導入できない企業もあるかもしれない.
だから2万円くらいで自分で作れる非接触AI温度計を開発したいと思います.
その付随機能のマスク検知を今回開発していきたいと思います.
## 構成
⓵ Yolov5でマスク検知のモデルを作成
⓶ マスクをしているときはOK→音声でマスクをしていますねと音声で流す.
⓷ していないときはNG→マスクをしてください.→管理者のlineに通知
## モデルの作成
モデルについて
>Face Mask Lite Dataset
>https://www.kaggle.com/prasoonkottarathil/face-m
異常検知入門1 基礎編
[Aidemy](https://aidemy.net/) 2020/11/10
#はじめに
こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
今回は、以上検知入門の一つ目の投稿になります。どうぞよろしくお願いします。*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。
今回学ぶこと
・異常検知について
・ホテリング法、マハラノビス距離について
・単純ベイズ法について#異常検知について
##異常検知とは
・__異常検知___とは、その名の通り__異常なデータを捉える__というものである。具体的には、医療現場の患者の異変を検知することや、システムの故障を検知することなど、幅広く使われている。
・この単元では__「異常検知の理論の理解」
[機械学習]Adaboostの理論をまとめてみた
#はじめに
今回はアンサンブル学習の中のAdaboostについて理論まとめていきます。この辺りの話は用語が多くてこんがらがってしまうので、先にアンサンブル学習に用いられる用語の解説を行います。
AdaBoostの理論はその後にまとめるので、そちらを早く見たい方は飛ばして下さい。
今回の記事を書くに辺り、以下の記事がとても参考になりました。
[機械学習⑤ アダブースト (AdaBoost) まとめ](https://qiita.com/kibinag0/items/2e6740c58c1f2d2e119e)
[ブースティングとアダブースト(AdaBoost)について詳しく解説](https://mathwords.net/adaboost)
[はじめてのパターン認識 第11章 boosting](https://ysk24ok.github.io/2016/09/27/hajipata-boosting.html)
[AdaBoostについて調べたのでまとめる](https://www.st-hakky-blog.com/entry/2017/08/08/025846)
ADALINEの実装をPythonでやってみた
[前回](https://qiita.com/kokuyokugetter/items/7be7365917923d48dfb4)の続き
## 2.4 ADALINEと学習の収束
前のパーセプトロンとの違いは、
重みの更新に単位ステップ関数ではなく、線形活性化関数を用いる点## 2.5 勾配降下法によるコスト関数の最小化
$$ J(\mathbf{w}) = \frac{1}{2} \sum_{i} (y^{(i)} – \phi (z^{(i)}))^2 $$
コスト関数の極小値になるように学習を進めることで、学習を収束させることができる。
ADALINEは微分可能な活性化関数を用いることと、コスト関数に誤差平方和を使い凸関数にすることで、勾配降下法を用いてコスト関数を最小化する重みを見つけることができる。
Pythonの学習!Javaとの比較(基本の関数)
#はじめに
Pythonの学習を始めたため、習得したJavaと比較していきたいと思います。#print関数
“`python
print(‘こんにちは’)
print(“こんにちは”)
“`
実行結果
![スクリーンショット 2020-11-09 150744.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603568/98fb9683-3957-fb23-f12b-418e002aac59.png)
Javaの場合“`java
System.out.println(“こんにちは”);
“`
#コメントアウト
“`python
#コメントアウト
print(‘コメントは表示されません’)
“`Javaの場合
“`java
//コメントアウト
System.out.println(“コメントは表示されません”);
“`
#変数
“`python
name = ‘佐藤’
age = ’20’
print(name)
print(age)
“`
実行結果
![スクリーンショ
gradSLAMやーる(gradSLAM0.0.1、Python3.6、CUDA10.2、PyTorch1.7.0)
# はじめに
gradSLAMやっていきます。ようやくGradSLAMのコード公開されましたね
(cuda実装じゃないっぽいので実行速度が気になる)https://t.co/gTiSdVgsUa— まさや (@syinari0123) November 8, 2020
Diffe
[Python+Selenium]スクレイピングで使える小技メモ
##この記事について
実務でスクレイピングを行うことがあったので、その際にインプットした小技のメモです。##ツール
Python3(3.6.2)
Selenium
Chrome driver(85.0.4183.87)##1.jsを操作する(非表示要素を表示させる)
execute_scriptメソッドを使うことでSeleniumからJavascriptを操作することができます。例えば、下記のようにjsのsetAttributeメソッドを操作してテキストの色を変えることができます。
“`python:
from selenium import webdriver
driver = webdriver.Chrome()driver.get(“https://www.hogefuga”)
element = driver.find_element_by_xpath(“//div[@class=’fuga’]/span”)
driver.execute_script(“arguments[0].setAttribute(‘style’,’color: red;’)”
市の名前と市長の名前が紛らわしいやつでループ構造は組めるか
## 結論
**組めない**。
最長のリレーは
– 粟原市の千葉市長
– 千葉市の熊谷市長
– 熊谷氏の富岡市長
– 富岡市の榎本市長の4市。
なお上の結果は2020年11月時点のものです。
# 序論
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/288125/e8321cde-1ebc-29a7-ce6b-094019239153.png)
(ご本人のtwitterより引用)千葉市の[熊谷市長](https://twitter.com/kumagai_chiba)(もうすぐ県知事になりそうですけど)は有名ですよね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/288125/8ad36d9c-8011-e7b1-7747-ee57f224c42a.png)
([Wikipedia](https://ja.wikipedia.org/wiki/%E7%86%
[Python] うちの湯婆婆が「?田」さんに対応しているか知りたい
# はじめに
元ネタ: [Javaで湯婆婆を実装してみる – Qiita](https://qiita.com/Nemesis/items/c7192a7c510788d2cba2)
これをPythonで実装してみた前回の記事: [Python 3で湯婆婆を実装してみる – Qiita](https://qiita.com/everylittle/items/aae58c241194c0e5f515)
お前は湯婆婆で何本書く気なのか。湯婆婆のもとにはいろんな人が働かせてもらいに来ますが、ある名前の人が来ると湯婆婆が崩壊するかもしれないと心配していました。実際に調べてみたら大丈夫だったという話です。
今回は空文字列 “” は無しです# コード
[前回の記事](https://qiita.com/everylittle/items/aae58c241194c0e5f515)の再掲です。Python 3.6以降に対応。
“`python:yubaba.py
import sys
import randomprint(“契約書だよ。そこに名前を書
loggingの小数点を,から.に変える
検索の上位に出てくる
[Python logging_ use milliseconds in time format – Stack Overflow](https://stackoverflow.com/questions/6290739/python-logging-use-milliseconds-in-time-format)
がちょっと求めているものと違う+何度か忘れているのでメモする。“`python
import logging
logging.basicConfig(
level=logging.INFO,
format=”%(asctime)s.%(msecs)03d %(message)s”,
datefmt=”%H:%M:%S”
)
“`datefmtで秒まで表示するようにして、formatで`%(msecs)03d`をつける。
Neural Network Console Challenge 入賞作品リスト
#はじめに
**Neural Network Console Challenge** (NNC-Challenge) とは、SONYさんが開発したAI開発ツール**Neural Network Console**を使い、協賛企業が提供するデータを用いてディープラーニングに挑戦するAI開発コンテストで、今までに2回開催されています。ここでは、今後のChallengeの参考になるように、第1回・第2回の入賞作品リストを備忘録として残します。
#第2回 NNC-Challenge 入賞作品
[第2回](https://ledge.ai/nnc-challenge-by-audiostock-start/)の協賛企業は、映像制作・イベント・音効業務用のBGM・効果音などを販売している[Audiostock](https://audiostock.jp/)さんです。提供されたデータは、10,000点を超えるBGMデータで、2020.09.16 ~ 2020.10.19 の期間で開催されました。**最優秀賞**:[類似曲検索を実現する](http://cedro3.com/ai
人工パーセプトロンの実装をpythonでやってみた
読んだ本
『[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)』
↑ちょっとデータを変えて色々遊んでいますが、基本的にはこの本の2章をそのままやっただけです。
## 2. 分類問題 ー 単純な機械学習アルゴリズムのトレーニング
これはパーセプトロンの基本概念の簡単な図 (『Python 機械学習プログラミング 達人データサイエンティストによる理論と実践』第二章より引用)パーセプトロンの初期の学習規則
1. 重み $ \mathbf{w} $ を0または値の小さい乱数で初期化する2. トレーニングサンプル $ \mathbf{x}^{(i)} $ ごとに次の手順を実行する。
1. 出力値 $ \hat{y} $ を計算