Python skit-learn 学习
import pandas as pd
from collections import OrderedDict
# 先构建一个数据集
examDict = {'LearnTime':[0.05,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],'Soce': [10,22,13,43,20,22,23,50,48,55,75,63,73,81,76,64,82,90,93,100]}
# 转换成有序字典
examOrderDict = OrderedDict(examDict)# 通过有序字典构建数据框pd.DataFrame()
examDf = pd.DataFrame(examOrderDict)
print(examDf)
print(examDf.head())
# 提取特征
exam_X = examDf.loc[:,'LearnTime']
exam_y = examDf.loc[:,'Soce']
print("exam_X")
print(exam_X)
print("exam_y")
print(exam_y)# 绘制散点图
import matplotlib.pyplot as plt# 使用scatter函数实现散点图框架
plt.scatter(exam_X,exam_y,edgecolors='b',label = 'exam data')
# x,y 轴标签属性
plt.xlabel('Hours')
plt.ylabel('Score')
# plt.show()# 建立数据和测试数据
# 绘制出散点训练图
from sklearn.model_selection import train_test_split
# 建立train data和 test data,以及训练数据占比
X_train,X_test,y_train,y_test=train_test_split(exam_X,exam_y,train_size=0.8)
# s输出数据大小
print('原始数据特征',exam_X.shape, ',训练数据特征','X_train.shape', ',测试数据特征',X_test.shape)
print('原水数据标签',exam_y.shape, ',训练数据标签',y_train.shape,',测试数据标签', y_test.shape)
plt.scatter(X_train, y_train, color='b', label='train data')
plt.scatter(X_test, y_test, color='red', label='test data')
# 添加图标标签
plt.legend(loc=2)
plt.xlabel('Hours')
plt.ylabel('Score')
plt.show()
总结: 使用train_test_split()函数需要 import sklearn.model_selection
- 第一个参数是训练数据
构建无监督学习数据模型
2. 准备raw data数据集,可以使用数据可视化直观的剔除噪音数据
3. raw data 分配train data 和 test data, 一般 test data 只要20%足已
4. 使用train data 建立数据特征model, plt scatter()
5. 使用test data 来检验model的精度,可以用使用score() mean()来计算精度