機器學習學習小結(3)

2021-08-22 18:18:50 字數 1977 閱讀 7348

1. scikit-learn環境

在anaconda常用的命令(在anaconda prompt中鍵入):

若在window命令視窗中直接輸入conda list會提示不是內部或外部命令:

scikit-learn中文文件:建立在numpy,scipy和matplotlib(事先需要安裝)。

2. anaconda和pycharm編寫程式

資料集:

裡面有一項是:

missing values?

yes下面是資料收集,資料處理階段的**。在pycharm中執行。

from sklearn.linear_model import linearregression #線性回歸要使用

from sklearn.model_selection import train_test_split #將資料進行分割成訓練資料和測試資料

from sklearn.preprocessing import standardscaler #資料的標準化處理

import numpy as np

import pandas as pd

import matplotlib as mpl

import matplotlib.pyplot as plt

import time

# 解決顯示中文字元的問題

mpl.rcparams['font.family'] ='sans-serif'

mpl.rcparams['font.sans-serif'] ='simhei'

mpl.rcparams['axes.unicode_minus']=false

#下面進入機器學習的流程

#下面是資料收集階段

path1='data.txt' #資料集在當前工程下的路徑和名稱

df=pd.read_csv(path1, sep=';', low_memory=false) #讀取資料,以;為分隔符,low_memory表示資料的型別是一致時可以提公升執行速度。

# print(type(df))#型別是dataframe物件,有行和列

# print(df.index)#行索引

# print(df.columns)#列索引

# print(df.head(3))#看前面的三行資料

# print(df.info( ))#看資料的型別,都是物件

#下面是針對於異常資料的處理

new_df=df.replace('?', np.nan)#將?替換為np.nan

datas=new_df.dropna(axis=0, how='any')#任一行有np.nan時就把這一行給刪掉

# print(datas.index)

# print(datas.columns)

# print(datas.describe().t)#有9個特徵,有object型別的可以顯示。

y=datas['global_active_power'] #取出global_active_power這一列的資料,即功率。變為series series是由一組資料及與之相關的資料索引組成。即1 5.374,3 5.388。

# print(type(y))

# print(y.head(4))

def data_format(dt):

#dt是series [date] [time],如[16/12/2006] [17:24:00]

t=time.strptime(' '.join(dt), '%d/%m/%y %h:%m:%s')#把dt分割,以空格分開由join連線起來。

return(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)

x=datas.iloc[:, 0:2] #取出第1和2列資料

# print(x.head(4))

# print(type(x))

《機器學習實戰》小結

最近一段時間讀了peter harrington 的machine learning in action,對機器學習有個大致的了解,做個總結。全書分為4部分 監督學習 分類 回歸 無監督學習 其他工具。包含演算法原理解釋,並講解python實現演算法的流程。讀完能對機器學習方法有個大致了解。我主要細...

機器學習知識小結

機器學習方法從數學的角度來看其實就是 模型 策略 演算法。模型就是對乙個實際業務問題進行建模,將其轉化為乙個可以用數學來量化表達的問題。策略就是定義損失函式來描述 值與理論值之間的差距,將其轉化為乙個使損失函式最小化的優化問題。演算法指的是求解最優化問題的方法,我們一般將其轉化為無約束優化問題,然後...

機器學習演算法小結

貝葉斯分類器 bayesian classifier 如何建立乙個文件分類系統,用於垃圾郵件過濾,或是根據關鍵字的模糊搜尋來對一組文件進行劃分 貝葉斯分類器一般用於關於文件處理,但實際上也可以適用於任何其他形式的資料集,只要能將其轉化成一組特徵列表。所謂特徵,就是指乙個給定項中存在或缺少的某種東西。...