A simple csv reader
Project description
csvファイル内の類似度計算ライブラリ
今回私は、csvファイル形式でまとめられた数値データから二つの行の類似度を計算するライブラリである「simcsv」を作成した。 ライブラリの詳細については以下の通りである。
「simcsv」の詳細情報
ライブラリのソースコードを示したGitHubのURLは以下の通りである。
- GitHubのURL : https://github.com/Kanra-Ishido/simscv
- ライブラリの基幹部分となるPythonファイルは src/simcsv.py に記述 ライブラリをアップロードしたPyPIのURLは以下の通りである。
- PyPIのURL:https://pypi.org/project/simscv/0.0.2/
概要
- ヘッダー以外が数値で構成されるcsvファイルの各項目を類似度計算できるライブラリである
- 各行を一つの項目の特徴量であると認識し、行と行について類似度計算して比較する
- 類似度計算の種類としては、「コサイン類似度, ユークリッド距離, マンハッタン距離, ジャカード係数, ハミング距離, ピアソン相関係数, ダイス係数, KLダイバージェンス」である
データの入出力
各類似度計算についての呼び出し方と入力については以下の通りである。
- コサイン類似度 : simcos.Cosine("csvファイル", "呼び出したい行数", "呼び出したい行数")
- ユークリッド距離 : simcos.Euclidean("csvファイル", "呼び出したい行数", "呼び出したい行数")
- マンハッタン距離 : simcos.Manhattan("csvファイル", "呼び出したい行数", "呼び出したい行数")
- ジャカード係数 : simcos.Jaccard("csvファイル", "呼び出したい行数", "呼び出したい行数")
- ハミング距離 : simcos.Hamming("csvファイル", "呼び出したい行数", "呼び出したい行数")
- ピアソン相関係数 : simcos.Pearson("csvファイル", "呼び出したい行数", "呼び出したい行数")
- ダイス係数 : simcos.Dice("csvファイル", "呼び出したい行数", "呼び出したい行数")
- KLダイバージェンス : simcos.Kl("csvファイル", "呼び出したい行数", "呼び出したい行数")
計算結果の出力については以下の通りである。
- [["呼び出した行数", "呼び出した行数"], 指定した類似度の計算結果]
使用方法
使用方法としては3通りある。
特定の行と特定の行について類似度計算したい場合
- 特定の行と特定の行について類似度計算したい場合については、関数名("csv", "特定の行数", "特定の行数") とする 例) simcos.Cosine("hoge.csv", "123", "456") 期待される結果) [[123, 456], 0.843] このように、hoge.csvの123行目と456行目のコサイン類似度について求められる。
特定の行とその他の行について類似度計算したい場合
- 特定の行とその他の行について類似度計算したい場合については、関数名("csv", "特定の行数") とする 例) simcos.Cosine("hoge.csv", "123") 期待される結果) [[123, 124], 0.99, [123, 678], 0.98, [123, 431], 0.97, [123, 832], 0.96, [123, 721], 0.95, [123, 578], 0.94, [123, 682], 0.93, [123, 986], 0.92, [123, 72], 0.91, [123, 1097], 0.90] このように、hoge.csvの123行目とその他の行のコサイン類似度について求められ、類似度が近いとされる上位10つが順番に表示される。
全ての行について類似度計算したい場合
- 各行の全ての組み合わせについて類似度計算したい場合については、関数名("csv") とする 例) simcos.Cosine("hoge.csv") 期待される結果) [[837, 1648], 0.99, [857, 917], 0.98, [25, 362], 0.97, [192, 665], 0.96, [104, 962], 0.95, [726, 1240], 0.94, [729, 1017], 0.93, [583, 394], 0.92, [517, 761], 0.91, [347, 419], 0.90] このように、hoge.csvの各行の全ての組み合わせのコサイン類似度について求められ、類似度が近いとされる上位10つが順番に表示される。
使用用途
- csvデータのどの要素同士に相関があるか簡単に調べたい場合
- 類似度計算の結果を使ってより深いデータ分析をしたい場合
- あるデータに対して、使用する類似度計算方法によってどのような差異があるか調査したい場合
- あるデータに対して、どの類似度計算方法を選択すればいいか調査する場合 など
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
simscv-0.0.5.tar.gz
(4.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simscv-0.0.5.tar.gz.
File metadata
- Download URL: simscv-0.0.5.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
523b10efb94e9fbd702a25964bf9cd36baa5ed5eb8ca3ac3720ba8d157df3ea0
|
|
| MD5 |
9843a7763a40e7c727cd9160313932df
|
|
| BLAKE2b-256 |
82b093ce963c13c7391a5dbf14b5fdb45b3ec6dbb99c8fb388a8c25a468adc21
|
File details
Details for the file simscv-0.0.5-py3-none-any.whl.
File metadata
- Download URL: simscv-0.0.5-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09e7f434e265a3dcc8b8a880cc179132fb8654d3a7ebed541a4f8119d58b9314
|
|
| MD5 |
0322c84622fff4026a8594d5318e84cd
|
|
| BLAKE2b-256 |
c159ad0b11f7ce71804d835da2e0983653258c3b22ab1b9fe2b7daf5157cb96e
|