<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python機(jī)器學(xué)習(xí)01 - Sklearn

      image

      image

       機(jī)器學(xué)習(xí)獲取數(shù)據(jù)集,訓(xùn)練模型,預(yù)測模型,評估模型 示例代碼

      from sklearn.datasets import load_iris
      from sklearn.model_selection import train_test_split
      from sklearn.neighbors import KNeighborsClassifier
      from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
      import pandas as pd
      
      # 加載Iris數(shù)據(jù)集
      iris = load_iris()
      
      # 查看數(shù)據(jù)集的基本信息
      print("數(shù)據(jù)集特征名稱:")
      print(iris.feature_names)
      print("\n數(shù)據(jù)集目標(biāo)名稱:")
      print(iris.target_names)
      print("\n數(shù)據(jù)集形狀:")
      print(iris.data.shape)
      print("\n目標(biāo)值形狀:")
      print(iris.target.shape)
      
      # 將數(shù)據(jù)轉(zhuǎn)換為DataFrame格式以便更好地查看
      iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
      iris_df['target'] = iris.target
      
      # 顯示前5行數(shù)據(jù)
      print("\n數(shù)據(jù)集前5行:")
      print(iris_df.head())
      
      # 顯示數(shù)據(jù)集的基本統(tǒng)計信息
      print("\n數(shù)據(jù)集統(tǒng)計信息:")
      print(iris_df.describe())
      
      # 顯示各類別樣本數(shù)量
      print("\n各類別樣本數(shù)量:")
      target_counts = iris_df['target'].value_counts().sort_index()
      for i, count in enumerate(target_counts):
          print(f"{iris.target_names[i]}: {count} 個樣本")
      
      # 顯示數(shù)據(jù)集的一些額外信息
      print("\n數(shù)據(jù)集描述:")
      print(iris.DESCR[:500] + "...")
      
      # ==================== 新增:數(shù)據(jù)集分類示例 ====================
      print("\n" + "=" * 50)
      print("數(shù)據(jù)集分類示例")
      print("=" * 50)
      
      # 1. 分割數(shù)據(jù)集為訓(xùn)練集和測試集
      X_train, X_test, y_train, y_test = train_test_split(
          iris.data, iris.target, test_size=0.3, random_state=42, stratify=iris.target
      )
      
      print(f"訓(xùn)練集大小: {X_train.shape[0]}")
      print(f"測試集大小: {X_test.shape[0]}")
      
      # 2. 創(chuàng)建KNN分類器
      knn_classifier = KNeighborsClassifier(n_neighbors=3)
      
      # 3. 訓(xùn)練模型
      knn_classifier.fit(X_train, y_train)
      
      # 4. 進(jìn)行預(yù)測
      y_pred = knn_classifier.predict(X_test)
      
      # 5. 評估模型性能
      accuracy = accuracy_score(y_test, y_pred)
      print(f"\n模型準(zhǔn)確率: {accuracy:.4f}")
      
      # 6. 詳細(xì)的分類報告
      print("\n分類報告:")
      print(classification_report(y_test, y_pred, target_names=iris.target_names))
      
      # 7. 混淆矩陣
      print("\n混淆矩陣:")
      print(confusion_matrix(y_test, y_pred))
      
      # 8. 預(yù)測新樣本示例
      print("\n新樣本預(yù)測示例:")
      # 創(chuàng)建一個新樣本(花瓣和花萼的測量值)
      new_sample = [[5.1, 3.5, 1.4, 0.2]]
      prediction = knn_classifier.predict(new_sample)
      predicted_class = iris.target_names[prediction[0]]
      print(f"新樣本 {new_sample[0]} 預(yù)測類別: {predicted_class}")

       

      機(jī)器學(xué)習(xí)基礎(chǔ)知識示例代碼

      from sklearn.datasets import load_iris
      from sklearn.model_selection import train_test_split
      from sklearn.feature_extraction import DictVectorizer
      from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
      from sklearn.preprocessing import MinMaxScaler, StandardScaler
      from sklearn.feature_selection import VarianceThreshold
      from sklearn.decomposition import PCA
      from scipy.stats import pearsonr
      import jieba
      import pandas as pd
      
      
      def datasets_demo():
          """
          sklearn數(shù)據(jù)集使用
          :return:
          """
          # 獲取數(shù)據(jù)集
          iris = load_iris()
          print("鳶尾花數(shù)據(jù)集:\n", iris)
          print("查看數(shù)據(jù)集描述:\n", iris["DESCR"])
          print("查看特征值的名字:\n", iris.feature_names)
          print("查看特征值:\n", iris.data, iris.data.shape)
      
          # 數(shù)據(jù)集劃分
          x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
          print("訓(xùn)練集的特征值:\n", x_train, x_train.shape)
      
          return None
      
      
      def dict_demo():
          """
          字典特征抽取
          :return:
          """
          data = [{'city': '北京','temperature':100}, {'city': '上海','temperature':60}, {'city': '深圳','temperature':30}]
          # 1、實(shí)例化一個轉(zhuǎn)換器類
          transfer = DictVectorizer(sparse=True)
      
          # 2、調(diào)用fit_transform()
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new.toarray(), type(data_new))
          print("特征名字:\n", transfer.get_feature_names())
      
          return None
      
      
      def count_demo():
          """
          文本特征抽取:CountVecotrizer
          :return:
          """
          data = ["life is short,i like like python", "life is too long,i dislike python"]
          # 1、實(shí)例化一個轉(zhuǎn)換器類
          transfer = CountVectorizer(stop_words=["is", "too"])
      
          # 2、調(diào)用fit_transform
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new.toarray())
          print("特征名字:\n", transfer.get_feature_names())
      
          return None
      
      def count_chinese_demo():
          """
          中文文本特征抽取:CountVecotrizer
          :return:
          """
          data = ["我 愛 北京 天安門", "天安門 上 太陽 升"]
          # 1、實(shí)例化一個轉(zhuǎn)換器類
          transfer = CountVectorizer()
      
          # 2、調(diào)用fit_transform
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new.toarray())
          print("特征名字:\n", transfer.get_feature_names())
      
          return None
      
      
      def cut_word(text):
          """
          進(jìn)行中文分詞:"我愛北京天安門" --> "我 愛 北京 天安門"
          :param text:
          :return:
          """
          return " ".join(list(jieba.cut(text)))
      
      
      def count_chinese_demo2():
          """
          中文文本特征抽取,自動分詞
          :return:
          """
          # 將中文文本進(jìn)行分詞
          data = ["一種還是一種今天很殘酷,明天更殘酷,后天很美好,但絕對大部分是死在明天晚上,所以每個人不要放棄今天。",
                  "我們看到的從很遠(yuǎn)星系來的光是在幾百萬年之前發(fā)出的,這樣當(dāng)我們看到宇宙時,我們是在看它的過去。",
                  "如果只用一種方式了解某樣事物,你就不會真正了解它。了解事物真正含義的秘密取決于如何將其與我們所了解的事物相聯(lián)系。"]
      
          data_new = []
          for sent in data:
              data_new.append(cut_word(sent))
          # print(data_new)
          # 1、實(shí)例化一個轉(zhuǎn)換器類
          transfer = CountVectorizer(stop_words=["一種", "所以"])
      
          # 2、調(diào)用fit_transform
          data_final = transfer.fit_transform(data_new)
          print("data_new:\n", data_final.toarray())
          print("特征名字:\n", transfer.get_feature_names())
      
          return None
      
      def tfidf_demo():
          """
          用TF-IDF的方法進(jìn)行文本特征抽取
          :return:
          """
          # 將中文文本進(jìn)行分詞
          data = ["一種還是一種今天很殘酷,明天更殘酷,后天很美好,但絕對大部分是死在明天晚上,所以每個人不要放棄今天。",
                  "我們看到的從很遠(yuǎn)星系來的光是在幾百萬年之前發(fā)出的,這樣當(dāng)我們看到宇宙時,我們是在看它的過去。",
                  "如果只用一種方式了解某樣事物,你就不會真正了解它。了解事物真正含義的秘密取決于如何將其與我們所了解的事物相聯(lián)系。"]
      
          data_new = []
          for sent in data:
              data_new.append(cut_word(sent))
          # print(data_new)
          # 1、實(shí)例化一個轉(zhuǎn)換器類
          transfer = TfidfVectorizer(stop_words=["一種", "所以"])
      
          # 2、調(diào)用fit_transform
          data_final = transfer.fit_transform(data_new)
          print("data_new:\n", data_final.toarray())
          print("特征名字:\n", transfer.get_feature_names())
      
          return None
      
      def minmax_demo():
          """
          歸一化
          :return:
          """
          # 1、獲取數(shù)據(jù)
          data = pd.read_csv("dating.txt")
          data = data.iloc[:, :3]
          print("data:\n", data)
      
          # 2、實(shí)例化一個轉(zhuǎn)換器類
          transfer = MinMaxScaler(feature_range=[2, 3])
      
          # 3、調(diào)用fit_transform
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new)
      
          return None
      
      
      def stand_demo():
          """
          標(biāo)準(zhǔn)化
          :return:
          """
          # 1、獲取數(shù)據(jù)
          data = pd.read_csv("dating.txt")
          data = data.iloc[:, :3]
          print("data:\n", data)
      
          # 2、實(shí)例化一個轉(zhuǎn)換器類
          transfer = StandardScaler()
      
          # 3、調(diào)用fit_transform
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new)
          return None
      
      def variance_demo():
          """
          過濾低方差特征
          :return:
          """
          # 1、獲取數(shù)據(jù)
          data = pd.read_csv("factor_returns.csv")
          data = data.iloc[:, 1:-2]
          print("data:\n", data)
      
          # 2、實(shí)例化一個轉(zhuǎn)換器類
          transfer = VarianceThreshold(threshold=10)
      
          # 3、調(diào)用fit_transform
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new, data_new.shape)
      
          # 計算某兩個變量之間的相關(guān)系數(shù)
          r1 = pearsonr(data["pe_ratio"], data["pb_ratio"])
          print("相關(guān)系數(shù):\n", r1)
          r2 = pearsonr(data['revenue'], data['total_expense'])
          print("revenue與total_expense之間的相關(guān)性:\n", r2)
      
          return None
      
      
      def pca_demo():
          """
          PCA降維
          :return:
          """
          data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]
      
          # 1、實(shí)例化一個轉(zhuǎn)換器類
          transfer = PCA(n_components=0.95)
      
          # 2、調(diào)用fit_transform
          data_new = transfer.fit_transform(data)
          print("data_new:\n", data_new)
          return None
      
      if __name__ == "__main__":
          # 代碼1:sklearn數(shù)據(jù)集使用
          # datasets_demo()
          # 代碼2:字典特征抽取
          # dict_demo()
          # 代碼3:文本特征抽取:CountVecotrizer
          # count_demo()
          # 代碼4:中文文本特征抽取:CountVecotrizer
          # count_chinese_demo()
          # 代碼5:中文文本特征抽取,自動分詞
          # count_chinese_demo2()
          # 代碼6:中文分詞
          # print(cut_word("我愛北京天安門"))
          # 代碼7:用TF-IDF的方法進(jìn)行文本特征抽取
          # tfidf_demo()
          # 代碼8:歸一化
          # minmax_demo()
          # 代碼9:標(biāo)準(zhǔn)化
          # stand_demo()
          # 代碼10:低方差特征過濾
          # variance_demo()
          # 代碼11:PCA降維
          pca_demo()

      機(jī)器學(xué)習(xí)視頻紀(jì)要

      人工智能階段
          機(jī)器學(xué)習(xí) 三天
          深度學(xué)習(xí) 三天
          量化交易 四天
      
      傳統(tǒng)的機(jī)器學(xué)習(xí)算法
          機(jī)器學(xué)習(xí)概述、特征工程 1天
          分類算法             1天
          回歸算法、聚類        1天
      
      機(jī)器學(xué)習(xí)概述
          1.1 人工智能概述
              機(jī)器學(xué)習(xí)是人工智能的一個實(shí)現(xiàn)途徑
              深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個方法發(fā)展而來
              1.1.2 機(jī)器學(xué)習(xí)、深度學(xué)習(xí)能做些什么
                  傳統(tǒng)預(yù)測
                  圖像識別
                  自然語言處理
          1.2 什么是機(jī)器學(xué)習(xí)
              數(shù)據(jù)
              模型
              預(yù)測
              從歷史數(shù)據(jù)當(dāng)中獲得規(guī)律?這些歷史數(shù)據(jù)是怎么的格式?
              1.2.3 數(shù)據(jù)集構(gòu)成
                  特征值 + 目標(biāo)值
          1.3 機(jī)器學(xué)習(xí)算法分類
              監(jiān)督學(xué)習(xí)
                  目標(biāo)值:類別 - 分類問題
                      k-近鄰算法、貝葉斯分類、決策樹與隨機(jī)森林、邏輯回歸
                  目標(biāo)值:連續(xù)型的數(shù)據(jù) - 回歸問題
                      線性回歸、嶺回歸
              目標(biāo)值:無 - 無監(jiān)督學(xué)習(xí)
                  聚類 k-means
              1、預(yù)測明天的氣溫是多少度? 回歸
              2、預(yù)測明天是陰、晴還是雨? 分類
              3、人臉年齡預(yù)測? 回歸/分類
              4、人臉識別? 分類
          1.4 機(jī)器學(xué)習(xí)開發(fā)流程
              1)獲取數(shù)據(jù)
              2)數(shù)據(jù)處理
              3)特征工程
              4)機(jī)器學(xué)習(xí)算法訓(xùn)練 - 模型
              5)模型評估
              6)應(yīng)用
          1.5 學(xué)習(xí)框架和資料介紹
              1)算法是核心,數(shù)據(jù)與計算是基礎(chǔ)
              2)找準(zhǔn)定位
              3)怎么做?
                  1、入門
                  2、實(shí)戰(zhàn)類書籍
                  3、機(jī)器學(xué)習(xí) -”西瓜書”- 周志華
                     統(tǒng)計學(xué)習(xí)方法 - 李航
                     深度學(xué)習(xí) - “花書”
              4)1.5.1 機(jī)器學(xué)習(xí)庫與框架
      
      特征工程
          2.1 數(shù)據(jù)集
              2.1.1 可用數(shù)據(jù)集
                  公司內(nèi)部 百度
                  數(shù)據(jù)接口 花錢
                  數(shù)據(jù)集
                  學(xué)習(xí)階段可以用的數(shù)據(jù)集:
                      1)sklearn
                      2)kaggle
                      3)UCI
                  1 Scikit-learn工具介紹
              2.1.2 sklearn數(shù)據(jù)集
                  sklearn.datasets
                      load_*  獲取小規(guī)模數(shù)據(jù)集
                      fetch_* 獲取大規(guī)模數(shù)據(jù)集
                      2 sklearn小數(shù)據(jù)集
                          sklearn.datasets.load_iris()
                      3 sklearn大數(shù)據(jù)集
                          sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
                      4 數(shù)據(jù)集的返回值
                          datasets.base.Bunch(繼承自字典)
                              dict["key"] = values
                              bunch.key = values
                      思考:拿到的數(shù)據(jù)是否全部都用來訓(xùn)練一個模型?
              2.1.3 數(shù)據(jù)集的劃分
                  訓(xùn)練數(shù)據(jù):用于訓(xùn)練,構(gòu)建模型
                  測試數(shù)據(jù):在模型檢驗(yàn)時使用,用于評估模型是否有效
                      測試集 20%~30%
                      sklearn.model_selection.train_test_split(arrays, *options)
                      訓(xùn)練集特征值,測試集特征值,訓(xùn)練集目標(biāo)值,測試集目標(biāo)值
                      x_train, x_test, y_train, y_test
          2.2 特征工程介紹
              算法 特征工程
              2.2.1 為什么需要特征工程(Feature Engineering)
              2.2.2 什么是特征工程
                  sklearn 特征工程
                  pandas 數(shù)據(jù)清洗、數(shù)據(jù)處理
                      特征抽取/特征提取
                          機(jī)器學(xué)習(xí)算法 - 統(tǒng)計方法 - 數(shù)學(xué)公式
                              文本類型 -》 數(shù)值
                              類型 -》 數(shù)值
                          2.3.1 特征提取
                              sklearn.feature_extraction
                          2.3.2 字典特征提取 - 類別 -> one-hot編碼
                              sklearn.feature_extraction.DictVectorizer(sparse=True,…)
                              vector 數(shù)學(xué):向量 物理:矢量
                                  矩陣 matrix 二維數(shù)組
                                  向量 vector 一維數(shù)組
                              父類:轉(zhuǎn)換器類
                              返回sparse矩陣
                                  sparse稀疏
                                      將非零值 按位置表示出來
                                      節(jié)省內(nèi)存 - 提高加載效率
                              應(yīng)用場景:
                                  1)pclass, sex 數(shù)據(jù)集當(dāng)中類別特征比較多
                                      1、將數(shù)據(jù)集的特征-》字典類型
                                      2、DictVectorizer轉(zhuǎn)換
                                  2)本身拿到的數(shù)據(jù)就是字典類型
                           2.3.3 文本特征提取
                              單詞 作為 特征
                              句子、短語、單詞、字母
                              特征:特征詞
                              方法1:CountVectorizer
                                  統(tǒng)計每個樣本特征詞出現(xiàn)的個數(shù)
                                  stop_words停用的
                                  停用詞表
                              關(guān)鍵詞:在某一個類別的文章中,出現(xiàn)的次數(shù)很多,但是在其他類別的文章當(dāng)中出現(xiàn)很少
                              方法2:TfidfVectorizer
                                  TF-IDF - 重要程度
                                  兩個詞 “經(jīng)濟(jì)”,“非常”
                                  1000篇文章-語料庫
                                  100篇文章 - "非常"
                                  10篇文章 - “經(jīng)濟(jì)”
                                  兩篇文章
                                  文章A(100詞) : 10次“經(jīng)濟(jì)” TF-IDF:0.2
                                      tf:10/100 = 0.1
                                      idf:lg 1000/10 = 2
                                  文章B(100詞) : 10次“非常” TF-IDF:0.1
                                      tf:10/100 = 0.1
                                      idf: log 10 1000/100 = 1
                                      對數(shù)?
                                          2 ^ 3 = 8
                                          log 2 8 = 3
                                          log 10 10 = 1
                                  TF - 詞頻(term frequency,tf)
                                  IDF - 逆向文檔頻率
      
                      特征預(yù)處理
                          2.4.1 什么是特征預(yù)處理
                          為什么我們要進(jìn)行歸一化/標(biāo)準(zhǔn)化?
                              無量綱化
                              2.4.2 歸一化
                                  異常值:最大值、最小值
                              2.4.3 標(biāo)準(zhǔn)化
                                  (x - mean) / std
                                  標(biāo)準(zhǔn)差:集中程度
                                  應(yīng)用場景:
                                  在已有樣本足夠多的情況下比較穩(wěn)定,適合現(xiàn)代嘈雜大數(shù)據(jù)場景。
      
                      特征降維
                          2.5.1 降維 - 降低維度
                              ndarray
                                  維數(shù):嵌套的層數(shù)
                                  0維 標(biāo)量
                                  1維 向量
                                  2維 矩陣
                              二維數(shù)組
                                  此處的降維:
                                  降低特征的個數(shù)
                                  效果:
                                  特征與特征之間不相關(guān)
                          2.5.1 降維
                              特征選擇
                                  Filter過濾式
                                      方差選擇法:低方差特征過濾
                                      相關(guān)系數(shù) - 特征與特征之間的相關(guān)程度
                                          取值范圍:–1≤ r ≤+1
                                          皮爾遜相關(guān)系數(shù)
                                          0.9942
                                          特征與特征之間相關(guān)性很高:
                                              1)選取其中一個
                                              2)加權(quán)求和
                                              3)主成分分析
                                  Embeded嵌入式
                                      決策樹 第二天
                                      正則化 第三天
                                      深度學(xué)習(xí) 第五天
                              主成分分析
                                  2.6.1 什么是主成分分析(PCA)
                                      sklearn.decomposition.PCA(n_components=None)
                                      n_components
                                          小數(shù) 表示保留百分之多少的信息
                                          整數(shù) 減少到多少特征
                                  2.6.2 案例:探究用戶對物品類別的喜好細(xì)分
                                      用戶          物品類別
                                      user_id         aisle
                                      1)需要將user_id和aisle放在同一個表中 - 合并
                                      2)找到user_id和aisle - 交叉表和透視表
                                      3)特征冗余過多 -> PCA降維

       

      posted @ 2025-10-23 14:52  三葉草╮  閱讀(6)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 四虎成人精品国产永久免费| 日韩av中文字幕有码| 国产高潮又爽又刺激的视频| 麻豆一区二区三区精品视频| 国产三级精品三级在专区| 亚洲一区二区精品偷拍| 国产太嫩了在线观看| 国产一卡2卡3卡4卡网站精品| 婷婷久久综合九色综合88| 久人人爽人人爽人人片av| 在线看国产精品三级在线| 欧美在线精品一区二区三区| 久久婷婷五月综合97色直播| 老熟妇欲乱一区二区三区| 亚洲国产精品综合久久20| 久久ww精品w免费人成| 国产成人精品无码专区| 亚洲五月天一区二区三区| 亚洲精品一区国产精品| 午夜AAAAA级岛国福利在线 | 亚洲精品日韩精品久久| 在线免费观看视频1区| 亚洲av无码成人精品区一区| 久久久久久久久久久久中文字幕| 亚洲精品久久久久久婷婷| 大英县| 日本边添边摸边做边爱喷水| 精品一区二区亚洲国产| 漂亮人妻被中出中文字幕| 日韩免费码中文在线观看| 九九在线精品国产| 国产欧美国日产高清| 国产午夜福利不卡在线观看| 色窝窝免费播放视频在线| 精品乱码一区二区三四区视频 | 好紧好湿好黄的视频| 色噜噜亚洲男人的天堂| 久99久热这里只有精品| 久久一区二区中文字幕| 丁香色婷婷国产精品视频| 久久精品国产99麻豆蜜月|