【python】【scikit-learn】k-최근 방법 입문 메모

8910 단어 파이썬scikit-learn

Scikit-learn 학습 메모



scikit-learn 명명 규칙




문자
의미


X
데이터

y
라벨


train_test_split 함수



데이터 (X, y)를 교육 및 평가용으로 분할하는 함수
分割を行う前に擬似乱数を用いてデータセットをシャッフル 한다.

데이터 포인트는 라벨로 정렬되어 있기 때문에, 마지막 25%를 테스트 세트로 하면, 모든 데이터 포인트가 라벨 2(1개의 값)가 되어 버리는 사태를 피하기 위해서.

train_test_split 함수로 데이터 분할
난수 시드

jupyter_notebook.ipynb

train_test_split( 第一引数: 特徴行列X, 第二引数: 目的変数y, test_size(=0.3): テスト用のデータの大きさの割合, random_state= : データを分割する際の乱数のシード値)

random_state=0とすると出力が決定的になり常に同じ結果が得られるようになる(勉強用)

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
    iris_dataset['data'], iris_dataset['target'], random_state=0)

pandas.DataFrame



pandas.DataFrame

pandas.DataFrame
import pandas as pd

#リファレンス
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

#例
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)

출력 결과


pandas.plotting.scatter_matrix



pandas.plotting.scatter_matrix

pandas.plotting.scatter_matrix
#公式リファレンス
pandas.plotting.scatter_matrix(frame, alpha=0.5, figsize=None, ax=None, grid=False, diagonal='hist', marker='.', density_kwds=None, hist_kwds=None, range_padding=0.05, **kwargs)

#iris例
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(8, 8), marker='o',hist_kwds={'bins' : 20}, s=60, alpha=.8)

출력 결과


scikit-learn은 항상 2차원 배열



scikit-learn
X_new = np.array([[5, 2.9, 1, 0.2]])

sklearn.neighbors.KNeighborsClassifier


k-最近傍法 에 의한 클래스 분류

sklearn.neighbors.KNeighborsClassifier

neighbors.KNeighborsClassifier
#大切なメソッド

.fit(X, y)
#Xを学習データ、yを目標値としてモデルを適合させる

.predict(X)
#提供されたデータのクラスラベルを予測します。

.score(X, y)
#与えられたテストデータとラベルの平均精度を返します。

좋은 웹페이지 즐겨찾기