- 1. Zipファイル展開_Python
- 2. python+opencvで画像処理の勉強6 2値画像処理
- 3. 言語を比べると見えてくるもの
- 4. Python ゼロからはじめるプログラミングの学習教材がスゴイ!
- 5. ファイル拡張子を一括変換するPythonプログラム
- 6. いつも忘れるpandasの個人的に便利だねって思う機能(挙動)のメモ
- 7. ポケモンWordleの愚直な探索
- 8. 「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#3
- 9. テスト投稿です
- 10. cos類似度計算を高速に行う
- 11. Numpy Pandas チートシート
- 12. M1 Macでjuman++をインストールする(2022)
- 13. AI初学者が『ゼロから作るDeepLearning』のもやもやした点をまとめてみた
- 14. DOBOT×AI 判別対象をグリッパーで掴む
- 15. DOBOT×AI カメラのセッティング方法
- 16. Python: インターネットからjsonを取ってきてDictにする
- 17. Python: インターネットからHTMLソースを取ってきての中身だけを抜く(レスポンスがHTMLのURLの場合)
- 18. Dockerを使用してAWS lambdaのPython3.9.6実行環境を構築し、pandasのLayerを作成する
- 19. [py2rb] 部分適用
- 20. データサイエンティストとしてスキルアップしていくためのロードマップ(未経験~プロ)
Zipファイル展開_Python
Zipファイルを展開するプログラムを、Webページを参考に書きました。
忘備録です。^^“`
import zipfile
import globfor name in glob.glob(‘*.zip’): # すべてのzipファイルを検索
print(name)
with zipfile.ZipFile(name, ‘r’)as f:
f.extractall(‘./test’) # testフォルダに解凍
“`
たちまち動きを確認しただけですので、
バグ等ございましたら、
ご連絡ください。( 必要に応じて、順次バージョンアップ予定です :)
python+opencvで画像処理の勉強6 2値画像処理
pythonとopencvを使って画像処理を勉強していきます。
前回
python+opencvで画像処理の勉強4 周波数領域におけるフィルタリング
周波数フィルタリングについて学びました。python+opencvで画像処理の勉強5 幾何学的変換
https://qiita.com/tanaka_benkyo/items/5840a36d0e97a8498388
今回は2値画像処理を勉強していきます。
1つ目の使用画像は旭川動物園のペンギンの散歩の写真です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358656/3bc41e6f-97de-4820-619f-c6e9e1999b96.png)
### 2値化
#### 2値化の意味
例えばグレースケール画像などで、中間値をなくし、白または黒の2値の画像に変換することを**2値化**とよびます。
**2値画像**は、例えばある値(**しきい値**)以上の画素値を1、それ未満の画像を0に変換することで得られます。
言語を比べると見えてくるもの
—
この記事は[リンク情報システム](https://www.lis.co.jp/)の「TechConnect!2022年2月」のリレー記事です。
engineer.hanzomon のグループメンバによってリレーされます。
(リンク情報システムのFacebookは[こちら](https://ja-jp.facebook.com/lis.co.jp/)から)TechConnect!2022年2月のインデックスは[こちら](https://qiita.com/hs-lis/items/69eee14fd7bec92a854f)
—
#はじめに
初めて記事を書くので、何を書くかで悩みましたが、
IT業界に入って一番最初に気になったことにしました。色々なプログラミング言語があるけれど、実際どの言語が何に適しているのか、
言語ごとの実際の内容の差はどうなのか……
今回は、どこでも聞いたことのある言語4つ程に絞って軽く書いていきます。—
#言語毎の特徴と、利用されている分野
**■Java**
よく名前を聞く言語1位と言っても良いのではと言う言語・特徴
どん
Python ゼロからはじめるプログラミングの学習教材がスゴイ!
# はじめに
こんにちは@sk_130と申します。本記事は学習教材の紹介です。
プログラミング言語のPython向けになります。# 学習教材とは?
もともとは以下の書籍が出版されており、そのサポート教材にあたるそうです。
https://www.shoeisha.co.jp/book/detail/9784798169460
ズバリ以下よりダウンロード可能です。
https://mitani.cs.tsukuba.ac.jp/book_support/python/
> 本教材は「Python ゼロからはじめるプログラミング」を学校、または企業などで教科書として採用された教員・指導員を対象に、授業などで教材として活用していただくことを前提として作られています。
どなたでも自由にご使用いただけます。Microsoft PowerPoint形式のファイルは授業の進め方などに応じて、自由に改変していただいて結構です。こんな感じです!
![スクリーンショット 2022-02-10 085800.png](https://qiita-image-store.s3.ap-
ファイル拡張子を一括変換するPythonプログラム
##はじめに
あるフォルダー以下の全ファイルの拡張子を一括変換する方法が知りたく、
いくつかの別記事も参考にしながらPythonで作成してみました。
自分の備忘として残します。##前提
現在、フォルダー「pikapika」の下に「d202202」というフォルダーがあり、
その配下に20220201,20220202,20220203の3つのファイルが存在しています。
#####VisualStudieCode内で見ると
※「Qiita共有用.py」は実際のコードを記述するファイルです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2524732/31b967ab-d4c0-e062-00fc-b8770d798573.png)
#####通常のエクスプローラから見ると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2524732/22ace259-916a-0612-edca-f6d
いつも忘れるpandasの個人的に便利だねって思う機能(挙動)のメモ
# 概要
いつも忘れるんだけど、pandasにはそういう便利な機能(挙動)があったよねっていうのを書き留める記事
# なぜこの記事を書いたか
いつも忘れるからメモしたりしているんだけど、googleDriveに入れておくより
qiitaに書いたほうが見返しやすそうって思ったので。
ちょっとづつ書き足していくと思う。たぶん。きっと。おそらく。# DataFrameにSeriesのデータを追加するときにindexに合わせてくれる
“`python
# DataFrameを作る
tmp_df = pd.DataFrame(
columns=[“名前”,”所在地”],
data=np.array([
[“名前0″,”所在地0”],[“名前1″,”所在地1”],[“名前2″,”所在地2”],[“名前3″,”所在地3”],[“名前4″,”所在地4”]
])
)# 以下みたいなDataFrameができる。インデックスは0から始まっていて4まである。
名前 所在地
0 名前0 所在地0
1 名前1 所在地1
2 名前2 所在地2
3 名前3
ポケモンWordleの愚直な探索
ポケモンWordle(やど氏版)のエンドレスモードを遊んでいて「■■ッ■■(真ん中が小さいッ)」を特定してから 6 連続で外した[^1]ので全探索しようと考えました。 Pythonスクリプトは [GitHub Gist](https://gist.github.com/CookieBox26/474f64ffa514222675e1a43d855ac1b1) にあります。お気付きの点がありましたらご指摘いただけますと幸いです。
先に同名の記事を公開していましたが、内容が本末転倒であった[^2]のでそちらの記事を削除しました。大変失礼しました。[^1]: 1手目「アシレーヌ → 黒黒黒黒黒」の後、2手目「ドテッコツ → 黒黒緑黒黒」で3文字目を特定してからの「カメックス → 黒黒緑黒黒」「ミミッキュ → 黒黒緑黒黒」「ペロッパフ → 黒黒緑黒黒」「ウデッポウ → 黒黒緑黒黒」「バケッチャ → 黒黒緑黒黒」「イエッサン → 黒黒緑黒黒」(正解は「タルップル」)。
[^2]: 旧記事では「入力ポケモン、結果画面、現在の候補ポケモンのリス
「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#3
[前回の続きです](https://qiita.com/kato_squalldeka/items/1ef9e8f1de43b019bf73)
【出典】[「新・明解Pythonで学ぶアルゴリズムとデータ構造」](https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0-%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%9F%B4%E7%94%B0%E6%9C%9B%E6%B4%8B/dp/4815603197/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1BG
テスト投稿です
テスト投稿です
cos類似度計算を高速に行う
## cos類似度計算の高速化
sickit-learnのcosine_similarity関数を使うと、cos類似度を一度に計算できる– https://stackoverflow.com/questions/17627219/whats-the-fastest-way-in-python-to-calculate-cosine-similarity-given-sparse-mat
#### 悪い例
– 2重ループを回して類似度計算を1つ1つやっていた“`py
vector_list1 = [[0.3423, 0.5123, 0.4232], [0.1412, 0.9634, 0.7292]]
vector_list2 = [[0.6461, 0.8734, 0.9854], [0.1412, 0.9425, 0.8392]]
for vector1 in vector_list1:
for vector2 in vector_list2:
# 類似度計算
similarity = calc_cos_sim(vecto
Numpy Pandas チートシート
# Numpy
## 条件指定で抽出
“`python
# 配列生成
>>> array1 = np.array([16, 10, 3])
>>> array1.shape
(3,)# boolリストで条件指定できる
>>> array1[[True, False, True]]
array([16, 3])# boolリストが返る
>>> print(array1 > 5)
[ True True False]# 組み合わせるとこう使える
>>> array1[array1 > 5]
array([16, 10])
“`## bincount
配列の各値の出現回数をカウント“`py
>>> a1 = np.array([0, 1, 1, 0, 1, 0, 0, 0])>>> np.bincount(a1)
array([5, 3])
“`## arange, linspace
numpy配列作成“`python
>>> np.arange(5)
array([0, 1, 2, 3, 4])>>> np.linspace(-3, 3,
M1 Macでjuman++をインストールする(2022)
M1 Mac環境でjuman++をインストールしたらめっちゃ詰まったのでログを残します。
# 基本手順
基本的には[こちらの記事](https://dev.classmethod.jp/articles/pyknpjumann-tutorial/)にあるように、以下でインストールできます。
“`
wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.02.tar.xz
tar xJvf jumanpp-1.02.tar.xz
cd jumanpp-1.02
./configure
make
sudo make install
“`# 詰まったところ
## “Error: cannot find available Boost library.”
Boostが無いと怒られます。“`
checking for boostlib >= 1.57… configure: We could not detect the boost libraries (version 1.57 or high
AI初学者が『ゼロから作るDeepLearning』のもやもやした点をまとめてみた
この度DeepLearningの勉強を始めました。
記念すべき1冊目は『ゼロから作るDeepLearning』という名著中の名著を選んだのですが、それでも初学者の私にはすぐに理解できない点が多くあったのでメモとして残しておこうと思います。## 筆者のプロフィール
社会的属性:文系大学生4年
プログラミング経験:Java(Spring boot)2年, Flutter(1年)
WebアプリとNativeアプリ双方の制作経験あり
機械学習経験は初めて## 4.2.4 【バッチ対応版】交差エントロピー誤差の実装
### 疑問点:教師データがラベルとして与えられた時の交差エントロピー誤差の中身なんかおかしくない?
#### one-hotの場合
“`
def cross_entropy_error(y, t):
if y.dim == 1:
t = t.reshape(1, t.size)
y = y.reshape(1, y.size)batch_size = y.shape[0]
return -np.sum(
DOBOT×AI 判別対象をグリッパーで掴む
以下のテキストのソースコードは、判別対象を吸引カップで移動させるようになっています。
[DOBOT Magician AIx画像認識xロボットアーム制御](https://afrel.co.jp/dobot/education-product/)対象物が小さい、あるいは細長く、吸引カップでは保持できないことがあります。
そのような場合、DOBOT magicianに付属する空気式グリッパーで掴む必要があります。# 変更前
グリッパーで対象物を掴んで動かすプログラムに修正します。
dobot_aiフォルダ内にある「dobotClassifier.py」の以下の部分で対象物を移動させています。“`python:dobotClassifier.py
# Z座標
# オブジェクトの大きさ、環境に合わせて変更する
z = -58
“`“`python:dobotClassifier.py
def dobot_classifier(label, pos_x, pos_y):
”’
指定された座標のオブジェクトを取り、ラベルごとに仕分ける
”’
DOBOT×AI カメラのセッティング方法
以下のテキストを使用する際、カメラのセッティング等で上手くいかない場合があるので、解決方法を記載します。
[DOBOT Magician AIx画像認識xロボットアーム制御](https://afrel.co.jp/dobot/education-product/)# 測定マット上の色を読み取れない
カメラの座標からロボットアームの座標へ変換するために測定マット上の4色の座標を読み取り、変換マトリックスを生成するステップがあります。その際、4色の座標だけを上手く読み取れないことがあります。例えば、以下の画像の場合、黄色の座標は読み取れていますが、それ以外の色は読み取れていません。
また、灰色の部分を誤認識しています。## 対策:余計な部分を隠す
余計な部分を認識する場合は、誤認識する部分を隠すのが簡単な解決方法だと
Python: インターネットからjsonを取ってきてDictにする
“`python
USER_AGENT_DUMMY = “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36”
HEADERS = {“User-Agent”: USER_AGENT_DUMMY}r = requests.get(“https://hogehoge.com/fuga.json”, headers=HEADERS)
print(r.json())
# {‘hoge’: ‘fuga’}
“`
Python: インターネットからHTMLソースを取ってきての中身だけを抜く(レスポンスがHTMLのURLの場合)
“`python
import urllib.request
from bs4 import BeautifulSoupUSER_AGENT_DUMMY = “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36”
HEADERS = {“User-Agent”: USER_AGENT_DUMMY}def request(url: str, headers: Dict[str, any] = HEADERS) -> str:
req = urllib.request.Request(url, headers=headers)
with urllib.request.urlopen(req) as res:
html = res.read()
soup = BeautifulSoup(html, “html.parser”)
r
Dockerを使用してAWS lambdaのPython3.9.6実行環境を構築し、pandasのLayerを作成する
#はじめに
AWS LambdaのPython3.9ランタイムで使用するpandasのモジュールをローカルで作成してもうまくいかなかったので、DockerでLambda実行環境を再現し、pandasのLayerを作成した。
今回の記事を作成するにあたり、[こちらのQiita記事](https://qiita.com/hoto17296/items/a374efc2d8159d75bc71#fn2)を参考にさせて頂きました。実行環境
– Windows 10 Pro
– Git Bash
#Dockerイメージの作成
“`:Dockerfile
FROM amazonlinux:2
ARG PYTHON_VERSION=3.9.6
RUN yum update -y && yum install -y tar gzip make gcc openssl-devel bzip2-devel libffi-devel \
&& curl https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTH
[py2rb] 部分適用
# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# partial (Python)
“`python
from functools import partialdef partial_func(name, value):
print(name, value)func1 = partial(partial_func, ‘aa’)
func1(‘bb’)
# aa bb
“`
https://docs.python.org/ja/3.7/library/functools.html#functools.partialhttps://qiita.com/sporty/items/4c7af5dd6a457dff3a57
ふむふむ。
# どうすRuby
“`ruby:lambda.rb
func2 = lambda do |name|
partial_func = lambda do |value|
puts “#{name} #{value}”
end
endfunc1 = func2.ca
データサイエンティストとしてスキルアップしていくためのロードマップ(未経験~プロ)
こちらのロードマップは以下のはやたす様の意見を参考にしています。
– ステップ1. データサイエンティストという職業について知る。
– ステップ2. Pythonの基礎を学ぶ
– ステップ3. 機械学習の基礎を学ぶ
– ステップ4. データサイエンスに入門する
– ステップ5. データ分析で必須ライブラリに慣れる
– ステップ6. 統計学の基礎を学ぶ
– ステップ7. 機械学習についてより深く学ぶ
– ステップ8. kaggleかSIGATEに挑戦する順番に見ていきましょう。
## ステップ1. データサイエンティストという職業について知る。
– まずはAI/データサイエンティストの概念について理解できる本を読みましょう。
[[AI/データ分析プロジェクトのすべて]](https://www.amazon.co.jp/AI%E3%83%BB%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%83%97%E3%83%AD%E3%82%B8%E