Suche senden
Hochladen
R言語で統計分類基本
•
8 gefällt mir
•
9,353 views
Paweł Rusin
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 22
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
PANDEMONIUM: 動的バイナリ計測とファジーハッシュを使用した暗号アルゴリズムの⾃動識別
PANDEMONIUM: 動的バイナリ計測とファジーハッシュを使用した暗号アルゴリズムの⾃動識別
CODE BLUE
Math algebra-geometry-school-books-3rd-preparatory-1st-term-khawagah-2019-11
Math algebra-geometry-school-books-3rd-preparatory-1st-term-khawagah-2019-11
khawagah
第4回関東ゼロからはじめるR言語勉強会(t検定を勉強してみよう)
第4回関東ゼロからはじめるR言語勉強会(t検定を勉強してみよう)
Iida Keisuke
関東第3回ゼロはじめるからR言語勉強会ー グラフ
関東第3回ゼロはじめるからR言語勉強会ー グラフ
Paweł Rusin
第4回関東ゼロからはじめるR言語勉強会
第4回関東ゼロからはじめるR言語勉強会
Iida Keisuke
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
Yasuyuki Sugai
判別分析
判別分析
Satoru Yamamoto
R版Getopt::Longを作ってみた
R版Getopt::Longを作ってみた
Takeshi Arabiki
Weitere ähnliche Inhalte
Andere mochten auch
WordBench京都9月号
WordBench京都9月号
Koji Asaga
WordBench京都 9月号:kintone×WordPressハンズオン
WordBench京都 9月号:kintone×WordPressハンズオン
Takashi Hosoya
統計を始める方へ①_データ環境Rの基本的なプログラミング|データアーティスト
統計を始める方へ①_データ環境Rの基本的なプログラミング|データアーティスト
Satoru Yamamoto
統計処理環境Rで学ぶ言語研究のための統計入門
統計処理環境Rで学ぶ言語研究のための統計入門
corpusling
Regression2
Regression2
Yuta Tomomatsu
An introduction to statistical learning 4 logistic regression manu
An introduction to statistical learning 4 logistic regression manu
Hideyuki Takahashi
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
ryuhmd
Rデータフレーム自由自在
Rデータフレーム自由自在
Takeshi Arabiki
おしゃスタat銀座
おしゃスタat銀座
Issei Kurahashi
Rによる分類木 入門
Rによる分類木 入門
Hiro47
TwitterのデータをRであれこれ
TwitterのデータをRであれこれ
Takeshi Arabiki
ロジスティック回帰分析を扱った予測モデル作成研究事例の要約
ロジスティック回帰分析を扱った予測モデル作成研究事例の要約
Michimasa Haga
マハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違い
wada, kazumi
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
OWL.learn
Emnlp読み会資料
Emnlp読み会資料
Jiro Nishitoba
RではじめるTwitter解析
RではじめるTwitter解析
Takeshi Arabiki
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
Takashi Yamane
EMNLP 2015 yomikai
EMNLP 2015 yomikai
Yo Ehara
Humor Recognition and Humor Anchor Extraction
Humor Recognition and Humor Anchor Extraction
裕樹 奥田
Andere mochten auch
(20)
WordBench京都9月号
WordBench京都9月号
WordBench京都 9月号:kintone×WordPressハンズオン
WordBench京都 9月号:kintone×WordPressハンズオン
統計を始める方へ①_データ環境Rの基本的なプログラミング|データアーティスト
統計を始める方へ①_データ環境Rの基本的なプログラミング|データアーティスト
統計処理環境Rで学ぶ言語研究のための統計入門
統計処理環境Rで学ぶ言語研究のための統計入門
Regression2
Regression2
An introduction to statistical learning 4 logistic regression manu
An introduction to statistical learning 4 logistic regression manu
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
Rデータフレーム自由自在
Rデータフレーム自由自在
おしゃスタat銀座
おしゃスタat銀座
Rによる分類木 入門
Rによる分類木 入門
TwitterのデータをRであれこれ
TwitterのデータをRであれこれ
ロジスティック回帰分析を扱った予測モデル作成研究事例の要約
ロジスティック回帰分析を扱った予測モデル作成研究事例の要約
マハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違い
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
Emnlp読み会資料
Emnlp読み会資料
RではじめるTwitter解析
RではじめるTwitter解析
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
EMNLP 2015 yomikai
EMNLP 2015 yomikai
Humor Recognition and Humor Anchor Extraction
Humor Recognition and Humor Anchor Extraction
Mehr von Paweł Rusin
Workflow and development in globally distributed mobile teams
Workflow and development in globally distributed mobile teams
Paweł Rusin
Rust言語紹介
Rust言語紹介
Paweł Rusin
LOD METI
LOD METI
Paweł Rusin
関東第2回r勉強会
関東第2回r勉強会
Paweł Rusin
課題 (第三回)
課題 (第三回)
Paweł Rusin
第三回R勉強会
第三回R勉強会
Paweł Rusin
第2回R勉強会1
第2回R勉強会1
Paweł Rusin
Mehr von Paweł Rusin
(7)
Workflow and development in globally distributed mobile teams
Workflow and development in globally distributed mobile teams
Rust言語紹介
Rust言語紹介
LOD METI
LOD METI
関東第2回r勉強会
関東第2回r勉強会
課題 (第三回)
課題 (第三回)
第三回R勉強会
第三回R勉強会
第2回R勉強会1
第2回R勉強会1
R言語で統計分類基本
1.
関東第4回ゼロからはじめる R言語勉強会 R言語で統計分類基本 パヴェウ・ルシン 株式会社ブリリアントサービス
2.
自己紹介 ● Pawe Rusin (ł
パヴェウ・ルシン) ● pawel.rusin@brilliantservice.co.jp Facebook: Pawe Rusin (ł iofar@o2.pl) ● 会社: ● 株式会社ブリリアントサービス ● 業務: データマイニング
3.
分類 ● 統計分類というのは個体をグループ分けする統計の手続きです ● 事前にラベル付けされた訓練例を使ってははじめて見たオブジェクト 分類できるようになります 学習データ テストデータ 機会学習
分類
4.
分類の例 spam not spam spam not spam 件名:【重要】5分以内に必ず確認 ※退会を希望する場合には↓へ 件名:ご協力求む! 友人の竹山さんからのメールを転送しました! いつも大変お世話になっております。 メール部品販売株式会社 営業2課 営業勇作です。 spam 件名:おひさしぶりです^^ 覚えてますか??? ? 訓練例: テスト例:
5.
分類の例 pregnant glucose pressure
triceps insulin mass pedigree age diabetes 1 6 148 72 35 NA 33.6 0.627 50 pos 2 1 85 66 29 NA 26.6 0.351 31 neg 3 8 183 64 NA NA 23.3 0.672 32 pos 4 1 89 66 23 94 28.1 0.167 21 neg 5 0 137 40 35 168 43.1 2.288 33 pos 6 5 116 74 NA NA 25.6 0.201 30 neg pregnant glucose pressure triceps insulin mass pedigree age diabetes 763 9 89 62 NA NA 22.5 0.142 33 ? 764 10 101 76 48 180 32.9 0.171 63 ? 765 2 122 70 27 NA 36.8 0.340 27 ? 766 5 121 72 23 112 26.2 0.245 30 ? 767 1 126 60 NA NA 30.1 0.349 47 ? 768 1 93 70 31 NA 30.4 0.315 23 ? 訓練例: テスト例:
6.
分類の例 WHO Risk Group
1 WHO Risk Group 2 WHO Risk Group 3 WHO Risk Group 4 time status sex age year thickness ulcer 1 10 3 1 76 1972 6.76 1 2 30 3 1 56 1968 0.65 0 3 35 2 1 41 1977 1.34 0 4 99 3 0 71 1968 2.90 0 5 185 1 1 52 1965 12.08 1 6 204 1 1 28 1971 4.84 1 7 210 1 1 77 1972 5.16 1 8 232 3 0 60 1974 3.22 1 9 232 1 1 49 1968 12.88 1 10 279 1 0 68 1971 7.41 1
7.
データを片付ける pregnant glucose pressure
triceps insulin mass pedigree age diabetes 1 6 148 72 35 NA 33.6 0.627 50 pos 2 1 85 66 29 NA 26.6 0.351 31 neg 3 8 183 64 NA NA 23.3 0.672 32 pos 4 1 89 66 23 94 28.1 0.167 21 neg 5 0 137 40 35 168 43.1 2.288 33 pos 6 5 116 74 NA NA 25.6 0.201 30 neg > install.packages("MASS") > library(MASS) > data(PimaIndiansDiabetes2) > indians = na.omit(PimaIndiansDiabetes2) > indians = indians[,c(2,5,9)] glucose insulin diabetes 4 89 94 neg 5 137 168 pos 7 78 88 pos 9 197 543 pos 14 189 846 pos 15 166 175 pos
8.
訓練例とテスト例を分ける learning.sample = sample(x=1:nrow(indians),size=nrow(indians)/2) learning.set
= indians[learning.sample,] sample(x, size, replace = FALSE, prob = NULL) x=[1,2...392],size=196 [1] 120 321 292 11 49 318 ... glucose insulin diabetes 317 89 94 neg 318 137 168 pos 319 78 88 pos 320 197 543 pos 321 189 846 pos 322 166 175 pos [[120,321,292,11,49,318...],]
9.
訓練例とテスト例を分ける test.set = indians[-learning.set,-3] learning.set
= sample(x=[1,2...392],size=196) [1] 120 321 292 11 49 318 ... glucose insulin diabetes 317 89 94 neg 318 137 168 pos 319 78 88 pos 320 197 543 pos 321 189 846 pos 322 166 175 pos [-[120,321,292,11,49,318...],-3]
10.
線形判別分析
11.
線形判別分析
12.
線形判別分析
13.
線形判別分析 lin.classify = lda(indians[,1:2],grouping=indians$diabetes,subset=learning.sample) lda(x,
grouping, ..., subset, na.action) [MASS] Call: lda(diabetes ~ glucose + insulin, data = indians.formatted, subset = learning.set.sample) Prior probabilities of groups: neg pos 0.6377551 0.3622449 Group means: glucose insulin neg 113.2400 135.1520 pos 146.4366 208.0282 Coefficients of linear discriminants: LD1 glucose 0.0353017338 insulin 0.0008873364
14.
線形判別分析 lin.class.predict = predict(lin.classify,
newdata=test.set) predict (object, ...) $class [1] neg neg pos neg neg pos neg neg neg pos neg neg neg neg neg neg neg neg neg neg neg neg neg neg neg pos neg neg neg pos neg neg neg neg [35] pos neg pos neg neg neg neg pos neg neg pos neg pos neg neg neg neg neg pos neg neg neg pos neg neg neg neg neg pos neg neg neg neg neg [69] neg neg neg neg neg pos pos neg pos neg neg neg neg neg pos pos neg neg pos neg neg neg pos neg neg neg neg neg neg neg neg neg pos neg [103] pos neg neg pos pos neg neg neg neg neg neg neg neg pos neg neg neg neg neg neg neg neg pos neg neg neg pos neg neg pos neg neg neg neg [137] neg pos neg neg neg neg neg neg neg neg pos neg neg neg neg neg pos pos pos pos neg neg neg neg neg neg neg neg pos pos neg neg neg neg [171] pos pos pos neg neg neg neg neg neg neg pos pos neg neg neg neg pos neg neg neg pos neg neg neg neg neg Levels: neg pos $posterior neg pos 4 0.9100464 0.08995355 5 0.5700686 0.42993137 14 0.2765809 0.72341915 21 0.7073037 0.29269633 ... res.table = table(real=true.test.set,classified=lin.class.predict$class) classified real neg pos neg 102 28 pos 51 15
15.
線形判別分析 drawparti(grouping,x,y,method=”lda”...) [klaR] drawparti(indians[,3],indians[,1],indians[,2]...) drawparti(grouping, x,
y, method = "lda", prec = 100, xlab = NULL, ylab = NULL, col.correct = "black", col.wrong = "red", col.mean = "black", col.contour = "darkgrey", gs = as.character(grouping), pch.mean = 19, cex.mean = 1.3, print.err = 0.7, legend.err = FALSE, legend.bg = "white", imageplot = TRUE, image.colors = cm.colors(nc), plot.control = list(), ...)
16.
二次判別分析
17.
quad.classify = qda(indians[,1:2],grouping=indians$diabetes,subset=learning.sample) qda(x,
grouping, ..., subset, na.action) [MASS] Call: qda(indians.formatted[, 1:2], grouping = indians.formatted$diabetes, subset = learning.set.sample) Prior probabilities of groups: neg pos 0.6377551 0.3622449 Group means: glucose insulin neg 113.2400 135.1520 pos 146.4366 208.0282 二次判別分析
18.
quad.class.predict = predict(quad.classify,
newdata=test.set) predict (object, ...) res.table = table(real=true.test.set,classified=quad.class.predict$class) $class [1] neg neg pos neg neg pos neg neg neg pos neg neg neg neg neg neg neg neg neg neg neg neg neg neg neg pos neg neg neg pos neg neg neg neg [35] pos neg pos neg neg neg neg pos neg neg pos neg pos neg neg neg neg neg pos neg neg neg pos neg neg neg pos neg pos neg neg neg neg pos [69] neg neg neg neg neg pos neg neg pos neg neg neg neg neg pos pos neg neg pos neg neg neg pos neg neg neg neg neg neg neg neg neg pos neg [103] pos neg neg pos pos neg neg neg neg neg neg neg neg neg neg neg neg neg neg neg neg neg pos neg neg neg pos neg neg pos neg neg neg neg [137] neg pos neg neg neg neg neg neg neg neg pos neg neg neg neg pos pos pos pos pos neg neg neg neg neg neg neg neg pos pos neg neg neg neg [171] pos pos pos neg neg neg neg neg neg neg pos pos neg neg neg neg pos neg neg neg pos neg neg neg neg neg Levels: neg pos $posterior neg pos 4 0.903509648 0.09649035 5 0.651253333 0.34874667 14 0.000552298 0.99944770 classified real neg pos neg 103 27 pos 49 17 二次判別分析
19.
drawparti(indians[,3],indians[,1],indians[,2],method=”qda”...) 二次判別分析
20.
分類器 R言語のパッケージと関数 線形判別分析,二次判別分析 MASS(lda,qda) 単純バイズ分類器
e1071(naiveBayes), klaR(NaiveBayes) 決定木 tree(tree),rpart(rpart),party(cpart) Random Forest randomForest(randomForest) k近傍法 class(knn),kknn(kknn),knncat(knncat) サポートバクターマシン e1071(svm) ニューラルネットァーク nnet(nnet) 意外の分類器
21.
意外の分類器 データを処理: ● 属性の時限を減る ● NAの値を扱う(na.omitとか。。。) ●
学習セットを選ぶ(sampleとか。。。) 学習 Lda()とかqda()とかnaiveBayes()など。。。 分類 predict() データフレーム 分類器のオブジェクト
22.
R言語勉強会を参加していただい て ありがとうございました! Facebook: Pawe Rusinł (iofar@o2.pl)
Jetzt herunterladen