제약 기업 연구자가 scikit-learn에 대해 요약했습니다.
8805 단어 Python3파이썬초보자scikit-learn기계 학습
소개
이 섹션에서는 기계 학습 라이브러리 scikit-learn의 기본 사용법을 설명합니다.
기계 학습 알고리즘에 대해서는 다른 기사에서 다룰 예정입니다.
Python3 시스템의 사용을 가정합니다.
라이브러리 로드
다른 라이브러리와 마찬가지로, import
로 읽을 수 있습니다만, 아래에도 쓰고 있는 대로 실제로 사용할 때는 import
와 from
로 읽어들이는 것이 많아집니다.
scikit-learn_1.pyimport sklearn
데이터 세트
scikit-learn은 기계 학습에 사용할 수 있는 다양한 데이터 세트를 제공합니다.
어떤 데이터 세트가 있는지는 다음 코드를 실행하면 알 수 있습니다.
scikit-learn_2.pyimport sklearn.datasets
[s for s in dir(sklearn.datasets) if s.startswith('load_')]
데이터 세트 준비
여기에서는, 상기의 데이터 세트 중에서 iris
(아야메)의 데이터 세트를 사용하는 것으로 합니다.
가쿠의 길이로부터 가크의 폭을 선형 회귀를 사용해 예측하는 것을 생각합니다.
우선 데이터 아래 준비입니다.
scikit-learn_3.pyfrom sklearn.datasets import load_iris
import pandas as pd
data_iris = load_iris()
X = pd.DataFrame(data_iris.data, columns=data_iris.feature_names)
x = X.iloc[:, 0] # アヤメのガクの長さ
y = X.iloc[:, 1] # アヤメのガクの幅
기계 학습 (여기에서는 선형 회귀)
데이터 준비가 끝나면 선형 회귀를 수행합니다.
scikit-learn_4.pyfrom sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
%matplotlib inline
X_train = [[5.1], [4.9], [4.7], [4.6], [5.0], [5.4], [4.6], [5.0], [4.4], [4.9]]
y_train = [3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1]
model = LinearRegression()
model.fit(X_train, y_train) # 線形回帰モデルを作成
print(model.coef_) # 傾き
print(model.intercept_) # 切片
X_test = [[5.4], [4.8], [4.8], [4.3], [5.8]]
y_test = [3.7, 3.4, 3.0, 3.0, 4.0]
y_pred = model.predict(X_test) # 予測
print(y_pred)
fig, ax = plt.subplots()
ax.scatter(X_test, y_test, label='Test set') # 実測値の散布図
ax.plot(X_test, y_pred, label = 'Regression curve') # 回帰直線
ax.legend()
plt.show() # 予測に使ったデータを図示
plt.savefig('scikit-learn_4.png')
print(r2_score(y_test, y_pred)) # R^2値
테스트용 데이터와 회귀 직선을 나타내면 다음과 같이 됩니다.
마지막 R^2 값은 모델에 맞는 상태를 나타내는 것입니다만, 회귀인지 분류인지, 그 외 목적에 따라 보는 파라미터는 바뀝니다.
요약
여기에서는 scikit-learn의 기본 부분에 대해 설명했습니다.
데이터 세트의 준비, 데이터의 전처리, 예측 모델의 작성, 모델의 검증이라는 흐름을 아무렇지도 않게 유지해 두면 좋을 것입니다.
참고 자료・링크
지금도 들을 수 없다! 기계 학습이란 무엇입니까? 왜 파이썬이 사용되는가?
Reference
이 문제에 관하여(제약 기업 연구자가 scikit-learn에 대해 요약했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yukiya285/items/75dd6fc539b8c1231404
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다른 라이브러리와 마찬가지로,
import
로 읽을 수 있습니다만, 아래에도 쓰고 있는 대로 실제로 사용할 때는 import
와 from
로 읽어들이는 것이 많아집니다.scikit-learn_1.py
import sklearn
데이터 세트
scikit-learn은 기계 학습에 사용할 수 있는 다양한 데이터 세트를 제공합니다.
어떤 데이터 세트가 있는지는 다음 코드를 실행하면 알 수 있습니다.
scikit-learn_2.pyimport sklearn.datasets
[s for s in dir(sklearn.datasets) if s.startswith('load_')]
데이터 세트 준비
여기에서는, 상기의 데이터 세트 중에서 iris
(아야메)의 데이터 세트를 사용하는 것으로 합니다.
가쿠의 길이로부터 가크의 폭을 선형 회귀를 사용해 예측하는 것을 생각합니다.
우선 데이터 아래 준비입니다.
scikit-learn_3.pyfrom sklearn.datasets import load_iris
import pandas as pd
data_iris = load_iris()
X = pd.DataFrame(data_iris.data, columns=data_iris.feature_names)
x = X.iloc[:, 0] # アヤメのガクの長さ
y = X.iloc[:, 1] # アヤメのガクの幅
기계 학습 (여기에서는 선형 회귀)
데이터 준비가 끝나면 선형 회귀를 수행합니다.
scikit-learn_4.pyfrom sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
%matplotlib inline
X_train = [[5.1], [4.9], [4.7], [4.6], [5.0], [5.4], [4.6], [5.0], [4.4], [4.9]]
y_train = [3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1]
model = LinearRegression()
model.fit(X_train, y_train) # 線形回帰モデルを作成
print(model.coef_) # 傾き
print(model.intercept_) # 切片
X_test = [[5.4], [4.8], [4.8], [4.3], [5.8]]
y_test = [3.7, 3.4, 3.0, 3.0, 4.0]
y_pred = model.predict(X_test) # 予測
print(y_pred)
fig, ax = plt.subplots()
ax.scatter(X_test, y_test, label='Test set') # 実測値の散布図
ax.plot(X_test, y_pred, label = 'Regression curve') # 回帰直線
ax.legend()
plt.show() # 予測に使ったデータを図示
plt.savefig('scikit-learn_4.png')
print(r2_score(y_test, y_pred)) # R^2値
테스트용 데이터와 회귀 직선을 나타내면 다음과 같이 됩니다.
마지막 R^2 값은 모델에 맞는 상태를 나타내는 것입니다만, 회귀인지 분류인지, 그 외 목적에 따라 보는 파라미터는 바뀝니다.
요약
여기에서는 scikit-learn의 기본 부분에 대해 설명했습니다.
데이터 세트의 준비, 데이터의 전처리, 예측 모델의 작성, 모델의 검증이라는 흐름을 아무렇지도 않게 유지해 두면 좋을 것입니다.
참고 자료・링크
지금도 들을 수 없다! 기계 학습이란 무엇입니까? 왜 파이썬이 사용되는가?
Reference
이 문제에 관하여(제약 기업 연구자가 scikit-learn에 대해 요약했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yukiya285/items/75dd6fc539b8c1231404
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import sklearn.datasets
[s for s in dir(sklearn.datasets) if s.startswith('load_')]
여기에서는, 상기의 데이터 세트 중에서
iris
(아야메)의 데이터 세트를 사용하는 것으로 합니다.가쿠의 길이로부터 가크의 폭을 선형 회귀를 사용해 예측하는 것을 생각합니다.
우선 데이터 아래 준비입니다.
scikit-learn_3.py
from sklearn.datasets import load_iris
import pandas as pd
data_iris = load_iris()
X = pd.DataFrame(data_iris.data, columns=data_iris.feature_names)
x = X.iloc[:, 0] # アヤメのガクの長さ
y = X.iloc[:, 1] # アヤメのガクの幅
기계 학습 (여기에서는 선형 회귀)
데이터 준비가 끝나면 선형 회귀를 수행합니다.
scikit-learn_4.pyfrom sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
%matplotlib inline
X_train = [[5.1], [4.9], [4.7], [4.6], [5.0], [5.4], [4.6], [5.0], [4.4], [4.9]]
y_train = [3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1]
model = LinearRegression()
model.fit(X_train, y_train) # 線形回帰モデルを作成
print(model.coef_) # 傾き
print(model.intercept_) # 切片
X_test = [[5.4], [4.8], [4.8], [4.3], [5.8]]
y_test = [3.7, 3.4, 3.0, 3.0, 4.0]
y_pred = model.predict(X_test) # 予測
print(y_pred)
fig, ax = plt.subplots()
ax.scatter(X_test, y_test, label='Test set') # 実測値の散布図
ax.plot(X_test, y_pred, label = 'Regression curve') # 回帰直線
ax.legend()
plt.show() # 予測に使ったデータを図示
plt.savefig('scikit-learn_4.png')
print(r2_score(y_test, y_pred)) # R^2値
테스트용 데이터와 회귀 직선을 나타내면 다음과 같이 됩니다.
마지막 R^2 값은 모델에 맞는 상태를 나타내는 것입니다만, 회귀인지 분류인지, 그 외 목적에 따라 보는 파라미터는 바뀝니다.
요약
여기에서는 scikit-learn의 기본 부분에 대해 설명했습니다.
데이터 세트의 준비, 데이터의 전처리, 예측 모델의 작성, 모델의 검증이라는 흐름을 아무렇지도 않게 유지해 두면 좋을 것입니다.
참고 자료・링크
지금도 들을 수 없다! 기계 학습이란 무엇입니까? 왜 파이썬이 사용되는가?
Reference
이 문제에 관하여(제약 기업 연구자가 scikit-learn에 대해 요약했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yukiya285/items/75dd6fc539b8c1231404
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
%matplotlib inline
X_train = [[5.1], [4.9], [4.7], [4.6], [5.0], [5.4], [4.6], [5.0], [4.4], [4.9]]
y_train = [3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1]
model = LinearRegression()
model.fit(X_train, y_train) # 線形回帰モデルを作成
print(model.coef_) # 傾き
print(model.intercept_) # 切片
X_test = [[5.4], [4.8], [4.8], [4.3], [5.8]]
y_test = [3.7, 3.4, 3.0, 3.0, 4.0]
y_pred = model.predict(X_test) # 予測
print(y_pred)
fig, ax = plt.subplots()
ax.scatter(X_test, y_test, label='Test set') # 実測値の散布図
ax.plot(X_test, y_pred, label = 'Regression curve') # 回帰直線
ax.legend()
plt.show() # 予測に使ったデータを図示
plt.savefig('scikit-learn_4.png')
print(r2_score(y_test, y_pred)) # R^2値
여기에서는 scikit-learn의 기본 부분에 대해 설명했습니다.
데이터 세트의 준비, 데이터의 전처리, 예측 모델의 작성, 모델의 검증이라는 흐름을 아무렇지도 않게 유지해 두면 좋을 것입니다.
참고 자료・링크
지금도 들을 수 없다! 기계 학습이란 무엇입니까? 왜 파이썬이 사용되는가?
Reference
이 문제에 관하여(제약 기업 연구자가 scikit-learn에 대해 요약했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yukiya285/items/75dd6fc539b8c1231404
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(제약 기업 연구자가 scikit-learn에 대해 요약했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yukiya285/items/75dd6fc539b8c1231404텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)