SlideShare a Scribd company logo
1 of 10
Download to read offline
scikit-learnとは
【事前資料】
scikit-learn
• scikit-learnは、Pythonの機械学習ライブラリです。「サイキット・ラー
ン」と読みます。scikit-learnはオープンソース(BSD license)で公開さ
れており、個人/商用問わず、誰でも無料で利用することができる。
• scikit-learnは、現在も活発に開発が行われており、多くの機械学習
アルゴリズムが実装されていますが、どのアルゴリズムでも同じよう
な書き方で利用することができます。
• このようなことから、初学者が機械学習を学び始めるには、最適のラ
イブラリと言える。
• *参照:TechAcademyマガジン:
https://techacademy.jp/magazine/17375
scikit-learnを利用するには、Anacondaなどの
開発環境のパッケージを使うのが簡単。
• Anacondaインストール手順
• 以下のサイトから Anaconda をダウンロードできます。
• https://www.anaconda.com/download
• また、サンプルのデータセット(トイデータセット)が付属しているため、
インストールしてすぐ機械学習を試すことができる
scikit-learnの主な機能、機械学習のモデル
について
データセットの読み込み
初めに、データセットを読み込み、どのようなデータが格納されている
か、確認してみます。以下のコードを入力して実行して下さい。
# scikit-learn ライブラリの読み込み from sklearn import datasets
# 手書き文字セットを読み込む digits =
datasets.load_digits() # どのようなデータか、確認
してみる import matplotlib.pyplot as plt
plt.matshow(digits.images[0], cmap="Greys")
plt.show()
訓練データとテストデータの準備
データセットには、「手書き数字の画像データ」と、それに対する「数
字」が含まれます。データを訓練データとテストデータに分け、訓練
データで学習した結果を、テストデータで検証します。
# 画像データを配列にしたもの(numpy.ndarray型) X = digits.data # 画
像データに対する数字(numpy.ndarray型)。ラベルと言う y =
digits.target # 訓練データとテストデータに分ける # 訓練データ :偶数
行 X_train, y_train = X[0::2], y[0::2] # テストデータ:奇数行 X_test,
y_test = X[1::2], y[1::2]
学習
それでは、モデルに学習を行いましょう。以下で
はSVMというアルゴリズムを選択しています。
# 学習器の作成。SVMというアルゴリズムを選択
from sklearn import svm clf =
svm.SVC(gamma=0.001) # 訓練データとラベルで
学習 clf.fit(X_train, y_train)
モデルの評価
最後にモデルの学習結果を、テストデータを用いて評価します。
# テストデータで試した正解率を返す accuracy = clf.score(X_test,
y_test) print(f"正解率{accuracy}") # 学習済モデルを使ってテストデー
タを分類した結果を返す predicted = clf.predict(X_test) # 詳しいレポー
ト # precision(適合率): 選択した正解/選択した集合 # recall(再現率) :
選択した正解/全体の正解 # F-score(F値) : 適合率と再現率はトレード
オフの関係にあるため print("classification report")
print(metrics.classification_report(y_test, predicted))
実行結果。
続き
• 参照URL
• https://techacademy.jp/magazine/17375

More Related Content

Similar to Scikit

オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
『OpenStack最新情報セミナー』のご案内
『OpenStack最新情報セミナー』のご案内『OpenStack最新情報セミナー』のご案内
『OpenStack最新情報セミナー』のご案内VirtualTech Japan Inc.
 
Open whisk slackinvite - public
Open whisk slackinvite - publicOpen whisk slackinvite - public
Open whisk slackinvite - publicTakehiko Amano
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~Hideki Takase
 
OpenDaylight最新技術動向
OpenDaylight最新技術動向OpenDaylight最新技術動向
OpenDaylight最新技術動向Satoshi Hieda
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overviewirix_jp
 
初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~
初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~
初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~VirtualTech Japan Inc./Begi.net Inc.
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Narami Kiyokura
 
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月Nobuyuki Tamaoki
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAMmmer547
 
OpenStack 最新動向 2016/11
OpenStack 最新動向 2016/11OpenStack 最新動向 2016/11
OpenStack 最新動向 2016/11Akira Yoshiyama
 
Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl300セミナー資料_20170218(鯨井貴博)Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl300セミナー資料_20170218(鯨井貴博)Takahiro Kujirai
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016 slankdev
 
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03Daiki Maekawa
 
SDSoC 2016.3+yocto project
SDSoC 2016.3+yocto projectSDSoC 2016.3+yocto project
SDSoC 2016.3+yocto projectHidemi Ishihara
 

Similar to Scikit (20)

オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
『OpenStack最新情報セミナー』のご案内
『OpenStack最新情報セミナー』のご案内『OpenStack最新情報セミナー』のご案内
『OpenStack最新情報セミナー』のご案内
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
Open whisk slackinvite - public
Open whisk slackinvite - publicOpen whisk slackinvite - public
Open whisk slackinvite - public
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
OpenDaylight最新技術動向
OpenDaylight最新技術動向OpenDaylight最新技術動向
OpenDaylight最新技術動向
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 
初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~
初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~
初学者教育のプロが教える学習のポイント ~できるインフラエンジニアを目指そう~
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
 
Osoljp201210 oi swift
Osoljp201210 oi swiftOsoljp201210 oi swift
Osoljp201210 oi swift
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
 
6/12 ODC実行委員会資料
6/12 ODC実行委員会資料6/12 ODC実行委員会資料
6/12 ODC実行委員会資料
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
OpenStack 最新動向 2016/11
OpenStack 最新動向 2016/11OpenStack 最新動向 2016/11
OpenStack 最新動向 2016/11
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
 
Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl300セミナー資料_20170218(鯨井貴博)Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl300セミナー資料_20170218(鯨井貴博)
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
 
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
 
SDSoC 2016.3+yocto project
SDSoC 2016.3+yocto projectSDSoC 2016.3+yocto project
SDSoC 2016.3+yocto project
 

More from 卓馬 三浦 (14)

Scikit learn
Scikit learnScikit learn
Scikit learn
 
React native
React nativeReact native
React native
 
5 1
5 15 1
5 1
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504
 
Pytorch
PytorchPytorch
Pytorch
 
Nuxt
NuxtNuxt
Nuxt
 
Vuenative
VuenativeVuenative
Vuenative
 
Vue
VueVue
Vue
 
React
ReactReact
React
 
GGA、10月12日開催@G's
GGA、10月12日開催@G'sGGA、10月12日開催@G's
GGA、10月12日開催@G's
 
Shibuya a企画(最新)
Shibuya a企画(最新)Shibuya a企画(最新)
Shibuya a企画(最新)
 
Gga? (3)
Gga? (3)Gga? (3)
Gga? (3)
 
6協働学習とict活用
6協働学習とict活用6協働学習とict活用
6協働学習とict活用
 
研究目的
研究目的研究目的
研究目的
 

Scikit