亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

100天搞定機(jī)器學(xué)習(xí)|Day1數(shù)據(jù)預(yù)處理

xeblog / 2636人閱讀

摘要:導(dǎo)入庫(kù)導(dǎo)入數(shù)據(jù)集這一步的目的是將自變量和因變量拆成一個(gè)矩陣和一個(gè)向量。


數(shù)據(jù)預(yù)處理是機(jī)器學(xué)習(xí)中最基礎(chǔ)也最麻煩的一部分內(nèi)容
在我們把精力撲倒各種算法的推導(dǎo)之前,最應(yīng)該做的就是把數(shù)據(jù)預(yù)處理先搞定
在之后的每個(gè)算法實(shí)現(xiàn)和案例練手過(guò)程中,這一步都必不可少
同學(xué)們也不要嫌麻煩,動(dòng)起手來(lái)吧
基礎(chǔ)比較好的同學(xué)也可以溫故知新,再練習(xí)一下哈

閑言少敘,下面我們六步完成數(shù)據(jù)預(yù)處理
其實(shí)我感覺(jué)這里少了一步:觀察數(shù)據(jù)
此處輸入圖片的描述

這是十組國(guó)籍、年齡、收入、是否已購(gòu)買(mǎi)的數(shù)據(jù)

有分類(lèi)數(shù)據(jù),有數(shù)值型數(shù)據(jù),還有一些缺失值

看起來(lái)是一個(gè)分類(lèi)預(yù)測(cè)問(wèn)題

根據(jù)國(guó)籍、年齡、收入來(lái)預(yù)測(cè)是夠會(huì)購(gòu)買(mǎi)

OK,有了大體的認(rèn)識(shí),開(kāi)始表演。

Step 1:導(dǎo)入庫(kù)

import numpy as np

import pandas as pd

Step 2:導(dǎo)入數(shù)據(jù)集

dataset = pd.read_csv("Data.csv")

X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : , 3].values
print("X")
print(X)
print("Y")
print(Y)

這一步的目的是將自變量和因變量拆成一個(gè)矩陣和一個(gè)向量。
結(jié)果如下

X
[["France" 44.0 72000.0]
 ["Spain" 27.0 48000.0]
 ["Germany" 30.0 54000.0]
 ["Spain" 38.0 61000.0]
 ["Germany" 40.0 nan]
 ["France" 35.0 58000.0]
 ["Spain" nan 52000.0]
 ["France" 48.0 79000.0]
 ["Germany" 50.0 83000.0]
 ["France" 37.0 67000.0]]
Y
["No" "Yes" "No" "No" "Yes" "Yes" "No" "Yes" "No" "Yes"]

Step 3:處理缺失數(shù)據(jù)

from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = "NaN", strategy = "mean", axis = 0)
imputer = imputer.fit(X[ : , 1:3])
X[ : , 1:3] = imputer.transform(X[ : , 1:3])

Imputer類(lèi)具體用法移步

http://scikit-learn.org/stabl...

本例中我們用的是均值替代法填充缺失值

運(yùn)行結(jié)果如下

Step 3: Handling the missing data
step2
X
[["France" 44.0 72000.0]
 ["Spain" 27.0 48000.0]
 ["Germany" 30.0 54000.0]
 ["Spain" 38.0 61000.0]
 ["Germany" 40.0 63777.77777777778]
 ["France" 35.0 58000.0]
 ["Spain" 38.77777777777778 52000.0]
 ["France" 48.0 79000.0]
 ["Germany" 50.0 83000.0]
 ["France" 37.0 67000.0]]

Step 4:把分類(lèi)數(shù)據(jù)轉(zhuǎn)換為數(shù)字

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[ : , 0] = labelencoder_X.fit_transform(X[ : , 0])

onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y =  labelencoder_Y.fit_transform(Y)
print("X")
print(X)

print("Y")
print(Y)

