婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 如何通過KNN來填充缺失值

python 如何通過KNN來填充缺失值

熱門標簽:外呼系統哪些好辦 如何申請400電話費用 池州外呼調研線路 沈陽外呼系統呼叫系統 沈陽人工外呼系統價格 富錦商家地圖標注 沈陽防封電銷卡品牌 江西省地圖標注 武漢外呼系統平臺

看代碼吧~

# 加載庫
import numpy as np
from fancyimpute import KNN
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_blobs
# 創建模擬特征矩陣
features, _ = make_blobs(n_samples = 1000,
                         n_features = 2,
                         random_state = 1)
# 標準化特征
scaler = StandardScaler()
standardized_features = scaler.fit_transform(features)
standardized_features
# 制造缺失值
true_value = standardized_features[0,0]
standardized_features[0,0] = np.nan
standardized_features
# 預測
features_knn_imputed = KNN(k=5, verbose=0).fit_transform(standardized_features)
# features_knn_imputed = KNN(k=5, verbose=0).complete(standardized_features)
features_knn_imputed
# #對比真實值和預測值
print("真實值:", true_value)
print("預測值:", features_knn_imputed[0,0])
# 加載庫
import numpy as np
from fancyimpute import KNN
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_blobs
​
# 創建模擬特征矩陣
features, _ = make_blobs(n_samples = 1000,
                         n_features = 2,
                         random_state = 1)​
# 標準化特征
scaler = StandardScaler()
standardized_features = scaler.fit_transform(features)
standardized_features
# 制造缺失值
true_value = standardized_features[0,0]
standardized_features[0,0] = np.nan
standardized_features
# 預測
features_knn_imputed = KNN(k=5, verbose=0).fit_transform(standardized_features)
# features_knn_imputed = KNN(k=5, verbose=0).complete(standardized_features)
features_knn_imputed
# #對比真實值和預測值
print("真實值:", true_value)
print("預測值:", features_knn_imputed[0,0])
真實值: 0.8730186113995938
預測值: 1.0955332713113226

補充:scikit-learn中一種便捷可靠的缺失值填充方法:KNNImputer

在數據挖掘工作中,處理樣本中的缺失值是必不可少的一步。其中對于缺失值插補方法的選擇至關重要,因為它會對最后模型擬合的效果產生重要影響。

在2019年底,scikit-learn發布了0.22版本,此次版本除了修復之前的一些bug外,還更新了很多新功能,對于數據挖掘人員來說更加好用了。其中我發現了一個新增的非常好用的缺失值插補方法:KNNImputer。這個基于KNN算法的新方法使得我們現在可以更便捷地處理缺失值,并且與直接用均值、中位數相比更為可靠。利用“近朱者赤”的KNN算法原理,這種插補方法借助其他特征的分布來對目標特征進行缺失值填充。

下面,就讓我們用實際例子來看看KNNImputer是如何使用的吧‎

使用KNNImputer需要從scikit-learn中導入:

from sklearn.impute import KNNImputer

先來一個小例子開開胃,data中第二個樣本存在缺失值。

data = [[2, 4, 8], [3, np.nan, 7], [5, 8, 3], [4, 3, 8]]

KNNImputer中的超參數與KNN算法一樣,n_neighbors為選擇“鄰居”樣本的個數,先試試n_neighbors=1。

imputer = KNNImputer(n_neighbors=1)
imputer.fit_transform(data)

可以看到,因為第二個樣本的第一列特征3和第三列特征7,與第一行樣本的第一列特征2和第三列特征8的歐氏距離最近,所以缺失值按照第一個樣本來填充,填充值為4。那么n_neighbors=2呢?

imputer = KNNImputer(n_neighbors=2)
imputer.fit_transform(data)

此時根據歐氏距離算出最近相鄰的是第一行樣本與第四行樣本,此時的填充值就是這兩個樣本第二列特征4和3的均值:3.5。

接下來讓我們看一個實際案例,該數據集來自Kaggle皮馬人糖尿病預測的分類賽題,其中有不少缺失值,我們試試用KNNImputer進行插補。

import numpy as np
import pandas as pd
import pandas_profiling as pp
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(context="notebook", style="darkgrid")
import warnings
warnings.filterwarnings('ignore')
%matplotlib inline
 
from sklearn.impute import KNNImputer
#Loading the dataset
diabetes_data = pd.read_csv('pima-indians-diabetes.csv')
diabetes_data.columns = ['Pregnancies', 'Glucose', 'BloodPressure', 'SkinThickness', 
                       'Insulin', 'BMI', 'DiabetesPedigreeFunction', 'Age', 'Outcome']
diabetes_data.head()

