Note Go to the end to download the full example code. or to run this example in your browser via JupyterLite or Binder Classifier comparison# A comparison of several classifiers in scikit-learn on synthetic datasets. The point of this example is to illustrate the nature of decision boundaries of different classifiers. This should be taken with a grain of salt, as the intuition conveyed by these ex
はじめに 前回の「データ前処理編」から時間が空いてしまいましたが、今回はTwitterのテキストデータをクラスタリングをしてみます。 3行でまとめ (やっと)クラスタリングした。 クラスタリングした結果をmatplotlibで可視化した。 次回は脇道で可視化の小技紹介になるかも。 いきなりソースコード(可視化以外) 前回の「ベクトライズ」の実装に**「クラスタリング」****「次元圧縮」**の実装を追加してみました。(「可視化」のソースはちょっと長いので後で) # ! /usr/bin/env python # -*- coding:utf-8 -*- import MeCab as mc from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.cluster import KMeans from s
BayesianRidge# class sklearn.linear_model.BayesianRidge(*, max_iter=300, tol=0.001, alpha_1=1e-06, alpha_2=1e-06, lambda_1=1e-06, lambda_2=1e-06, alpha_init=None, lambda_init=None, compute_score=False, fit_intercept=True, copy_X=True, verbose=False)[source]# Bayesian ridge regression. Fit a Bayesian ridge model. See the Notes section for details on this implementation and the optimization of the r
Kerasでハイパーパラメータの自動調整いろいろ ディープラーニングを使う際の大きな課題の一つがハイパーパラメータのチューニングです。 ニューラルネットワークのニューロン数やドロップ率、ラーニング率といったパラメータを調整し、より良いモデルを作る必要があります。 どのパラメータ値が良いのかは先例や経験から決めることができますが、始めてのモデルを使う場合は、やはりパラメータのチューニングをしなければなりません。 ハイパーパラメータ・チューニングの方法は手動調整と自動調整があります。 手動でパラメータを試していくよりも、やはり自動調整でパラメータを探索していくほうが便利です。 パラメータ自動調整の方法 ニューラルネットワークに限りませんが、機械学習のパラメータ調整を行う方法は多種多様にあります。以下に例を挙げます。 ランダム・サーチ RandomizedSearchCV: ランダムにパラメータ
※サンプル・コード掲載 あらすじ scikit-learnはpythonで使用できる機械学習ライブラリですが、元々とても多くの推定器(Estimator)が実装されています。 ただ、どのEstimatorを使えばよいのか最初から決めるのは経験則や広範囲な知識が必要なのでなかなか難しいです。 そのため、一括で全部試してしまってその結果から良さそうなモデルを選定していくという方法を取ると効率がよいため、その方法をご紹介します。 1. 環境構築 環境はpython3を使用します。 必要なライブラリをインストールします。 また、日本語の処理にmecabが必要なので、それもインストールします。 #数値計算・機械学習系 sudo pip install pandas sudo pip install scikit-learn sudo pip install scipy #mecab sudo apt
簡単な機械学習とWebアプリ Webサイトからの入力に対して、機械学習で作った判定モデルで結果を画面に表示する簡単なデモアプリを作ってみました。 アヤメのがく片と花びらの大きさ(縦、横)を入力すると、品種を判定して表示します。 コードはこちらにあります。 https://github.com/shibuiwilliam/mlweb 全体像 こんな感じです。 がく片や花びらを入力するフロントエンドと判定して結果を返すバックエンドという構成です。 スーパーシンプルです。 言語はPython3.6で、Webにはflaskとwtform、機械学習にはscikit-learnを使っています。 使い方 開発環境はCentOS7.3とPython3.6です。 ライブラリとしてflask、wtform、scikit-learn、Jupyter Notebookを入れています。 この辺は概ねAnaconda
KDTree# class sklearn.neighbors.KDTree# KDTree for fast generalized N-point problems Read more in the User Guide. Parameters: Xarray-like of shape (n_samples, n_features)n_samples is the number of points in the data set, and n_features is the dimension of the parameter space. Note: if X is a C-contiguous array of doubles then data will not be copied. Otherwise, an internal copy will be made. leaf_
この記事で紹介すること kmeansの距離関数って本当にユークリッド距離大正義なの? scikit-learnのk-meansって何が動いているの? scikit-learnのk-meansで距離関数を変更するにはどうするの? k-means法といえば、みなさんご存知、ぐにょぐにょっとデータを分割してくれるアレですね。 教科書にもよく出てくるアレなので、細かい説明は省きますが、いまだに使われてるのは、(禁則事項です)ということですよね。 あ、ちなみにこういう動画とかこういうツールとか使うと、k-meansの動きがよくわかってナイスだと思います。 で、k-meansではセントロイドと各データとの距離を測るために、「距離関数」が必要になります。 教科書的には「ユークリッド距離」一択のことが多いのですが、それって本当に正しいのでしょうか? この論文, Anna Huang, "Similarit
概要Pythonで機械学習をするときに使うscikit-learn(恐らく、サイキットラーンと呼びます)には前処理用のライブラリであるpreprocessingが組み込まれています。前処理とは、データの欠損保管や正規化、カテゴリデータの数値化等のことです。このpreprocessingの全メソッドの効果を検証したのが今回の記事です。irisのデータを題材にして説明していきます。 #preprocessingはspという名前で使うこととする import sklearn.preprocessing as sp #お決まりのライブラリをインポート import pandas as pd import numpy as np import matplotlib.pyplot as plt if __name__ == "__main__": #irisデータをdfに格納 df = pd.read
概要 社内の勉強会用に「機械学習って何?どうやって使うの?」というテーマでまとめたものです。この記事の内容が他の方の役に立てたら嬉しいです。 機械学習 = AI? 機械学習は人工知能の一分野で、ディープラーニングは機械学習の一分野です。 ルールベース 多重If文や探査により多彩なパターンを網羅して、複雑な条件でも適切な出力がされるようにプログラムされているもの 機械学習 データのパターンや特徴を学習し、それをもとに未知のデータに対して何かしらの予測を出力する ディープラーニング データの特徴となる要素の取捨選択を自動で行うことができる、機械学習の手法の一つ 強化学習 ある環境において、 エージェントが状況を観測しながら行動することを繰り返し試行し、目的を達成するための最適な意思決定を学習するもの Point! ルールベースだと、例外が発生すると人が手でルールを書き換える必要があり、どんどん
LocalOutlierFactor# class sklearn.neighbors.LocalOutlierFactor(n_neighbors=20, *, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, contamination='auto', novelty=False, n_jobs=None)[source]# Unsupervised Outlier Detection using the Local Outlier Factor (LOF). The anomaly score of each sample is called the Local Outlier Factor. It measures the local deviation of the densi
This documentation is for scikit-learn version 0.18.2 — Other versions If you use the software, please consider citing scikit-learn . Imputing missing values before building an estimator Imputing missing values before building an estimator ¶ This example shows that imputing the missing values can give better results than discarding the samples containing any missing value. Imputing does not always
Outlier detection with several methods.¶ When the amount of contamination is known, this example illustrates three different ways of performing Novelty and Outlier Detection: based on a robust estimator of covariance, which is assuming that the data are Gaussian distributed and performs better than the One-Class SVM in that case. using the One-Class SVM and its ability to capture the shape of the
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く