LabelEncoder用法請(qǐng)移步

http://scikit-learn.org/stabl...

X
[[1.00000000e+00 0.00000000e+00 0.00000000e+00 4.40000000e+01
  7.20000000e+04]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 2.70000000e+01
  4.80000000e+04]
 [0.00000000e+00 1.00000000e+00 0.00000000e+00 3.00000000e+01
  5.40000000e+04]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 3.80000000e+01
  6.10000000e+04]
 [0.00000000e+00 1.00000000e+00 0.00000000e+00 4.00000000e+01
  6.37777778e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 3.50000000e+01
  5.80000000e+04]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 3.87777778e+01
  5.20000000e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 4.80000000e+01
  7.90000000e+04]
 [0.00000000e+00 1.00000000e+00 0.00000000e+00 5.00000000e+01
  8.30000000e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 3.70000000e+01
  6.70000000e+04]]
Y
[0 1 0 0 1 1 0 1 0 1]

Step 5:將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集
from sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split( X , Y , test_size = 0.2, random_state = 0)

X_train
[[0.00000000e+00 1.00000000e+00 0.00000000e+00 4.00000000e+01
  6.37777778e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 3.70000000e+01
  6.70000000e+04]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 2.70000000e+01
  4.80000000e+04]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 3.87777778e+01
  5.20000000e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 4.80000000e+01
  7.90000000e+04]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 3.80000000e+01
  6.10000000e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 4.40000000e+01
  7.20000000e+04]
 [1.00000000e+00 0.00000000e+00 0.00000000e+00 3.50000000e+01
  5.80000000e+04]]
X_test
[[0.0e+00 1.0e+00 0.0e+00 3.0e+01 5.4e+04]
 [0.0e+00 1.0e+00 0.0e+00 5.0e+01 8.3e+04]]
step2
Y_train
[1 1 1 0 1 0 0 1]
Y_test
[0 0]

Step 6:特征縮放

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)

大多數(shù)機(jī)器學(xué)習(xí)算法在計(jì)算中使用兩個(gè)數(shù)據(jù)點(diǎn)之間的歐氏距離

特征在幅度、單位和范圍上很大的變化,這引起了問(wèn)題

高數(shù)值特征在距離計(jì)算中的權(quán)重大于低數(shù)值特征

通過(guò)特征標(biāo)準(zhǔn)化或Z分?jǐn)?shù)歸一化來(lái)完成

導(dǎo)入sklearn.preprocessing 庫(kù)中的StandardScala

用法:http://scikit-learn.org/stabl...

X_train
[[-1.          2.64575131 -0.77459667  0.26306757  0.12381479]
 [ 1.         -0.37796447 -0.77459667 -0.25350148  0.46175632]
 [-1.         -0.37796447  1.29099445 -1.97539832 -1.53093341]
 [-1.         -0.37796447  1.29099445  0.05261351 -1.11141978]
 [ 1.         -0.37796447 -0.77459667  1.64058505  1.7202972 ]
 [-1.         -0.37796447  1.29099445 -0.0813118  -0.16751412]
 [ 1.         -0.37796447 -0.77459667  0.95182631  0.98614835]
 [ 1.         -0.37796447 -0.77459667 -0.59788085 -0.48214934]]
X_test
[[-1.          2.64575131 -0.77459667 -1.45882927 -0.90166297]
 [-1.          2.64575131 -0.77459667  1.98496442  2.13981082]]

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45242.html

