선형 회귀의 보스턴 집값 예측
1387 단어 기계 학습
from sklearn.datasets import load_boston
import numpy as np
import matplotlib.pyplot as plt
def feature_scalling(X):
mean = X.mean(axis=0)
std = X.std(axis=0)
return (X - mean) / std
def load_data(shuffled=False):
data = load_boston()
# print(data.DESCR)#
X = data.data
y = data.target
X = feature_scalling(X)
y = np.reshape(y, (len(y), 1))
if shuffled:
shuffle_index = np.random.permutation(y.shape[0])
X = X[shuffle_index]
y = y[shuffle_index] #
return X, y
def costJ(X, y, w, b):
m, n = X.shape
J = 0.5 * (1 / m) * np.sum((y - np.dot(X, w) - b) ** 2)
return J
X, y = load_data()
m, n = X.shape # 506,13
w = np.random.randn(13, 1)
b = 0.1
alpha = 0.01
cost_history = []
for i in range(5000):
y_hat = np.dot(X, w) + b
grad_w = -(1 / m) * np.dot(X.T, (y - y_hat))
grad_b = -(1 / m) * np.sum(y - y_hat)
w = w - alpha * grad_w
b = b - alpha * grad_b
if i % 100 == 0:
cost_history.append(costJ(X, y, w, b))
# plt.plot(np.arange(len(cost_history)),cost_history)
# plt.show()
# print(cost_history)
y_pre = np.dot(X, w) + b
numerator = np.sum((y - y_pre) ** 2)
denominator= np.sum((y - y.mean()) ** 2)
print(1 - (numerator / denominator))
출처:https://github.com/TolicWang/MachineLearningWithMe/blob/master/Lecture_01/LinearRegression.py
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
형태소 분석은 데스크톱을 구성하는 데 도움이?문자×기계 학습에 흥미를 가져와 개인 범위의 용도를 생각해, 폴더 정리에 사용할 수 있을까 생각해 검토를 시작했습니다. 이번 검토에서는 폴더 구성 & text의 읽기 → mecab × wordcloud를 실시하고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.