import matplotlib.pyplot as plt
from sklearn import linear_model
import numpy
'''# 單變數的
x = [1.5, 0.8, 2.6, 1.0, 0.6, 2.8, 1.2, 0.9, 0.4, 1.3, 1.2, 2.0, 1.6, 1.8, 2.2]
y = [3.1, 1.9, 4.2, 2.3, 1.6, 4.9, 2.8, 2.1, 1.4, 2.4, 2.4, 3.8, 3.0, 3.4, 4.0]
x, y = numpy.c_[numpy.ones(len(x)), x], numpy.c_[y]
# 呼叫庫函式求解線性回歸問題
regr = linear_model.linearregression() # 呼叫標準庫函式,定義乙個線性回歸變數
regr.fit(x, y) # 線性回歸計算
print(regr.intercept_) # 列印截距 y=ax+b的b h=thete0 + thete1x的thete1
print(regr.coef_) # 列印theta值
print(regr.predict(x)) # 列印**值
print(regr.score(x, y)) # 列印精度
'''# 多變數的
# 載入測試集並縮放和標準化
test_data = numpy.loadtxt(
'ccpp_test.txt'
, delimiter=
',')
x_test, y_test = test_data[:,
:-1]
, test_data[:,
-1]# 資料差的太大,做特徵縮放
x_test =
(x_test - numpy.mean(x_test, axis=0)
)/ numpy.std(x_test, axis=
0, ddof=1)
# 拼接矩陣標準化
x_test, y_test = numpy.c_[numpy.ones(
len(x_test)
), x_test]
, numpy.c_[y_test]
m_regr = linear_model.linearregression(
)# 呼叫標準庫函式定義線性回歸變數
m_regr.fit(x_test, y_test)
# 線性回歸計算
print
(m_regr.coef_)
# 列印theta
print
(m_regr.predict(x_test)
)# 列印**值
print
(m_regr.score(x_test, y_test)
)# 列印精度
import numpy
from sklearn import linear_model
# 提取訓練集和測試集資料
tran_data = numpy.loadtxt(
'g:\a_機器學習1\workspace/ex2data1.txt'
, delimiter=
',')
test_data = numpy.loadtxt(
'g:\a_機器學習1\workspace/ex2data2.txt'
, delimiter=
',')
x_tran, y_tran = tran_data[:,
:-1]
, tran_data[:,
-1]x_test, y_test = test_data[:,
:-1]
, test_data[:,
-1]# 特徵縮放
x_tran =
(x_tran - numpy.mean(x_tran, axis=0)
)/ numpy.std(x_tran, axis=
0, ddof=1)
x_test =
(x_test - numpy.mean(x_test, axis=0)
)/ numpy.std(x_test, axis=
0, ddof=1)
# 標準化
x_tran, y_tran = numpy.c_[numpy.ones(
len(x_tran)
), x_tran]
, numpy.c_[y_tran]
x_test, y_test = numpy.c_[numpy.ones(
len(x_test)
), x_test]
, numpy.c_[y_test]
regr = linear_model.logisticregression(
)# 建立邏輯回歸物件
regr.fit(x_tran, y_tran)
# 可以理解為梯度下降的過程
print
(regr.predict(x_test)
)# 測試集**
print
('截距,'
, regr.intercept_)
# 列印截距
print
('模型引數theta'
, regr.coef_)
# 列印theta
print
('模型得分(準確率)'
, regr.score(x_test, y_test)
)# 列印模型準確率
線性回歸和邏輯回歸
最近開始學習機器學習,有點心得體會,記錄一下,希望大家批評指正 監督學習 supervised learning 根據已有的資料集,知道輸入和輸出結果之間的關係。根據這種已知的關係,訓練得到乙個最優的模型。也就是說,在監督學習中訓練資料既有特徵 feature 又有標籤 label 通過訓練,讓機器...
線性回歸 和 邏輯回歸
跟著b站乙個小姐姐學的 很不錯 1 什麼是回歸 什麼是分類?簡單來說一般回歸問題在數值上是乙個連續的 而分類問題在數值上一般是離散型的 回歸 回歸模型的更傾向於很小的區域 或者是乙個x對應乙個y 線性回歸就不在討論了 這裡學習一下 邏輯回歸 邏輯回歸 聽起來是回歸 但實際上他是解決分類問題的 是乙個...
Coursera 線性回歸和邏輯回歸
在原式子裡加入乙個 error term 之後得到這個 error tem 的正態分佈,從而到處輸出y和x 之間的概率關係。然後通過最大似然估計法,得到若要使得y的概率最大,等價於利用最小二乘法最小化 引數 的數量隨著訓練資料的增大而變多,但是當訓練資料量巨大的時候,每次 所需要的代價都很高。原訓練...