« カナレットとヴェネツィアの輝き@京都文化博物館を観てきた。よかった!ものすごく細かい部分まで描かれ、また明暗がくっきりしたヴェドゥータ(景観画)に思わずすごいな、とつぶやく。カメラ・オブスキュラも使っていたのか。あと2Fの総合展示が刷新されていたのに驚く。 | トップページ | 高周波・RFニュース 2025年4月8日 Menlo Microがハイパワー用SP4Tスイッチ発表、ヒロセ電機が110GHz対応の1㎜同軸コネクタ発表、imecがGaNパワーアンプの安定領域解明、Google Pixel 9a分解動画、やたら基板上に同軸ケーブルが多い、Samsungの量子ドット解説 »

2025年4月 8日 (火)

Google ColabのJulia言語で主成分分析(PCA)をやってみる。データはおなじみアヤメ(iris)で、標準で特異値分解(SVD)が入っているのですぐできた。

今回は主成分分析(PCA)。

まずは左の一番下にあるフォルダのアイコンをクリックしてデータをアップロードする。これはRAMディスクなので、一回閉じれば消える。

using CSV
using DataFrames
using Statistics
using LinearAlgebra
using Plots

df = CSV.read("Iris.csv", DataFrame)
で読み込む。

Juliapca01

SVDが標準で入っているのでPCAは簡単だが、標準化するのがPythonのPandasよりは面倒かな。

#標準化
dfstandard = (df[!, 1:4] .- transpose(mean.(eachcol(df[!,1:4])))) ./ transpose(std.(eachcol(df[!,1:4])))
#SVD
U, S, V = svd(Matrix(dfstandard))
#PCA
dfpca = DataFrame([U * Diagonal(S) df.species], ["PC1","PC2","PC3","PC4","species"])
#2軸を使ったプロット
scatter(dfpca[!,1], dfpca[!,2], group=dfpca.species, xlabel = "PC1", ylabel = "PC2")

2軸でプロットしたり、

Juliapca02

3軸でプロットするのも全く同じ書き方で簡単。プロットはJuliaの方がPythonよりだいぶ簡単。

Juliapca03

 

« カナレットとヴェネツィアの輝き@京都文化博物館を観てきた。よかった!ものすごく細かい部分まで描かれ、また明暗がくっきりしたヴェドゥータ(景観画)に思わずすごいな、とつぶやく。カメラ・オブスキュラも使っていたのか。あと2Fの総合展示が刷新されていたのに驚く。 | トップページ | 高周波・RFニュース 2025年4月8日 Menlo Microがハイパワー用SP4Tスイッチ発表、ヒロセ電機が110GHz対応の1㎜同軸コネクタ発表、imecがGaNパワーアンプの安定領域解明、Google Pixel 9a分解動画、やたら基板上に同軸ケーブルが多い、Samsungの量子ドット解説 »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« カナレットとヴェネツィアの輝き@京都文化博物館を観てきた。よかった!ものすごく細かい部分まで描かれ、また明暗がくっきりしたヴェドゥータ(景観画)に思わずすごいな、とつぶやく。カメラ・オブスキュラも使っていたのか。あと2Fの総合展示が刷新されていたのに驚く。 | トップページ | 高周波・RFニュース 2025年4月8日 Menlo Microがハイパワー用SP4Tスイッチ発表、ヒロセ電機が110GHz対応の1㎜同軸コネクタ発表、imecがGaNパワーアンプの安定領域解明、Google Pixel 9a分解動画、やたら基板上に同軸ケーブルが多い、Samsungの量子ドット解説 »

最近の記事

2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

最近のコメント

無料ブログはココログ
フォト