第十三次做業——迴歸模型與房價預測&第十一次做業——sklearn中樸素貝葉斯模型及其應用&第七次做業——numpy統計分佈顯示

第十三次做業——迴歸模型與房價預測數組

1. 導入boston房價數據集dom

2. 一元線性迴歸模型,創建一個變量與房價之間的預測模型,並圖形化顯示。測試

3. 多元線性迴歸模型,創建13個變量與房價之間的預測模型,並檢測模型好壞,並圖形化顯示檢查結果。spa

4.  一元多項式迴歸模型,創建一個變量與房價之間的預測模型,並圖形化顯示。code

 

代碼:orm

#導入boston房價數據集
from sklearn.datasets import load_boston
import  pandas as pd
 
boston = load_boston()
df = pd.DataFrame(boston.data) 

#一元線性迴歸模型,創建一個變量與房價之間的預測模型,並圖形化顯示。
from sklearn.linear_model import LinearRegression
import  matplotlib.pyplot as plt
 
x =boston.data[:,5]
y = boston.target
LinR = LinearRegression()
LinR.fit(x.reshape(-1,1),y)
w=LinR.coef_
b=LinR.intercept_
print(w,b)
 
plt.scatter(x,y)
plt.plot(x,w*x+b,'orange')
plt.show()

#多元線性迴歸模型,創建13個變量與房價之間的預測模型,並檢測模型好壞,並圖形化顯示檢查結果。
x = boston.data[:,12].reshape(-1,1)
y = boston.target
plt.figure(figsize=(10,6))
plt.scatter(x,y)
 
lineR = LinearRegression()
lineR.fit(x,y)
y_pred = lineR.predict(x)
plt.plot(x,y_pred,'r')
print(lineR.coef_,lineR.intercept_)
plt.show()

#一元多項式迴歸模型,創建一個變量與房價之間的預測模型,並圖形化顯示。

from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=3)
x_poly = poly.fit_transform(x)
print(x_poly)
lrp = LinearRegression()
lrp.fit(x_poly,y)
y_poly_pred = lrp.predict(x_poly)
plt.scatter(x,y)
plt.scatter(x,y_pred)
plt.scatter(x,y_poly_pred)
plt.show()

運行結果:blog

 

 

 

 

 第十一次做業——sklearn中樸素貝葉斯模型及其應用ip

1.使用樸素貝葉斯模型對iris數據集進行花分類get

嘗試使用3種不一樣類型的樸素貝葉斯:pandas

高斯分佈型

多項式型

伯努利型

2.使用sklearn.model_selection.cross_val_score(),對模型進行驗證。

 

3. 垃圾郵件分類

數據準備:

  • csv讀取郵件數據,分解出郵件類別及郵件內容。
  • 對郵件內容進行預處理:去掉長度小於3的詞,去掉沒有語義的詞等

嘗試使用nltk庫:

pip install nltk

import nltk

nltk.download

不成功:就使用詞頻統計的處理方法

 

訓練集和測試集數據劃分

  • from sklearn.model_selection import train_test_split

代碼:

# 導入鳶尾花數據集
from sklearn.datasets import load_iris

# 數據選取
iris_data = load_iris()['data']
iris_target = load_iris()['target']

# 用高斯模型進行預測並評估
from sklearn.naive_bayes import GaussianNB
mol = GaussianNB()
result = mol.fit(iris_data,iris_target)
# 對模型進行評估
from sklearn.model_selection import cross_val_score
scores = cross_val_score(mol,iris_data,iris_target,cv=10)
# 對預測結果的正確個數進行計算
print("高斯模型:")
print("數據總數:",len(iris_data),"  錯誤個數:",(iris_target != predi).sum())
print("Accuracy:%.3f"%scores.mean())

# 用貝努裏模型進行預測和評估
from sklearn.naive_bayes import BernoulliNB
bnb = BernoulliNB()
result2 = bnb.fit(iris_data,iris_target)
pred2 = bnb.predict(iris_data)
# 計算錯誤個數
print("貝努裏模型:")
print("數據總數:",len(iris_data),"  錯誤個數:",(iris_target != pred2).sum())
#模型評分
scores2 = cross_val_score(bnb,iris_data,iris_target)
print("Accuracy:%.3f"%scores2.mean())

# 用多項式創建模型進行預測和評估
from sklearn.naive_bayes import MultinomialNB
mnb = MultinomialNB()
result3 = mnb.fit(iris_data,iris_target)
# 預測
pred3 = result3.predict(iris_data)
# 計算錯誤個數
print("多項式模型:")
print("數據總數:",iris_data.shape[0],"  錯誤個數:",(iris_target != pred3).sum())
# 模型評分
scores3 = cross_val_score(mnb,iris_data,iris_target)
print("Accuracy:%.3f"%scores3.mean())

運行結果:

 

 

第七次做業——numpy統計分佈顯示

用np.random.normal()產生一個正態分佈的隨機數組,並顯示出來。

np.random.randn()產生一個正態分佈的隨機數組,並顯示出來。

顯示鳶尾花花瓣長度的正態分佈圖,曲線圖,散點圖。

 

代碼:

import numpy as np

# 導入鳶尾花數據
from sklearn.datasets import load_iris
data = load_iris()
pental_len = data.data[:,2]

# 計算鳶尾花花瓣長度最大值,平均值,中值,均方差
print("最大值:",np.max(pental_len))
print("平均值:",np.mean(pental_len))
print("中值:",np.median(pental_len))
print("均方差:",np.std(pental_len))

# 用np.random.normal()產生一個正態分佈的隨機數組,並顯示出來
print(np.random.normal(1,4,50))
print('============================================================================')

# np.random.randn()產生一個正態分佈的隨機數組,並顯示出來
print(np.random.randn(50))

# 顯示鳶尾花花瓣長度的正態分佈圖
import matplotlib.pyplot as plt
mu = np.mean(pental_len)
sigma = np.std(pental_len)
num = 10000
rand_data=np.random.normal(mu,sigma,num)
count,bins,ignored=plt.hist(rand_data,30,normed=True)
plt.plot(bins,1/(sigma*np.sqrt(2*np.pi))*np.exp(-(bins-mu)**2/(2*sigma**2)),linewidth=2,color="r")
plt.show()

# 顯示鳶尾花花瓣長度曲線圖
plt.plot(np.linspace(1,160,num=150),pental_len,'g')
plt.show()

# 顯示鳶尾花花瓣長度散點圖
plt.scatter(np.linspace(1,160,num=150),pental_len,alpha=1,marker='x')
plt.show()

 

運行結果:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章
相關標籤/搜索