日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:31日期:2022-06-18 18:02:54
看代碼吧~

# 加載庫import numpy as npfrom fancyimpute import KNNfrom sklearn.preprocessing import StandardScalerfrom 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.nanstandardized_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 npfrom fancyimpute import KNNfrom sklearn.preprocessing import StandardScalerfrom 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.nanstandardized_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)

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

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

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

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

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

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

import numpy as npimport pandas as pdimport pandas_profiling as ppimport matplotlib.pyplot as pltimport seaborn as snssns.set(context='notebook', style='darkgrid')import warningswarnings.filterwarnings(’ignore’)%matplotlib inline from sklearn.impute import KNNImputer

#Loading the datasetdiabetes_data = pd.read_csv(’pima-indians-diabetes.csv’)diabetes_data.columns = [’Pregnancies’, ’Glucose’, ’BloodPressure’, ’SkinThickness’,’Insulin’, ’BMI’, ’DiabetesPedigreeFunction’, ’Age’, ’Outcome’]diabetes_data.head()

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

在這個數據集中,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())

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

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

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

null_index = diabetes_data_copy.loc[diabetes_data_copy[’BloodPressure’].isnull(), :].indexnull_index

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

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())

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

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

diabetes_data_copy.iloc[null_index]

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

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

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷激情久久| 9999国产精品| 亚洲久久在线| 日韩avvvv在线播放| 国产欧美日韩精品一区二区免费| 国产精品宾馆| 成人羞羞在线观看网站| 最新日韩av| 亚洲欧美日韩一区在线观看| 日本天堂一区| 日本午夜精品视频在线观看| 国产一区二区三区四区| 国产精品呻吟| 综合激情视频| 无码日韩精品一区二区免费| 日韩三级一区| 国产精品中文| 狠狠久久伊人| 日韩精品免费一区二区在线观看 | 日本高清不卡一区二区三区视频| 亚洲一区二区三区高清不卡| 99精品电影| 婷婷精品进入| 91精品一区国产高清在线gif | 欧美天堂一区| 黄色网一区二区| 久久久久久久久丰满| 欧美日韩四区| 日韩综合一区二区| 国产美女视频一区二区| 亚洲深夜av| 视频精品一区| 老司机免费视频一区二区| 中国字幕a在线看韩国电影| 亚洲一级影院| 先锋亚洲精品| 欧美天堂在线| 亚洲成人不卡| 美国三级日本三级久久99| 日韩激情网站| 精品国产aⅴ| 五月综合激情| 日本久久二区| 三级在线看中文字幕完整版| 亚洲激情婷婷| 国产精品久久乐| 性感美女一区二区在线观看| 中文字幕日韩高清在线 | 青青草国产精品亚洲专区无| 精品高清久久| 91久久在线| 国产激情精品一区二区三区| 蜜臀av免费一区二区三区| 日韩精品欧美大片| 亚洲精品一级二级| 日韩超碰人人爽人人做人人添| 日韩综合在线| 亚洲久久视频| 日韩久久精品网| 亚洲精品精选| 欧美三级精品| 国产精品日本一区二区三区在线| 久久精品播放| 日本成人在线不卡视频| 99久久精品费精品国产| 国产日产精品一区二区三区四区的观看方式| 亚洲综合电影| 午夜精品影院| 国产精品亚洲产品| 欧美影院三区| 蜜桃视频在线观看一区| 日韩不卡视频在线观看| 欧美精品一区二区久久| 老鸭窝一区二区久久精品| 红桃视频国产精品| 里番精品3d一二三区| 日韩精品久久理论片| 欧美日韩18| 男女性色大片免费观看一区二区 | 国产欧美一区二区三区米奇| 欧美黑人巨大videos精品| 国产欧美日韩精品高清二区综合区 | 国产精品久久久网站| 99久久婷婷| 国产精品丝袜在线播放| 蜜乳av另类精品一区二区| 久久精品一区二区国产| 日韩中文字幕区一区有砖一区| 中文在线资源| 国产精品久av福利在线观看| 亚洲视频国产| 99视频精品全国免费| 国产精品巨作av| 日韩二区三区在线观看| 欧美日韩国产高清| 日韩一区二区三区在线免费观看| 国产精品magnet| 日韩国产在线观看一区| 午夜一级久久| 91久久午夜| 黄色日韩在线| 麻豆理论在线观看| 国产精品tv| 久久激五月天综合精品| 亚洲理论在线| 黄色国产精品| 欧美精品一二| 久久久久99| 日韩电影免费网址| 国产精品99一区二区三| 精品国产欧美日韩一区二区三区| 日本va欧美va精品发布| 蜜桃av一区二区在线观看| 欧美日韩国产综合网| 欧美 日韩 国产精品免费观看| 免费污视频在线一区| 中文字幕在线视频久| 国产精品九九| 久久不见久久见免费视频7 | 免费人成在线不卡| 美女精品在线观看| 视频一区二区三区在线| 亚洲一区亚洲| 亚洲一区观看| 丝袜国产日韩另类美女| 日韩中文字幕区一区有砖一区| 久久国产99| 男女激情视频一区| 只有精品亚洲| 免费在线看一区| 免费久久99精品国产| 爽爽淫人综合网网站| 美女精品一区| 日韩精选在线| 欧美成a人片免费观看久久五月天| 美女精品视频在线| 高清久久一区| 日韩在线看片| 欧美精选视频一区二区| 成人在线网站| 蜜臀久久99精品久久一区二区| 午夜国产一区二区| 免费日韩av片| 日韩精品三级| 欧美1区2区3| 精品国产精品久久一区免费式| 国产欧洲在线| 伊人成人网在线看| 一区二区三区国产在线| 欧美日韩亚洲一区三区| 国产在线日韩精品| 亚洲高清av| 一区二区日韩免费看| 国产精品一区高清| 日韩电影免费网站| 亚洲综合电影一区二区三区| 青青草精品视频| 色一区二区三区四区| 在线一区电影| 国产亚洲人成a在线v网站| 国产一区二区三区亚洲综合| 欧美国产91| 日韩av不卡一区二区| 国产不卡av一区二区| 好吊日精品视频| 国产亚洲高清一区| 久久国产日韩| 日韩1区2区3区| 人人草在线视频| 免费久久99精品国产| 国产一区一一区高清不卡| 黄色av一区| 国产激情综合| 野花国产精品入口| 久久99精品久久久久久园产越南| 日韩美女一区二区三区在线观看| 久久亚洲二区| 国产一区二区三区不卡视频网站| aa国产精品| 国产aⅴ精品一区二区三区久久| 中文日韩欧美| 色婷婷色综合| 无码日韩精品一区二区免费| 91看片一区| 日本欧美一区| 亚洲二区免费| 国产欧美视频在线| 久久精品高清| 国产精品日韩精品在线播放| 日韩视频一区二区三区在线播放免费观看| 欧美精品观看| www成人在线视频| 国产精品一国产精品k频道56| 精品中文字幕一区二区三区av| 国产精品一国产精品| 麻豆精品91| 欧洲av不卡| 国产乱人伦丫前精品视频| 日韩午夜在线| 老牛影视精品|