生活随笔
收集整理的這篇文章主要介紹了
Python机器学习--回归
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 30 19:55:37 2017@author: Administrator
"""'''
背景:與房價密切相關的除了單位的房價,還有房屋的尺寸。我們可以根
據已知的房屋成交價和房屋的尺寸進行線性回歸,繼而可以對已知房屋尺
寸,而未知房屋成交價格的實例進行成交價格的預測
'''import matplotlib.pyplot as plt
import numpy as np
from sklearn
import linear_model# 讀取數據集
datasets_X =
[]
datasets_Y =
[]
fpath=
'F:\\RANJIEWEN\\MachineLearning\\Python機器學習實戰_mooc\\data\\回歸\\'
fr = open(fpath+
'prices.txt',
'r')
lines =
fr.readlines()
for line
in lines:items = line.strip().split(
',')datasets_X.append(int(items[0]))datasets_Y.append(int(items[1
]))length =
len(datasets_X)
datasets_X = np.array(datasets_X).reshape([length,1
])
datasets_Y =
np.array(datasets_Y)minX =
min(datasets_X)
maxX =
max(datasets_X)
X = np.arange(minX,maxX).reshape([-1,1
])linear =
linear_model.LinearRegression()
linear.fit(datasets_X, datasets_Y)# 圖像中顯示
plt.scatter(datasets_X, datasets_Y, color =
'red')
plt.plot(X, linear.predict(X), color =
'blue')
plt.xlabel('Area')
plt.ylabel('Price')
plt.show() # -*- coding: utf-8 -*-
"""
Created on Wed Aug 30 20:24:09 2017@author: Administrator
"""'''
我們在前面已經根據已知的房屋成交價和房屋的尺寸進行了線
性回歸,繼而可以對已知房屋尺寸,而未知房屋成交價格的實例進行了成
交價格的預測,但是在實際的應用中這樣的擬合往往不夠好,因此我們在
此對該數據集進行多項式回歸。'''import matplotlib.pyplot as plt
import numpy as np
from sklearn
import linear_model
from sklearn.preprocessing
import PolynomialFeatures# 讀取數據集
datasets_X =
[]
datasets_Y =
[]fpath=
'F:\\RANJIEWEN\\MachineLearning\\Python機器學習實戰_mooc\\data\\回歸\\'
fr = open(fpath+
'prices.txt',
'r')
lines =
fr.readlines()
for line
in lines:items = line.strip().split(
',')datasets_X.append(int(items[0]))datasets_Y.append(int(items[1
]))length =
len(datasets_X)
datasets_X = np.array(datasets_X).reshape([length,1
])
datasets_Y =
np.array(datasets_Y)minX =
min(datasets_X)
maxX =
max(datasets_X)
X = np.arange(minX,maxX).reshape([-1,1
])poly_reg = PolynomialFeatures(degree = 2
)
X_poly =
poly_reg.fit_transform(datasets_X)
lin_reg_2 =
linear_model.LinearRegression()
lin_reg_2.fit(X_poly, datasets_Y)# 圖像中顯示
plt.scatter(datasets_X, datasets_Y, color =
'red')
plt.plot(X, lin_reg_2.predict(poly_reg.fit_transform(X)), color =
'blue')
plt.xlabel('Area')
plt.ylabel('Price')
plt.show() # -*- coding: utf-8 -*-
"""
Created on Wed Aug 30 20:33:00 2017@author: Administrator
"""'''
數據介紹:
數據為某路口的交通流量監測數據,記錄全年小時級別的車流量。
實驗目的:
根據已有的數據創建多項式特征,使用嶺回歸模型代替一般的線性模型,對
車流量的信息進行多項式回歸。
'''import numpy as npfrom sklearn.linear_model
import Ridge
from sklearn
import cross_validation
import matplotlib.pyplot as plt
from sklearn.preprocessing
import PolynomialFeaturesfpath=
'F:\RANJIEWEN\MachineLearning\Python機器學習實戰_mooc\data\回歸\嶺回歸.csv'data=pd.read_csv(fpath,encoding=
'gbk',parse_dates=[0],index_col=
0)#data.sort_index(0,ascending=True,inplace=True)
X=data.iloc[:,:4]
##語法
y=data.iloc[:,4
]
poly=PolynomialFeatures(6)
#設置多項式的最高次數
X=
poly.fit_transform(X)train_set_X,test_set_X,train_set_y,test_set_y=
\cross_validation.train_test_split(X,y,test_size=0.3,random_state=0)
#設置測試集的比例,random_state隨機數種子
clf=Ridge(alpha=1.0,fit_intercept=
True)
clf.fit(train_set_X,train_set_y)
clf.score(test_set_X,test_set_y) #plot
start=200
end=300
y_pre=
clf.predict(X)
time=
np.arange(start,end)
plt.plot(time,y[start:end],'b',label=
'real')
plt.plot(time,y_pre[start:end],'r',label=
'predict')
plt.legend(loc=
'upper left')
plt.show() ?
總結
以上是生活随笔為你收集整理的Python机器学习--回归的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。