Scikit learn의 예시가 대부분 데이터를 만들거나 내장 데이터셋을 이용하기 때문에
실제 csv파일을 가지고 ML 예제를 다뤄보겠습니다.
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score
%matplotlib inline
필요한 모듈을 가져옵니다.

내장 데이터셋의 디렉토리를 찾아 csv파일을 찾고 저장을 했는데 처리가 필요할 거 같습니다.

깔끔하게 정리해주고 X_2로 저장했습니다.
diabetes_X = pd.read_csv('X_2.csv', encoding='utf-8')
diabetes_X.head()

pandas의 Data Frame 형태로 csv파일을 불러오고 diabetes_X 변수에 할당했습니다.
diabetes_X.head()로 맨 위 다섯 줄만 나타냅니다.
diabetes_X = pd.read_csv('X_2.csv', encoding='utf-8', usecols=["X_3"])
diabetes_X

Simple linear regression 모델을 만들기 때문에 usecols=["X_3] 옵션을 추가해 변수 하나만 취하고 diabetes_X에 할당했습니다.
diabetes_y = pd.read_csv('y.csv', encoding='utf-8')
diabetes_y.head()

y도 마찬가지로 csv파일을 불러와서 diabetes_y에 할당했습니다.
diabetes_y.head()로 맨 위 5줄만 나타냈습니다.

원래 y.csv 파일입니다.
이제 모든 환경이 갖추어졌습니다.
나머지는 아래와 동일합니다.
2019/10/16 - [scikit-learn] - Scikit-Learn(사이킷런) 코드 완벽 분석 - Linear Regression 내장 데이터셋
Scikit-Learn(사이킷런) 코드 완벽 분석 - Linear Regression 내장 데이터셋
# Code source: Jaques Grobler # License: BSD 3 clause 코드 소스와 저작권은 위와 같음을 밝힙니다. import matplotlib.pyplot as plt import numpy as np from sklearn import datasets, linear_model from sk..
bizzengine.tistory.com
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)
# Make predictions using the testing set
diabetes_y_pred = regr.predict(diabetes_X_test)
# The coefficients
print('Coefficients: \n', regr.coef_)
# The mean squared error
print("Mean squared error: %.2f"
% mean_squared_error(diabetes_y_test, diabetes_y_pred))
# Explained variance score: 1 is perfect prediction
print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))
# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test, color='black')
plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)
plt.xticks(())
plt.yticks(())
plt.show()

나머지 코드를 똑같이 진행하였고 결과 역시 같음을 확인할 수 있습니다.
'scikit-learn' 카테고리의 다른 글
Scikit-Learn(사이킷런) 코드 완벽 분석 - Tree Regression (0) | 2019.10.22 |
---|---|
Scikit-Learn(사이킷런) 코드 완벽 분석 - Linear Regression OLS, Ridge Variance 비교 (0) | 2019.10.21 |
Scikit-Learn(사이킷런) 코드 완벽 분석 - Linear Regression Lasso (0) | 2019.10.18 |
Scikit-Learn(사이킷런) 코드 완벽 분석 - Linear Regression Ridge (0) | 2019.10.16 |
Scikit-Learn(사이킷런) 코드 완벽 분석 - Linear Regression 내장 데이터셋 (0) | 2019.10.16 |
댓글