实例 数据操作

在所有的自带数据里面,统一的套路都是

from sklearn.datasets import *   引模块

x=shasha()                                   初始化数据集,就是拿到数据

print(x.keys())                              查看数据包含哪些东西,看到之后就可以操作了


在了解相关的数据之后,可以查看自己想要的东西,但这里面的数据一般都是可以直接用于模型训练的,所以就

然后就是对数据进行训练了

   from sklearn.cross_validation import train_test_split

   X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

  clf = KNeighbors Classifier(n_neighbors=3).fit(X_train, y_train)

  print("Test set accuracy: {:.2f}".format(clf.score(X_test, y_test)))


这好像是一篇关于胸问题的数据,

dict_keys(['feature_names', 'data', 'DESCR', 'target', 'target_names'])




上面的语句写法值得学习,x={n:v for n ,v in zip(cancer.target_names,np.bincount(cancer.target)) }

计算每个特征值的个数,并且以字典的形式输出,反正我是想不到这一层,当然了,毕竟我只是刚学,见到的世面太少了。


自带数据的引用方式都一样,都是套路


虽然不太懂,勉强解释一下,第一句,花三幅图并确定图的大小,k临近取不同的参数对数据进行训练得到分层图,然后在分层图上用数据的第一,二个特征为x轴,特征为y轴画出散点图,最后一句说的是在第一个图上画出图标,



对于模型不同参数的可视化结果,可以看出参数取几的时候模型既不过度拟合,又有较高的得分,代码可行,stratify是为了保持split前类的分布。比如有100个数据,80个属于A类,20个属于B类。如果train_test_split(... test_size=0.25, stratify = y_all), 那么split之后数据如下:

training: 75个数据,其中60个属于A类,15个属于B类。

testing: 25个数据,其中20个属于A类,5个属于B类。

用了stratify参数,training集和testing集的类的比例是 A:B= 4:1,等同于split前的比例(80:20)。通常在这种类分布不平衡的情况下会用到stratify



忽略mglearn因为我的电脑上导不出这个模块,注意.reshape(-1,1)意思就是将原数组重新安排为新的数组,这的-1表示根据列得到的行数,意思是我只需要多少列就写多少列,至于有多少行,反正就俩个参数,知其一,另外一个就让电脑算。


线性模型:套路都是一样的套路


岭回归

ridge10 = Ridge(alpha=10).fit(X_train, y_train)  alpha是啥鬼东西






有对数据的说明



alpha 和迭代次数的不同影响数据的预测结果得分


不同的模型对数据的预测



logreg = Logistic Regression().fit(X_train, y_train)

logreg = Logistic Regression()

y_pred = logreg.fit(X_train, y_train).predict(X_test)

Naive Bayes C assifiers     快






最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容