在這個數據集中,0值代表的就是缺失值,所以我們需要先將0轉化為nan值然后進行缺失值處理。

diabetes_data_copy = diabetes_data.copy(deep=True)
diabetes_data_copy[['Glucose','BloodPressure','SkinThickness','Insulin','BMI']] = diabetes_data_copy[['Glucose','BloodPressure','SkinThickness','Insulin','BMI']].replace(0, np.NaN)
 
print(diabetes_data_copy.isnull().sum())

在本文中,我們嘗試用DiabetesPedigreeFunction與Age,對BloodPressure中的35個缺失值進行KNNImputer插補。

先來看一下缺失值都在哪幾個樣本:

null_index = diabetes_data_copy.loc[diabetes_data_copy['BloodPressure'].isnull(), :].index
null_index

imputer = KNNImputer(n_neighbors=10)
diabetes_data_copy[['BloodPressure', 'DiabetesPedigreeFunction', 'Age']] = imputer.fit_transform(diabetes_data_copy[['BloodPressure', 'DiabetesPedigreeFunction', 'Age']])
print(diabetes_data_copy.isnull().sum())

可以看到現在BloodPressure中的35個缺失值消失了。我們看看具體填充后的數據(只截圖了部分):

diabetes_data_copy.iloc[null_index]

到此,BloodPressure中的缺失值已經根據DiabetesPedigreeFunction與Age運用KNNImputer填充完成了。注意的是,對于非數值型特征需要先轉換為數值型特征再進行KNNImputer填充操作,因為目前KNNImputer方法只支持數值型特征(ʘ̆ωʘ̥̆‖)՞。

您可能感興趣的文章:
  • python實現KNN近鄰算法
  • Python圖像識別+KNN求解數獨的實現
  • python KNN算法實現鳶尾花數據集分類
  • python運用sklearn實現KNN分類算法
  • 使用python實現kNN分類算法
  • python實現KNN分類算法
  • python使用KNN算法識別手寫數字
  • Python機器學習之底層實現KNN

標簽:阿里 呂梁 通遼 黑龍江 常德 潛江 株洲 銅川

