線性迴歸實例學習


# -*- coding:utf-8 -*-

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from  sklearn.linear_model import LinearRegression
data = pd.read_csv('height.vs.temperature.csv')
# print(data.head())
# print(data.columns)  #Index(['height', 'temperature'], dtype='object')

plt.figure(figsize=(16,8))
plt.scatter(data['height'], data['temperature'], c ='black')
plt.xlabel("Height -Temp  ")
plt.ylabel("Temp")
plt.show()

X = data['height'].values.reshape(-1,1)
y = data['temperature'].values.reshape(-1,1)
res = LinearRegression()
print(res.fit(X,y))
#LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

# print('a = {:.5}'.format(res.coef_[0][0]))
# print('b = {:.5}'.format(res.intercept_[0]))
#
# print("線性模型爲: Y = {:.5}X + {:.5} ".format(res.coef_[0][0], res.intercept_[0]))

"""
a = -0.0065695
b = 12.719
線性模型爲: Y = -0.0065695X + 12.719 
"""

pre = res.predict(X)
plt.figure(figsize=(16,8))
plt.scatter(data['height'], data['temperature'], c ='black')
plt.plot(data['height'], pre,c ='blue', linewidth=2)
plt.xlabel("Height -Temp  ")
plt.ylabel("Temp")
plt.show()

pres = res.predict([[6000]])  #[[-6.99009493]]
print('高度爲3000米的話,氣溫爲{:.5}度'.format( pres[0][0]) )  #高度爲3000米的話,氣溫爲-26.699度
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章