东方耀AI技术分享

标题: 10、scikit-learn机器学习框架的安装与环境搭建_笔记 [打印本页]

作者: 东方耀    时间: 2018-3-29 19:33
标题: 10、scikit-learn机器学习框架的安装与环境搭建_笔记


10、scikit-learn机器学习框架的安装与环境搭建_笔记

Anaconda的使用:http://www.ai111.vip/thread-188-1-1.html

原始数据来源(个人家庭用电数据集):http://archive.ics.uci.edu/ml/da ... c+power+consumption




  1. # 线性回归的类
  2. from sklearn.linear_model import LinearRegression
  3. # 原始数据= 训练数据 + 测试数据  数据划分的类
  4. from sklearn.model_selection import train_test_split
  5. # 数据标准化
  6. from sklearn.preprocessing import StandardScaler

  7. import numpy as np
  8. import pandas as pd
  9. import matplotlib as mpl
  10. import matplotlib.pyplot as plt
  11. from pandas import DataFrame
  12. import time

  13. ## 设置字符集,防止中文乱码
  14. mpl.rcParams['font.family'] = 'sans-serif'
  15. mpl.rcParams['font.sans-serif'] = 'SimHei'
  16. mpl.rcParams['axes.unicode_minus'] = False

  17. # 加载数据
  18. # 日期、时间、有功功率、无功功率、电压、电流、厨房用电功率、洗衣服用电功率、热水器用电功率
  19. path1 = 'datas/household_power_consumption_1000.txt'
  20. df = pd.read_csv(path1, sep=';', low_memory=False)
  21. # 没有混合类型的时候可以通过low_memory=False调用更多内存,加快效率)

  22. # print(df.head(2))
  23. # print(df.index)
  24. print(df.columns)

  25. # 查看数据结构
  26. # print(df.info())

  27. # 异常数据处理(异常数据过滤)
  28. # 替换非法字符为np.nan
  29. new_df = df.replace('?', np.nan)
  30. # 只要有一个数据为空,就进行行删除操作
  31. datas = new_df.dropna(axis=0, how='any')
  32. # 观察数据的多种统计指标(只能看数值型的 本来9个的变7个了)
  33. # print(datas.describe().T)


  34. # 需求:构建时间和功率之间的映射关系,可以认为:特征属性为时间;目标属性为功率值。
  35. # 获取x和y变量, 并将时间转换为数值型连续变量

  36. # 创建一个时间函数格式化字符串
  37. def date_format(dt):
  38.     # dt显示是一个Series
  39.     # print(dt.index)
  40.     # print(dt)
  41.     t = time.strptime(' '.join(dt), '%d/%m/%Y %H:%M:%S')
  42.     return (t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)

  43. X = datas.iloc[:, 0:2]
  44. # print(X)
  45. X = X.apply(lambda x: pd.Series(date_format(x)), axis=1)
  46. Y = datas['Global_active_power']
  47. print(Y.head(4))
  48. print(X.head(4))
  49. print(type(X))
  50. print(type(Y))


  51. # 对数据集进行测试集、训练集划分
  52. # X:特征矩阵(类型一般是DataFrame)
  53. # Y:特征对应的Label标签或目标属性(类型一般是Series)
复制代码




作者: mghncepu    时间: 2019-11-5 07:33
这个非常好
作者: fglbee    时间: 2019-12-22 20:52
this is good idea
作者: tn4458726    时间: 2020-2-25 12:03
从头开始学习学习ing
作者: 智能abc    时间: 2020-3-2 14:19
强啊。大佬。6666
作者: 谢文    时间: 2020-3-7 21:40
6666666666666
作者: 谢文    时间: 2020-3-7 21:41
以后就跟着大佬一起学习了
作者: liu    时间: 2020-3-16 15:53
那个scikit learn怎么搭建的,还是不太懂
作者: 口果微笑    时间: 2020-3-17 12:37
66666666666
作者: 小好    时间: 2020-4-12 14:06
sklearn确实简单,但是从新手开始最好把源代码敲一遍,之后再用sklearn

作者: 万物皆虚    时间: 2020-5-22 10:33

从头开始学习学习ing
作者: 万物皆虚    时间: 2020-5-22 10:34

从头开始学习学习ing
作者: 万物皆虚    时间: 2020-5-22 10:39

从头开始学习学习ing
作者: 万物皆虚    时间: 2020-5-22 10:41

sklearn确实简单,但是从新手开始最好把源代码敲一遍,之后再用sklearn
作者: 万物皆虚    时间: 2020-5-22 10:41

sklearn确实简单,但是从新手开始最好把源代码敲一遍,之后再用sklearn
作者: 万物皆虚    时间: 2020-5-22 10:42

sklearn确实简单,但是从新手开始最好把源代码敲一遍,之后再用sklearn
作者: tangyuan    时间: 2020-8-12 09:30

sklearn的确是好工具包,很好上手
作者: tangyuan    时间: 2020-8-12 14:11

学习了666666666
作者: tangyuan    时间: 2020-8-12 15:32

学习了666666666
作者: tangyuan    时间: 2020-8-12 16:05

学习了666666666
作者: kenji1982    时间: 2020-10-19 20:49
66666666666666
作者: 小别离    时间: 2021-1-10 21:49
下载不了数据啊

作者: happy    时间: 2021-6-11 15:51
sklearn确实简单,但是从新手开始最好把源代码敲一遍,之后再用sklearn
作者: 小五98    时间: 2021-6-17 19:22
这个数据集很棒
作者: 破天一件    时间: 2021-7-13 09:45
666666666666666
作者: 破天一件    时间: 2021-7-14 09:35

6666666666666666666
作者: nnn    时间: 2022-11-23 11:29
nice,讲的很好,收益匪浅
作者: yanxi    时间: 7 天前
感谢大佬




欢迎光临 东方耀AI技术分享 (http://www.ai111.vip/) Powered by Discuz! X3.4