<noframes id="r35z7"><menuitem id="r35z7"></menuitem>
<var id="r35z7"><strike id="r35z7"></strike></var>
<var id="r35z7"><video id="r35z7"></video></var>
<cite id="r35z7"></cite>
<var id="r35z7"><strike id="r35z7"><listing id="r35z7"></listing></strike></var>
<var id="r35z7"></var>
<cite id="r35z7"></cite>
<var id="r35z7"></var>
<var id="r35z7"></var>

Python:生成用于機器學習的測試數據集

添加時間:2020-10-20 16:14:19

來源:

瀏覽:

每當我們想到機器學習時,想到的第一件事就是數據集。雖然您可以在Kaggle等網站上找到許多數據集,但有時提取自己的數據并生成自己的數據集很有用。生成自己的數據集可讓您更好地控制數據,并訓練您的機器學習模型。

在本文中,我們將使用Python中的Numpy庫生成隨機數據集。

需要的庫:

-> numpy : sudo pip安裝numpy

->熊貓: sudo pip install pandas

-> Matplotlib: sudo pip安裝matplotlib

正態分布:

在概率論中,正態分布或高斯分布是關于均值對稱的非常常見的連續概率分布,這表明均值附近的數據比不均值的數據發生的頻率更高。統計中使用的正態分布,通常用于表示實值隨機變量。


正態分布是統計分析中最常見的分布類型。標準正態分布具有兩個參數:平均值和標準偏差。平均值是分布的主要趨勢。標準偏差是變異性的量度。它定義了正態分布的寬度。標準偏差確定值與平均值之間的下降幅度。它代表觀測值與平均值之間的典型距離。它適合許多自然現象,例如身高,血壓,測量誤差和智商得分遵循正態分布。


正態分布圖:

例:


filter_none

亮度_4

# importing libraries 

import pandas as pd 

import numpy as np 

import matplotlib.pyplot as plt 

  

# initialize the parameters for the normal 

# distribution, namely mean and std. 

# deviation 

  

# defining the mean 

mu = 0.5

# defining the standard deviation  

sigma = 0.1

  

# The random module uses the seed value as a base  

# to generate a random number. If seed value is not  

# present, it takes the system’s current time. 

np.random.seed(0) 

  

# define the x co-ordinates 

X = np.random.normal(mu, sigma, (395, 1)) 

  

# define the y co-ordinates 

Y = np.random.normal(mu * 2, sigma * 3, (395, 1)) 

  

# plot a graph 

plt.scatter(X, Y, color = 'g') 

plt.show() 

輸出:



讓我們看一個更好的例子。


我們將生成一個包含4列的數據集。數據集中的每一列代表一個要素。數據集的第5列是輸出標簽。它在0-3之間變化。該數據集可用于訓練分類器,例如邏輯回歸分類器,神經網絡分類器,支持向量機等。


filter_none

亮度_4

# importing libraries 

import numpy as np 

import pandas as pd 

import math 

import random 

import matplotlib.pyplot as plt  

  

# defining the columns using normal distribution 

  

# column 1 

point1 = abs(np.random.normal(1, 12, 100)) 

# column 2 

point2 = abs(np.random.normal(2, 8, 100)) 

# column 3 

point3 = abs(np.random.normal(3, 2, 100)) 

# column 4 

point4 = abs(np.random.normal(10, 15, 100)) 

  

# x contains the features of our dataset 

# the points are concatenated horizontally 

# using numpy to form a feature vector. 

x = np.c_[point1, point2, point3, point4] 

  

# the output labels vary from 0-3 

y = [int(np.random.randint(0, 4)) for i in range(100)] 

  

# defining a pandas data frame to save 

# the data for later use 

data = pd.DataFrame() 

  

# defining the columns of the dataset 

data['col1'] = point1 

data['col2'] = point2 

data['col3'] = point3 

data['col4'] = point4 

      

# plotting the various features (x) 

# against the labels (y). 

plt.subplot(2, 2, 1) 

plt.title('col1') 

plt.scatter(y, point1, color ='r', label ='col1') 

      

plt.subplot(2, 2, 2) 

plt.title('Col2') 

plt.scatter(y, point2, color = 'g', label ='col2') 

      

plt.subplot(2, 2, 3) 

plt.title('Col3') 

plt.scatter(y, point3, color ='b', label ='col3') 

      

plt.subplot(2, 2, 4) 

plt.title('Col4') 

plt.scatter(y, point4, color ='y', label ='col4') 

      

# saving the graph 

plt.savefig('data_visualization.jpg')         

  

# displaying the graph 

plt.show() 

輸出:


用戶名 Name
評論 Comment

聯系我們

/ CONTACT US

地 址:四川省成都市航空路豐德國際廣場

郵政編碼:610000

電 話:18215660330

傳 真:18215660330

手機:18215660330

郵 箱:179001057@qq.com

投訴郵 箱:179001057@qq.com

姓名Name
標題Title
郵 箱Emali
聯系電話Tel
內容Content
凤凰彩票