Note : Python机器学习笔记(二)——Python机器学习基础教程(书)

 

2019/12/26


  • 在本书中关于SciPy遇到的第一个问题就是 str.format() 函数,参考了文章

>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
 
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的
  • 将NumPy数组转换为CSR格式的SciPy稀疏矩阵 ,只保存非零元素 。

from scipy import sparse
eye = np.eye(4)

#print("Numpy array:\n{1}{0}".format(eye,8))

print(sparse.csr_matrix(eye))

对于稀疏矩阵的存储格式还有COO、DIA等,详见参考博文稀疏矩阵的存储格式介绍

  • 了解Pandas,用于处理和分析数据的Python库。

官方文档:Pandas-强大的python数据分析工具包

Pandas它基于一种叫作 DataFrame 的数据结构。

SQL???——SQL 是用于访问和处理数据库的标准的计算机语言。

想要具体学习pandas的详尽功能,推荐读 Wes McKinney 的《Python 数据处理》2。

我们利用字典创建DataFrame一个实例,如下:

#利用字典创建 DataFrame 的小例子
import pandas as pd
from IPython.display import display
data =  {'name':['liuyi','liujiaqi','xiaoming'],
         'Location':['changchun','beijing','shanghai'],
         'Age':['24','25','27']
        }
data_pandas = pd.DataFrame(data)
display(data_pandas)

我们要怎么去查询这个DataFrame创建的表格呢?方法有很多种。举个例子:

import pandas as pd
from IPython.display import display
data =  {'name':['liuyi','liujiaqi','xiaoming'],
         'Location':['长春','北京','上海'],
         'Age':[24,25,27]
        }
data_pandas = pd.DataFrame(data)
display(data_pandas)

#查询年龄大于25的所有行
display(data_pandas[data_pandas.Age > 25])

结果图如下:

 

 


  • Jupyter Notebook --魔法命令%matplotlib inline 显示图像

  • 构建第一个模型:k近邻算法 

from sklearn.datasets import load_iris
iris_dataset = load_iris()
# print("Keys of iris_dataset:\n{}".format(iris_dataset.keys()))

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(
iris_dataset['data'],iris_dataset['target'],random_state=0) 
#print("X_train shape: {}".format(X_train.shape)) 
#print("y_train shape: {}".format(y_train.shape))

import numpy as np 
import pandas as pd
# 利用X_train中的数据创建DataFrame 
# 利用iris_dataset.feature_names中的字符串对数据列进行标记 
#iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names) 
# 利用DataFrame创建散点图矩阵,按y_train着色 
#grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o', 
                       # hist_kwds={'bins': 20}, s=60, alpha=.8)

    
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train,y_train)


                            ###做出预测###
    
X_new = np.array([[5,2.9,1,0.2]])
#print(X_new.shape)
#print("X_new.shape:{}".format(X_new.shape))

prediction = knn.predict(X_new)
#print("Prediction:{}".format(prediction))
#print("Predicted target name:{}".format(
       #iris_dataset['target_names'][prediction]))

                           ###评估模型###
    
#estimate

#y_pred = knn.predict(X_test)
#print("Test set predictions:\n{}".format(y_pred))

#print("Test set score:{:.2f}".format(np.mean(y_pred == y_test)))
print("Test set score:{:.2f}".format(knn.score(X_test,y_test)))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璃墟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值