機械学習にも流儀(?)や哲学(?)があるようです。
ベイズ分類、勉強しましょう!
と後輩に言われたので勉強することにしました。
上記の本を読んだのですが、ワインのデータセットが紹介されていたので実際に、チャレンジしてみることにしました。
オープンデータセット(Open Data Sets) - データサイエンス
import pandas as pd df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None)
上記の記事を参考にさせていただきました。
ふむ、でも、精度に目が行ってしまいますね。
具体的な方法は思い出せなかったので上記の記事を参考に次元圧縮して二次元化して、華を添えたいと思います。
PCAもありますが、今回は書籍「ベイズ統計学」で紹介されていたLDAを試してみます。
import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn import preprocessing, decomposition from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA df_wine_all=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None) X=df_wine_all.iloc[:,1:].values Y=df_wine_all.iloc[:,0].values sc=preprocessing.StandardScaler() sc.fit(X) X=sc.transform(X) lda = LDA(n_components=2) X_transformed = lda.fit_transform(X,y) %matplotlib inline plt.figure(figsize=(10,10)) plt.scatter(X_transformed[:,0],X_transformed[:,1], c=Y) plt.xlabel('LD1') plt.ylabel('LD2')
PCA 主成分分析(次元圧縮)【Pythonとscikit-learnで機械学習:第21回】をベースに実装させていただきました。
実行結果は、実行する度に異なるようです。