相關(guān)文章

  • SRECon Day1 | 比起干貨滿(mǎn)滿(mǎn),更吸引我的是畫(huà)風(fēng)清奇

    摘要:第一天下來(lái)的感覺(jué)就是高大上,組織者高大上,贊助商們谷歌,,微軟,,,,,等高大上,更高大上就是會(huì)議地點(diǎn)舊金山,美的讓人樂(lè)不思京霾了。強(qiáng)力推薦來(lái)自的,原因是在舊金山聽(tīng)了場(chǎng)精彩絕倫的相聲,由和共同完成,不分捧逗。 SRECon17 第一天下來(lái)的感覺(jué)就是高大上, 組織者 USENIX ( Advanced Computing Systems Association )高大上,贊助商們(谷歌,...

    kaka 評(píng)論0 收藏0
  • SRECon Day1 | 比起干貨滿(mǎn)滿(mǎn),更吸引我的是畫(huà)風(fēng)清奇

    摘要:第一天下來(lái)的感覺(jué)就是高大上,組織者高大上,贊助商們谷歌,,微軟,,,,,等高大上,更高大上就是會(huì)議地點(diǎn)舊金山,美的讓人樂(lè)不思京霾了。強(qiáng)力推薦來(lái)自的,原因是在舊金山聽(tīng)了場(chǎng)精彩絕倫的相聲,由和共同完成,不分捧逗。 SRECon17 第一天下來(lái)的感覺(jué)就是高大上, 組織者 USENIX ( Advanced Computing Systems Association )高大上,贊助商們(谷歌,...

    jsbintask 評(píng)論0 收藏0
  • 100搞定機(jī)器學(xué)習(xí)|Day4-6 邏輯回歸

    摘要:而邏輯回歸對(duì)于這樣的問(wèn)題會(huì)更加合適。也就是說(shuō),邏輯回歸是用來(lái)得到樣本屬于某個(gè)分類(lèi)的概率。這樣構(gòu)造的損失函數(shù)是合理的,并且它還是一個(gè)凸函數(shù),十分方便求得參數(shù),使得損失函數(shù)達(dá)到最小。然后導(dǎo)入邏輯回歸類(lèi)。 邏輯回歸avik-jain介紹的不是特別詳細(xì),下面再?lài)Z叨一遍這個(gè)算法。 1.模型 在分類(lèi)問(wèn)題中,比如判斷郵件是否為垃圾郵件,判斷腫瘤是否為陽(yáng)性,目標(biāo)變量是離散的,只有兩種取值,通常會(huì)編碼為...

    qujian 評(píng)論0 收藏0
  • vue+nuxt+koa+mongodb寫(xiě)一個(gè)博客(Day1)

    摘要:但是在這個(gè)過(guò)程中,遇到了一個(gè)請(qǐng)求無(wú)法獲取到的問(wèn)題。解決辦法安裝包再次打印三接下來(lái)幾天需要完成的工作大概看一下的并各寫(xiě)一篇博客登錄和注冊(cè)應(yīng)該使用有關(guān)的知識(shí)了解一下并寫(xiě)一篇博客。 vue nuxt koa2 mongodb 寫(xiě)博客(Day1) 一.利用nuxt初始化項(xiàng)目 初始化項(xiàng)目有兩種方法: 1.vue init nuxt-community/koa-template 此種方法...

    Joyven 評(píng)論0 收藏0
  • javascript常用工具函數(shù)總結(jié)(不定期補(bǔ)充)未指定標(biāo)題的文章

    摘要:生成隨機(jī)生成一個(gè)唯一的這個(gè)方法用于生成一個(gè)隨機(jī),可以將生成的視為全局唯一的生成兩個(gè)相同的情況很少。似乎在前端用的比較少,目前項(xiàng)目用到就是在每次請(qǐng)求后端接口時(shí)調(diào)用此方法,生成一個(gè)傳過(guò)去。 前言 以下代碼來(lái)自:自己寫(xiě)的、工作項(xiàng)目框架上用到的、其他框架源碼上的、網(wǎng)上看到的。 主要是作為工具函數(shù),服務(wù)于框架業(yè)務(wù),自身不依賴(lài)于其他框架類(lèi)庫(kù),部分使用到es6/es7的語(yǔ)法使用時(shí)要注意轉(zhuǎn)碼 雖然盡...

    DoINsiSt 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<