Machine learning combat-regression algorithm-18

Regression Algorithm-Boston Housing Price Forecast

from sklearn.datasets import load_boston
import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LassoCV
import seaborn as sns
house = load_boston()
print(house.DESCR)

Insert picture description here
Insert picture description here

x = house.data
y = house.target
df = pd.DataFrame(x, columns=house.feature_names)
df['Target'] = pd.DataFrame(y, columns=['Target'])
df.head()

Insert picture description here

plt.figure(figsize=(15,15))  
# 画热力图,数值为两个变量之间的相关系数
p=sns.heatmap(df.corr(), annot=True, square=True) 
# 数据标准化
from sklearn.preprocessing import StandardScaler

ss = StandardScaler()
x = ss.fit_transform(x)
print(x[:5])

Insert picture description here

from sklearn.model_selection import train_test_split
# 切分数据集
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3)
# 创建模型
model = LassoCV()
model.fit(x_train, y_train)

# lasso系数
print(model.alpha_)
# 相关系数
print(model.coef_)

Insert picture description here

model.score(x_test, y_test)

Insert picture description here

Regression algorithm-wine quality and time relationship

Insert picture description here

import numpy as np 
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 载入数据
data = np.genfromtxt('linear.csv', delimiter=',')
# 画图
plt.scatter(data[1:,0],data[1:,1])
plt.title('Age Vs Quality (Test set)')
plt.xlabel('Age')
plt.ylabel('Quality')
plt.show()

Insert picture description here

# 数据拆分
x_train, x_test, y_train, y_test = train_test_split(data[1:, 0], data[1:, 1], test_size = 0.3)
# 1D->2D,给数据增加一个维度,主要是训练模型的时候,函数要求传入2维的数据
x_train = x_train[:, np.newaxis]
x_test = x_test[:, np.newaxis]
# 训练模型
model = LinearRegression()
model.fit(x_train, y_train)

Insert picture description here

# 训练集的散点图
plt.scatter(x_train, y_train, color = 'b')
# 模型对训练集的预测结果
plt.plot(x_train,model.predict(x_train), color ='r' , linewidth=5)
# 画表头和xy坐标描述
plt.title('Age Vs Quality (Training set)')
plt.xlabel('Age')
plt.ylabel('Quality')
plt.show()

Insert picture description here

# 测试集的散点图
plt.scatter(x_test, y_test, color = 'b')
# 模型对测试集的预测结果
plt.plot(x_test,model.predict(x_test), color ='r', linewidth=5)
# 画表头和xy坐标描述
plt.title('Age Vs Quality (Test set)')
plt.xlabel('Age')
plt.ylabel('Quality')
plt.show()

Insert picture description here

Guess you like

Origin blog.csdn.net/qq_37978800/article/details/113862848