scikit-learnに関する世界観です。PythonでAI入門や人工知能・AI・機械学習・データマイニングも参照のこと。
scikit-learnはPythonのオープンソースな機械学習ライブラリ。「機械学習と言えばScikit-Learn」と呼ばれる。
scikit-learnには、分類(classification, 所属するクラスの分類)、回帰(regression, 値の予測)、クラスタリング(clustering, データの振り分け)、次元削減などの手法がある。
(以上は機械学習のライブラリ!scikit-learnとは【初心者向け】 | TechAcademyマガジンとPython[完全]入門を参考に執筆しました。)
以下が参考になる。
scikit-learnについては、公式のドキュメントを読みましょう。公式のドキュメントが丁寧であることがscikit-learnの特徴です。
日本語の徹底的な解説がほしい方は以下の記事がおすすめです。
たとえば、Python[完全]入門では、k-means(k平均法)を用いて、似たような傾向を持つデータをクラスタリングし、クラスタリングの結果を可視化したり散布図にしたりするプログラムが掲載されています。
これにより、なんらかの科目は得意だがなんらかの科目は不得意な学生を色分けして表示したりできます。
scikit-learnの中のk-means法を使うには以下のようにする。KMeansクラスのn_clusters=にクラスタ数を指定し、クラスタリングするデータフレームをfit()メソッドに指定し、その結果となるモデルのlabels_属性を取得する。
import pandas from sklearn.cluster import KMeans science_score = pandas.read_csv('science_score.csv', encoding='utf_8') kmeans_model = KMeans(n_clusters=3).fit(science_score[['Physics', 'Chemistry']]) print(kmeans_model.labels_)
このプログラムにより、データフレームにおける列である物理(Physics)と化学(Chemistry)の点数でクラスタリングを行うことができる。
ただし、このままではデータの羅列が表示されるだけで、なんのことやら分かりづらい。そのため、散布図を表示するためにplot.scatter()などを使うことが多い。
(Python[完全]入門を参考に執筆しました。)
k-meansについては以下のようなページが参考になります。
2023.01.19編集