from random import choice
import matplotlib.pyplot as plt
class randonmwalk():
「」「乙個生成隨機漫步資料的類」""
def __init__(self, num_points=5000):
"""初始化隨機漫步的屬性"""
self.num_points = num_points
# 所有隨機漫步都始於(0,0)
self.x_values = [0]
self.y_values = [0]
def fill_walk(self):
"""計算隨機漫步包含的所有的點"""
"""不斷漫步直到到達指定長度"""
while len(self.x_values) < self.num_points:
# 決定前進方向以及沿這個方向前進的距離
x_direction = choice([1, -1])
x_distance = choice([0, 1, 2, 3, 4])
x_step = x_direction * x_distance
y_direction = choice([1, -11])
y_distance = choice([0, 1, 2, 3, 4])
y_step = y_direction * y_distance
# 拒絕原地踏步
if x_step == 0 and y_step == 0:
continue
# 計算下乙個點的x和y的值
next_x = self.x_values[-1] + x_step
next_y = self.y_values[-1] + y_step
while true:
rw = randonmwalk(5000)
rw.fill_walk()
# 設定尺寸來適合螢幕
plt.figure(figsize=(10, 6))
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.blues, edgecolor=『none』, s=15)
# 突出起點和終點
plt.scatter(0, 0, c=『green』, edgecolors=『none』, s=100)
plt.scatter(rw.x_values[-1], rw.y_values[-1], c=『red』, edgecolors=『none』, s=100)
# 隱藏座標
plt.axes().get_xaxis().set_visible(false)
plt.axes().get_yaxis().set_visible(false)
plt.show()
keep_running = input("make the another walk? (y/n): ")
if keep_running == 'n':
break
利用numpy資料分析 酒鬼漫步
在一片空曠的平地上,有乙個酒鬼,他最初停留在原點的位置,這個酒鬼每走一步時,方向是不確定的,在經過時間t之後,我們希望計算出這個酒鬼與原點的距離。這個酒鬼走了2000步 每步0.5公尺 向前走一步記為1,向後走一步記為 1,當計算距原點的距離時,就是將所有的步數進行累計求和。1 使用random模組...
python隨機漫步 Python 隨機漫步
建立randomwalk 類 我們將使用python來生成隨機漫步資料,再使用matplotlib以引入矚目的方式將這些資料呈現出來 首先建立類randomwalk from random importchoiceclassrandomwalk 乙個生成隨機漫步資料的類 def init self,...
資料分析 隨機森林
隨機森林是bagging演算法的典型代表,所謂bagging演算法也即隨機有放回抽取部分樣本進行平行測試,輸出平行結果,以少數服從多數原則或者平均原則確定最終結果。與bagging演算法相對的就是boosting演算法,boosting演算法是一種梯度演算法。其以基評估器為基礎,對評估存在錯誤的樣本...