【python】scikit-learn에서 선형 회귀
13501 단어 파이썬scikit-learnmatplotlib
마지막까지의 개요
지난번 에서 csv 파일을 읽고 산점도를 그렸습니다.
완성된 코드와 그림은 이런 느낌
import numpy as np
import matplotlib.pyplot as plt
data_set = np.loadtxt(
fname="sampleData.csv",
dtype="float",
delimiter=",",
)
#散布図を描画 → scatterを使用する
#1行ずつ取り出して描画
#plt.scatter(x座標の値, y座標の値)
for data in data_set:
plt.scatter(data[0], data[1])
plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()
plt.show()
이번에 할 일
scikit-learn
를 사용하여 선형 회귀를 수행하여 회귀 직선을 그립니다.
절차
1 csv에서 x 좌표, y 좌표의 데이터 검색
#x,yのデータを別配列に格納
x = np.array(1) #numpy配列を用意
y = np.array(1) #このとき先頭にいらないデータが入っている
for data in data_set:
x = np.append(x, data[0]) #appendでデータを追加
y = np.append(y, data[1])
x = np.delete(x, 0,0) #先頭のいらないデータを削除
y = np.delete(y, 0,0)
2 선형 회귀를 하는 모델에 1로 취한 x, y를 넣을 수 있다
3 2로 만든 모델로 예측을 실시하여 직선을 만든다
4 matplotlib로 그리기
scikit-learn이란 무엇인가
회귀라든지 분류라든지를 해 주는 모듈입니다(자크리)
자세한 내용은 여기 → 공식 페이지
선형 회귀 모델을 사용하는 코드
# 線形回帰用のモジュールをインポート
from sklearn.linear_model import LinearRegression
#回帰直線のx座標用にnumpyのlinspaceで-10から40までの値を均等に100個用意
line_x = np.linspace(-10, 40, 100)
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1)) #データをモデルにいれる
model_y = model.predict(line_x.reshape(-1,1)) # 予測
plt.plot(line_x, model_y, color = 'yellow')
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
하지만 함수의 인수에 맞게 numpy 배열의 모양을 바꾸고 있습니다.
자세한 내용은 여기
완성된 코드와 그림이 여기
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data_set = np.loadtxt(
fname="sampleData.csv",
dtype="float",
delimiter=",",
)
#x,yのデータを別配列に格納
x = np.array(1)
y = np.array(1)
for data in data_set:
x = np.append(x, data[0])
y = np.append(y, data[1])
x = np.delete(x, 0,0)
y = np.delete(y, 0,0)
#散布図を描画
for data in data_set:
plt.scatter(data[0], data[1])
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
line_x = np.linspace(-10, 40, 100)
model_y = model.predict(line_x.reshape(-1,1))
plt.plot(line_x, model_y, color = 'yellow')
plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()
plt.show()
그럼 고마워.
Reference
이 문제에 관하여(【python】scikit-learn에서 선형 회귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikuchiTakuya/items/b9db2fe9216172c01b0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import matplotlib.pyplot as plt
data_set = np.loadtxt(
fname="sampleData.csv",
dtype="float",
delimiter=",",
)
#散布図を描画 → scatterを使用する
#1行ずつ取り出して描画
#plt.scatter(x座標の値, y座標の値)
for data in data_set:
plt.scatter(data[0], data[1])
plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()
plt.show()
scikit-learn
를 사용하여 선형 회귀를 수행하여 회귀 직선을 그립니다.절차
1 csv에서 x 좌표, y 좌표의 데이터 검색
#x,yのデータを別配列に格納
x = np.array(1) #numpy配列を用意
y = np.array(1) #このとき先頭にいらないデータが入っている
for data in data_set:
x = np.append(x, data[0]) #appendでデータを追加
y = np.append(y, data[1])
x = np.delete(x, 0,0) #先頭のいらないデータを削除
y = np.delete(y, 0,0)
2 선형 회귀를 하는 모델에 1로 취한 x, y를 넣을 수 있다
3 2로 만든 모델로 예측을 실시하여 직선을 만든다
4 matplotlib로 그리기
scikit-learn이란 무엇인가
회귀라든지 분류라든지를 해 주는 모듈입니다(자크리)
자세한 내용은 여기 → 공식 페이지
선형 회귀 모델을 사용하는 코드
# 線形回帰用のモジュールをインポート
from sklearn.linear_model import LinearRegression
#回帰直線のx座標用にnumpyのlinspaceで-10から40までの値を均等に100個用意
line_x = np.linspace(-10, 40, 100)
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1)) #データをモデルにいれる
model_y = model.predict(line_x.reshape(-1,1)) # 予測
plt.plot(line_x, model_y, color = 'yellow')
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
하지만 함수의 인수에 맞게 numpy 배열의 모양을 바꾸고 있습니다.
자세한 내용은 여기
완성된 코드와 그림이 여기
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data_set = np.loadtxt(
fname="sampleData.csv",
dtype="float",
delimiter=",",
)
#x,yのデータを別配列に格納
x = np.array(1)
y = np.array(1)
for data in data_set:
x = np.append(x, data[0])
y = np.append(y, data[1])
x = np.delete(x, 0,0)
y = np.delete(y, 0,0)
#散布図を描画
for data in data_set:
plt.scatter(data[0], data[1])
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
line_x = np.linspace(-10, 40, 100)
model_y = model.predict(line_x.reshape(-1,1))
plt.plot(line_x, model_y, color = 'yellow')
plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()
plt.show()
그럼 고마워.
Reference
이 문제에 관하여(【python】scikit-learn에서 선형 회귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikuchiTakuya/items/b9db2fe9216172c01b0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 線形回帰用のモジュールをインポート
from sklearn.linear_model import LinearRegression
#回帰直線のx座標用にnumpyのlinspaceで-10から40までの値を均等に100個用意
line_x = np.linspace(-10, 40, 100)
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1)) #データをモデルにいれる
model_y = model.predict(line_x.reshape(-1,1)) # 予測
plt.plot(line_x, model_y, color = 'yellow')
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
하지만 함수의 인수에 맞게 numpy 배열의 모양을 바꾸고 있습니다.자세한 내용은 여기
완성된 코드와 그림이 여기
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data_set = np.loadtxt(
fname="sampleData.csv",
dtype="float",
delimiter=",",
)
#x,yのデータを別配列に格納
x = np.array(1)
y = np.array(1)
for data in data_set:
x = np.append(x, data[0])
y = np.append(y, data[1])
x = np.delete(x, 0,0)
y = np.delete(y, 0,0)
#散布図を描画
for data in data_set:
plt.scatter(data[0], data[1])
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
line_x = np.linspace(-10, 40, 100)
model_y = model.predict(line_x.reshape(-1,1))
plt.plot(line_x, model_y, color = 'yellow')
plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()
plt.show()
그럼 고마워.
Reference
이 문제에 관하여(【python】scikit-learn에서 선형 회귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikuchiTakuya/items/b9db2fe9216172c01b0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data_set = np.loadtxt(
fname="sampleData.csv",
dtype="float",
delimiter=",",
)
#x,yのデータを別配列に格納
x = np.array(1)
y = np.array(1)
for data in data_set:
x = np.append(x, data[0])
y = np.append(y, data[1])
x = np.delete(x, 0,0)
y = np.delete(y, 0,0)
#散布図を描画
for data in data_set:
plt.scatter(data[0], data[1])
#scikit-learnでの最小二乗法モデルで予測式を求める
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
line_x = np.linspace(-10, 40, 100)
model_y = model.predict(line_x.reshape(-1,1))
plt.plot(line_x, model_y, color = 'yellow')
plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()
plt.show()
Reference
이 문제에 관하여(【python】scikit-learn에서 선형 회귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kikuchiTakuya/items/b9db2fe9216172c01b0b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)