巨人網絡通訊聲明:本文標題《python 如何通過KNN來填充缺失值》,本文關鍵詞  python,如何,通過,KNN,來,填充,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 如何通過KNN來填充缺失值》相關的同類信息!
  • 本頁收集關于python 如何通過KNN來填充缺失值的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久亚洲精品国产精品紫薇| 国产人妖乱国产精品人妖| 精品一区二区三区香蕉蜜桃| 国产一区在线观看视频| 91精品国产91综合久久蜜臀| 日韩成人精品在线| 国产精品亚洲一区二区三区在线| 亚洲乱码国产乱码精品精的特点 | 亚洲国产人成综合网站| 成人黄色软件下载| 欧美一二三四在线| 国产大陆a不卡| 国产suv一区二区三区88区| 蜜桃视频第一区免费观看| 7777精品伊人久久久大香线蕉完整版| 蜜桃av一区二区在线观看| 欧美一区日韩一区| 亚洲欧美日韩久久精品| 亚洲色图色小说| 99re成人精品视频| 欧美日韩午夜影院| 自拍偷拍亚洲欧美日韩| 成人开心网精品视频| ㊣最新国产の精品bt伙计久久| av网站一区二区三区| 自拍偷在线精品自拍偷无码专区| 亚洲妇熟xx妇色黄| 久久精品一区二区三区四区| 日韩精品一区国产麻豆| 亚洲三级电影网站| 91视频免费观看| 日本不卡不码高清免费观看| 精品国产一区a| 99久久99久久免费精品蜜臀| 水蜜桃久久夜色精品一区的特点| 经典三级一区二区| 国产精品自拍一区| 成人伦理片在线| av在线这里只有精品| 91丨九色丨国产丨porny| 色综合视频一区二区三区高清| 国产一区二区三区免费看| 国产成人久久精品77777最新版本| 国产成人精品综合在线观看 | 五月综合激情日本mⅴ| 久久久综合九色合综国产精品| 欧美一区日本一区韩国一区| 日韩免费观看高清完整版在线观看| 欧美一区二区三区四区久久| 欧美一级黄色录像| 国产色一区二区| 中文字幕免费不卡| 亚洲精品免费在线播放| 天天综合网 天天综合色| 日本亚洲免费观看| 国产成人亚洲综合色影视| 色综合中文综合网| 天天av天天翘天天综合网| 麻豆国产欧美一区二区三区| 蜜桃一区二区三区在线| 91精品综合久久久久久| 精品国产成人系列| 亚洲一区av在线| 久久亚洲私人国产精品va媚药| 成人一道本在线| 亚洲国产毛片aaaaa无费看 | 精一区二区三区| 日韩手机在线导航| 欧美韩日一区二区三区四区| 亚洲自拍另类综合| 国产精品资源在线| 欧美日韩黄视频| 国产欧美日韩亚州综合| 丝袜亚洲另类欧美| 春色校园综合激情亚洲| 26uuu亚洲综合色欧美| 亚洲第一福利一区| 91丨九色丨蝌蚪富婆spa| 91精品国产入口| 91在线看国产| 91.麻豆视频| 国产拍欧美日韩视频二区| 欧美高清视频不卡网| 琪琪一区二区三区| av欧美精品.com| 精品少妇一区二区三区| 亚洲综合成人在线| 麻豆一区二区99久久久久| 亚洲va韩国va欧美va精品| 国产一区二区视频在线播放| 精品视频免费在线| 综合精品久久久| 日韩片之四级片| 亚洲精品综合在线| 国产成人精品综合在线观看| 日韩精品一二区| 日本韩国视频一区二区| 中文字幕精品一区二区精品绿巨人 | 波多野结衣亚洲| 欧美日韩dvd在线观看| 国产精品久久免费看| 国产一区二区三区在线观看免费视频 | 国产精品午夜久久| 99热国产精品| 国产日韩综合av| 日韩电影在线一区二区三区| 欧美亚洲国产一区二区三区va | 国产露脸91国语对白| 日本久久电影网| 精品久久久久久最新网址| 丁香啪啪综合成人亚洲小说| 亚洲va天堂va国产va久| 高清久久久久久| 亚洲免费av在线| 欧美日本在线观看| 蜜桃视频在线观看一区| 91精品国产美女浴室洗澡无遮挡| 国产婷婷色一区二区三区 | 日本精品免费观看高清观看| 国产欧美一区二区精品忘忧草| 亚洲自拍偷拍综合| 国产一区免费电影| 亚洲欧美在线视频| 亚洲欧美日韩一区| 亚洲一区二三区| 日韩专区欧美专区| 毛片基地黄久久久久久天堂| 色呦呦国产精品| 5858s免费视频成人| 欧美aaaaa成人免费观看视频| 欧美精品久久一区| 久久99久久久久| 精品成人佐山爱一区二区| 中文字幕一区二区三中文字幕| 日韩一区二区三区四区| 99精品欧美一区| 精品久久久久久综合日本欧美 | 色综合久久综合网| 国产亚洲1区2区3区| 免播放器亚洲一区| 欧美精品日韩一区| 亚洲精品精品亚洲| 欧美一级日韩一级| 日韩极品在线观看| 欧美另类变人与禽xxxxx| 日韩精品亚洲一区二区三区免费| 成人国产精品免费观看动漫| 亚洲免费在线电影| 日韩亚洲欧美在线| 国产精品18久久久久久vr| 亚洲三级电影全部在线观看高清| 午夜av一区二区| 欧美成人精品3d动漫h| 久久一二三国产| 欧美变态凌虐bdsm| 成a人片亚洲日本久久| 久久99精品国产麻豆不卡| 日韩1区2区日韩1区2区| 国产激情视频一区二区三区欧美 | 奇米色777欧美一区二区| 日韩专区一卡二卡| 蜜臀av性久久久久蜜臀av麻豆| 欧美亚洲丝袜传媒另类| 久久久久久久久99精品| 国产精品不卡一区| 亚洲一本大道在线| 成人精品国产免费网站| 久久黄色级2电影| 亚洲一区二区欧美| 午夜精品久久久久久| 欧美精品一区二区三区视频| 蜜臀av一区二区| 欧美日韩一区二区三区在线看| 中文字幕一区三区| 天天综合网天天综合色| 成人爱爱电影网址| 国产精品私房写真福利视频| 精品国产乱码91久久久久久网站| 色悠悠亚洲一区二区| 爽好多水快深点欧美视频| 久久久久久亚洲综合| 国产91露脸合集magnet| 亚洲久草在线视频| 日韩久久久久久| 日韩三级视频在线观看| 欧美日韩免费高清一区色橹橹| 国产一区二区不卡| 国产亚洲精品超碰| 精品福利在线导航| 精品亚洲aⅴ乱码一区二区三区| 秋霞午夜av一区二区三区| 秋霞av亚洲一区二区三| 美女一区二区三区在线观看| 亚洲国产精品久久久久秋霞影院 | 丝袜美腿成人在线| 琪琪久久久久日韩精品| 欧美精品日韩一区| 国产三级三级三级精品8ⅰ区| 91精品国产综合久久蜜臀| 国产一区二区三区免费在线观看 |