亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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來填充缺失值的相關信息資訊供網民參考!
  • 推薦文章
    麻豆网站在线看| 精品在线视频播放| 青青青草影院| 国产麻豆精品免费视频| 午夜精品国产自在现线拍| 美女免费毛片| 精品国产一区二区三区久久久蜜臀| 亚洲精品影院一区二区| 你懂的在线观看视频| 国产成a人片在线观看视频| 日韩一级黄色片| 久久久久久久网| 国产一区二区精品久久91| 黄色免费网站在线| 日本在线不卡免费视频一区| 欧美激情一区二区三区中文字幕| 国产韩国精品一区二区三区| 日日爽天天| 欧美激情一区二区三区视频| 日日夜夜婷婷| 高清一级片| 亚洲天堂一区二区三区四区| 免费一级片在线观看| 九九热国产视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美1区| 国产视频一区在线| 亚洲精品久久久中文字| 精品视频一区二区三区免费| 国产高清在线精品一区a| 国产一区二区精品久久| 91麻豆国产| 99色视频在线观看| 国产视频一区二区三区四区| 一级片免费在线观看视频| 国产欧美精品| 香蕉视频亚洲一级| 四虎影视库国产精品一区| 四虎影视库国产精品一区| 久久精品免视看国产成人2021| 日韩av成人| 精品国产三级a| 99热热久久| 成人免费观看网欧美片| 一级毛片视频在线观看| 久久99中文字幕| 成人影视在线播放| 夜夜操网| 香蕉视频三级| 日本特黄特黄aaaaa大片| 日韩欧美一及在线播放| 久久福利影视| 四虎影视精品永久免费网站| 999久久久免费精品国产牛牛| 久久久久久久网| 国产伦精品一区二区三区无广告| 日韩在线观看视频免费| 99久久精品国产高清一区二区 | 日韩在线观看网站| 亚欧成人毛片一区二区三区四区| 国产高清视频免费观看| 午夜家庭影院| 成人免费观看的视频黄页| 午夜久久网| 毛片的网站| 午夜在线观看视频免费 成人| 精品国产一区二区三区精东影业| 黄视频网站在线免费观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 四虎久久精品国产| 成人高清免费| 九九热国产视频| 国产亚洲免费观看| 国产一区二区高清视频| 中文字幕97| 91麻豆国产福利精品| 国产视频一区二区在线观看| 精品国产香蕉在线播出| 高清一级毛片一本到免费观看| 国产不卡在线观看| 欧美另类videosbestsex| 日韩专区亚洲综合久久| 成人高清免费| 成人a大片高清在线观看| 毛片高清| 成人a大片在线观看| 欧美激情影院| 91麻豆精品国产片在线观看| 欧美另类videosbestsex久久| 欧美爱色| 黄视频网站在线看| 国产一区精品| 国产一区精品| 日韩av东京社区男人的天堂| 国产成人精品综合| 999精品在线| 欧美电影免费看大全| 青青久久精品| 午夜在线影院| 午夜在线亚洲| 天天色成人网| 91麻豆精品国产自产在线| 国产亚洲免费观看| 九九精品在线播放| 国产一区二区精品久久| 国产一区二区精品久| 四虎影视久久| 国产伦久视频免费观看 视频| 成人影院一区二区三区| 人人干人人草| 午夜久久网| 欧美另类videosbestsex视频| 欧美日本国产| 麻豆系列 在线视频| 一本伊大人香蕉高清在线观看| 欧美大片a一级毛片视频| 久久99这里只有精品国产| 日韩中文字幕一区| 深夜做爰性大片中文| 国产网站免费在线观看| 久久福利影视| 欧美激情伊人| 国产a视频| 免费国产在线观看| 精品视频在线观看一区二区| 日韩av东京社区男人的天堂| 色综合久久手机在线| 二级特黄绝大片免费视频大片| 欧美另类videosbestsex视频 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产麻豆精品| 麻豆午夜视频| 成人影院久久久久久影院| 日韩免费在线观看视频| 国产一区二区精品久| 日韩一级精品视频在线观看| 欧美爱爱动态| 国产一区二区精品| 久久99爰这里有精品国产| 九九久久99| 国产91视频网| 国产91精品一区二区| 精品视频在线观看一区二区| 精品国产一区二区三区久久久蜜臀 | 久久精品免视看国产明星| 天天做人人爱夜夜爽2020毛片| 99热精品在线| 日本特黄特黄aaaaa大片| 成人免费高清视频| 国产麻豆精品高清在线播放| 日本在线不卡免费视频一区| 台湾毛片| 久久国产影院| 欧美激情一区二区三区视频高清| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美a级片视频| 精品在线免费播放| 亚欧成人毛片一区二区三区四区| 精品视频在线观看视频免费视频| 国产一区二区福利久久| 国产成人精品一区二区视频| 国产视频在线免费观看| 国产精品自拍一区| 麻豆系列 在线视频| 国产成人女人在线视频观看| 国产91丝袜在线播放0| 亚欧乱色一区二区三区| 国产麻豆精品高清在线播放| 亚洲天堂在线播放| 精品国产三级a| 国产伦精品一区二区三区在线观看| 国产网站免费视频| 四虎影视久久久免费| 欧美激情一区二区三区中文字幕| 国产成人啪精品视频免费软件| a级毛片免费观看网站| 精品久久久久久中文字幕一区| 成人a级高清视频在线观看| 青青青草影院| 一级片片| 精品视频免费看| 在线观看导航| 久久久久久久免费视频| 欧美电影免费看大全| 一级女性大黄生活片免费| 久久精品欧美一区二区| 高清一级做a爱过程不卡视频| 日韩专区第一页| 成人免费观看的视频黄页| 日本在线www| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜久久网| 成人高清免费| 四虎久久影院| 天天色成人| 亚洲第一页乱| 久久国产影院| 日韩avdvd| 亚洲精品久久久中文字| 国产91精品系列在线观看|