機器學習之pandas庫 小專案實戰

2021-09-25 23:17:27 字數 4407 閱讀 9380

global_active_power  global_reactive_power  global_intensity    b

1 5.360 0.436 23.0 1.0

2 5.374 0.498 23.0 1.0

3 5.388 0.502 23.0 1.0

4 3.666 0.528 15.8 1.0

5 3.520 0.522 15.0 1.0

6 3.702 0.520 15.8 1.0

7 3.700 0.520 15.8 1.0

8 3.668 0.510 15.8 1.0

9 3.662 0.510 15.8 1.0

10 4.448 0.498 19.6 1.0

11 5.412 0.470 23.2 1.0

12 5.224 0.478 22.4 1.0

13 5.268 0.398 22.6 1.0

14 4.054 0.422 17.6 1.0

15 3.384 0.282 14.2 1.0

16 3.270 0.152 13.8 1.0

17 3.430 0.156 14.4 1.0

18 3.266 0.000 13.8 1.0

19 3.728 0.000 16.4 1.0

20 5.894 0.000 25.4 1.0

import numpy as np

import pandas as pd

path=

'e:\php\pycharmprojects\python_ml\ml_two\datas\household_power_consumption_1000.txt'

df = pd.

read_csv

(path,sep=

';') #使用pandas載入csv

## 對資料集增加偏置,並去除掉不需要的列

b = np.

ones

(len

(df)

) #建立一列為1的dataframe,起名為b作為偏置項

df['b'

]= b #將偏置項合併到原始dataframe

#獲取global_active_power、global_reactive_power、global_intensity和偏置列b的dataframe

a = df[

['global_active_power'

,'global_reactive_power'

,'global_intensity'

,'b']]

## 異常資料處理

a = a.

replace

('?'

,np.nan)

.dropna

()# 只要有特徵為空,就進行刪除操作

print

(a.head(20

))#將字串轉為浮點

print

(a.info()

)a['global_active_power'

]= a[

'global_active_power'].

astype

('float64'

)print

(a.info()

)## 分離x和y

#獲取"global_active_power"

,"global_reactive_power"

,"b"為x

x= a[

['global_active_power'

,'global_reactive_power'

,'b']]

y= a[

['global_intensity'

]]#獲取global_intensity作為y

## 將dataframe轉為numpy矩陣

x= np.

mat(

x) #將x轉為numpy矩陣

y= np.

mat(

y) #將y轉為numpy矩陣

##使用正規方程法求解模型引數

theta = np.

dot(np.linalg.

inv(np.

dot(x.

t,x)

),np.

dot(x.

t,y)

)print

(theta)

global_active_power  global_reactive_power  global_intensity    b

1 5.360 0.436 23.0 1.0

2 5.374 0.498 23.0 1.0

3 5.388 0.502 23.0 1.0

4 3.666 0.528 15.8 1.0

5 3.520 0.522 15.0 1.0

int64index: 999 entries, 1 to 999

data columns (total 4 columns):

global_active_power 999 non-null object

global_reactive_power 999 non-null float64

global_intensity 999 non-null float64

b 999 non-null float64

dtypes: float64(3), object(1)

memory usage: 39.0+ kb

none

int64index: 999 entries, 1 to 999

data columns (total 4 columns):

global_active_power 999 non-null float64

global_reactive_power 999 non-null float64

global_intensity 999 non-null float64

b 999 non-null float64

dtypes: float64(4)

memory usage: 39.0 kb

none

[[4.10551185]

[0.68820978]

[0.35884791]]

機器學習之pandas庫 小專案實戰

自行車共享系統是新一代的傳統自行車租賃,其中會員,租賃和退貨的整個過程已經自動化。通過這些系統,使用者能夠從特定位置輕鬆地租用自行車並在另乙個位置返回。目前,全世界約有500多個自行車共享計畫,其中包括超過50萬輛自行車。今天,由於它們在交通,環境和健康問題中的重要作用,因此對這些系統存在很大興趣。...

機器學習之pandas

import pandas as pd a pd.read csv 檔案路徑 讀取檔案 a.head 顯示的條數 顯示前部分資料 a.tail 顯示的條數 顯示後部分資料 a.columns 輸出列 a.loc 序列號 輸出乙個樣本 a.columns.tolist 將列轉換成列表 c.endwit...

機器學習 pandas庫使用

關於pandas庫中dataframe的使用,dataframe表示的是乙個有序的 dataframe有自己的行索引和列索引,這與series不同,series只有列索引,dataframe每一列,每一行都可以是不同的資料型別,接下來讓我們來看一下dataframe的使用 import pandas...