kknn
k-最近邻(k-nearest neighbors,简称k-NN)算法是一种常用的分类和回归算法。在分类问题中,k-NN算法根据最近邻的训练样本来对新样本进行分类。在回归问题中,k-NN算法通过最近邻的训练样本来预测新样本的输出值。
k-NN算法的基本原理如下:
- 计算距离:根据给定的距离度量(如欧式距离、曼哈顿距离等),计算新样本与训练样本之间的距离。
- 选择最近邻:选取与新样本最近的k个训练样本。
- 进行分类或回归:对于分类问题,统计k个最近邻中各个类别的数量,并选择出现较多的类别作为新样本的分类结果;对于回归问题,计算k个最近邻的输出值的平均或加权平均作为新样本的预测输出值。
k-NN算法的优点包括简单易实现,对数据分布没有假设,适用于多分类和回归问题。然而,k-NN算法的缺点是计算复杂度高,对于大规模数据集和高维数据可能效果不佳,还需要选择合适的距离度量和k值。
在Python中,可以使用sklearn.neighbors库中的KNeighborsClassifier类进行分类问题的k-NN算法,使用KNeighborsRegressor类进行回归问题的k-NN算法。这些类提供了许多参数和方法来调整和使用k-NN算法,如n_neighbors指定k值,fit用于拟合模型,predict用于预测新样本的分类或回归结果等。
示例:
首先,我们需要导入所需的库,如numpy用于数值计算和sklearn.neighbors用于实现k-NN算法。
import numpy as np from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor
然后,我们定义一个包含自变量 X 和目标变量 y 的数据集。这里我们使用一个简单的二分类问题作为示例。
X = np.array([[1, 2 ], [2, 3 ], [3, 1 ], [4, 5 ], [5, 4 ]]) y = np.array([0, 0 , 0 , 1 , 1 ])
接下来,我们可以创建一个KNeighborsClassifier对象,并使用fit方法拟合k-NN分类模型。
classifier = KNeighborsClassifier(n_neighbors=3)classifier.fit(X, y)
然后,我们可以使用模型预测新的观测值的分类结果。
new_x = np.array( [[3, 3], [1, 1]] )y_pred = classifier.predict(new_x)
最后,我们可以打印出预测结果。
print (y_pred)
完整的代码如下:
import numpy as npfrom sklearn.neighbors import KNeighborsClassifierX = np.array( [[1, 2], [2, 3], [3, 1], [4, 5], [5, 4]] )y = np.array([ 0 , 0 , 0 , 1 , 1 ])classifier = KNeighborsClassifier(n_neighbors= 3 )classifier.fit(X, y)new_x = np.array( [[3, 3], [1, 1]] )y_pred = classifier.predict(new_x) print (y_pred)
运行以上代码,将得到新观测值的分类结果。在这个示例中,我们使用k-NN算法进行二分类,根据最近的3个邻居进行分类预测。
算法实现
数据集 | 社交网络
导入相关库
import numpy as np import matplotlib.pyplot as plt import pandas as pd
导入数据集
数据集下载: https://.com//100-/blob///.csv
dataset = pd.read_csv( 'Social_Network_Ads.csv' ) X = dataset.iloc[:, [ 2 , 3 ]].values y = dataset.iloc[:, 4 ].values
将数据划分成训练集和测试集
from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25 , random_state = 0 )
特征缩放
from sklearn.preprocessing import StandardScaler sc = StandardScaler() X_train = sc.fit_transform(X_train) X_test = sc.transform(X_test)
使用K-NN对训练集数据进行训练
from sklearn.neighbors import KNeighborsClassifierclassifier = KNeighborsClassifier(n_neighbors = 5 , metric = 'minkowski' , p = 2 )classifier.fit(X_train, y_train)
对测试集进行预测
y_pred = classifier.predict(X_test)
生成混淆矩阵
from sklearn.metrics import confusion_matrixcm = confusion_matrix(y_test, y_pred)
可可尼女装什么档次
“可可尼”女总裁的豪宅!西湖畔花园洋房,不用拼房自己就是豪门
最近网上最火的一个话题,要数“高配版拼夕夕”名媛群了吧?不得不说,如果不是被曝光,小编还以为那些外表光鲜亮丽、年轻且又多金的女孩,真的是当代励志典范。不过“纸终究包不住火”、“没有不透风的墙”、“假的也永远真不了”等等这些话还是有一定道理的。为了炫耀自己拥有一条品牌丝袜,还要拼夕夕!这样的“名媛”试问哪个男人敢要?
女孩子嘛,想要有钱,首先要值钱,光包装外表了,脑袋空空有啥用?比如今天我们要分享的这套豪宅主人——“可可尼”品牌女装女总裁应翠剑,21岁时,她就已经成了“中国十佳时装设计师”!凭借着过得硬的时尚理念,和自身的不断成长与提高,获奖那一年,她便创建了自己的品牌“COCOON”,也就是我们说的可可尼,同时还是秋水伊人的艺术总监。这样的女人,自己本身就是豪门,又何须与别人虚以为蛇?
她如今在杭州西湖旁的独栋花园式洋房,占地面积更是高达1600多平米,光是装修,前前后后就花了5年时间。这样的炫富才不心虚。就是不知道这样的一栋豪宅,如果拼夕夕,按照人均1000起价,那得拼多少人?
不管咋说每个人的追求都不同,但是像应翠剑这样的女总裁的成长之路,才是值得每个女孩学习的!好了,我们言归正传,还是说说这栋花园式洋房吧!这栋洋房的占地面积为1600多平米,光是花园就占据了1000平米,剩下的是洋房的建筑面积。并且位于西湖边,地理位置优越,绝对算得上是豪宅无疑了!进入院子,有石头铺成的小路,还有大面积的草坪,鲜花点缀在每个角落里,将这栋花园式洋房装点的生机勃勃,充满了温馨感!
后院还有一个超大的泳池,四周的绿化做的是相当棒。俯瞰整个后院,泳池两侧都设计了休息区和用餐区,在这里开个party,生活不要太惬意!
这么大的后花园,也不是谁想拼就能拼的,毕竟国内的豪宅连富豪都分不过来,谁会租给你?
房子旁边还有一个大烟囱,很复古的造型。顺着烟囱向上攀岩的藤蔓们,让洋房看起来更加具有韵味。
室内装修比较典雅,有一小部分美式风的元素。
在客厅中间,还摆放了一张看似是茶几,实际上是徐震老式的艺术品。这张桌子据应翠剑说,有四五百斤重。想要搬动它,没三五个壮汉绝对办不到!
桌子下面是一张橘黄*的拼花地毯,一粉一橘两个颜色搭配在一起,还有旁边的白色弧形沙发,色彩非常明媚,很有活力的感觉!瞬间将人带入到轻松舒适的环境中来。
在这栋洋房里,用餐区被分成两部分,一部分是早餐去和户外休闲阳台。早餐的桌椅很美式复古风。
阳台区域被改造成了玻璃房,整个空间舒适惬意。
都是一些老风格的家居造型。营造出温馨平和的家居氛围。同时色彩上的挑选,非常清新舒适,没有老物件的那种沉闷和破旧感。
早餐区旁边才是餐厅,圆桌带转盘的餐桌,配套8人位餐椅。风格时尚现代简约,整个房间都是轻松的格调,地板从早餐区通铺到餐厅,将空间瞬间拉长,延伸感和通透性都非常棒!
书房非常简单,中式明宋时期的家具风格。典雅、优雅、高级、低调又内敛!
豪宅怎么能少的了影音厅呢?女总裁也喜欢浪漫,在家里和爱人看一场“包场”电影。享受温馨浪漫的午后时光!招待朋友也超有面子!
地下室还有一个摄影长廊,时装和摄影都是不分家的时尚!
在底下碍事,还有一处SPA空间。超大的浴缸,还有*的桑拿房。预约一位超级按摩师,来家里做个全身SPA,简直太享受了!
这里最耀眼的就是这个壁灯
蝴蝶造型的装饰品。好看灵动又向往阳光的感觉。超级美!
应翠剑介绍,在这栋房子里,一共有100多件收藏品,这些收藏品并非价值多高,也不全都是大师作品,但唯一的共同特点就是她喜欢!可以说,应翠剑就是自己的豪门,不需要攀附于谁,这么优秀的她,正是印证了那句话,“你若芬芳,蝴蝶自来”!